From 6ba7ee6b2e25f52d6f63c08e22f90a3990fc28e1 Mon Sep 17 00:00:00 2001 From: Melanie Date: Mon, 4 Oct 2010 00:44:27 +0100 Subject: [PATCH] Update libOMV --- bin/OpenMetaverse.StructuredData.XML | 496 +- bin/OpenMetaverse.StructuredData.dll | Bin 95232 -> 102400 bytes bin/OpenMetaverse.XML | 44252 ++++++++++++------------- bin/OpenMetaverse.dll | Bin 1768960 -> 1712128 bytes bin/OpenMetaverse.dll.config | 14 +- bin/OpenMetaverseTypes.XML | 3277 +- bin/OpenMetaverseTypes.dll | Bin 105984 -> 114688 bytes 7 files changed, 23583 insertions(+), 24456 deletions(-) diff --git a/bin/OpenMetaverse.StructuredData.XML b/bin/OpenMetaverse.StructuredData.XML index 927e960280..a8e314f634 100644 --- a/bin/OpenMetaverse.StructuredData.XML +++ b/bin/OpenMetaverse.StructuredData.XML @@ -1,63 +1,263 @@ - /home/root/libopenmetaverse/bin/OpenMetaverse.StructuredData + OpenMetaverse.StructuredData + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + + + @@ -81,283 +281,53 @@ + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/bin/OpenMetaverse.StructuredData.dll b/bin/OpenMetaverse.StructuredData.dll index 27ccfbcdd9994fa9b5b428c4bbb991d0e2570232..45a72ecc9929c2d34643ca55ed39cda44596fc12 100644 GIT binary patch literal 102400 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 literal 95232 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 RRfA_k#s2^Q{jZb2{{!N=oT2~# diff --git a/bin/OpenMetaverse.XML b/bin/OpenMetaverse.XML index fa1057a944..639bc20a93 100644 --- a/bin/OpenMetaverse.XML +++ b/bin/OpenMetaverse.XML @@ -1,9 +1,9091 @@ - /home/root/libopenmetaverse/bin/OpenMetaverse + OpenMetaverse + + + Represents an LSL Text object containing a string of UTF encoded characters + + + + + Base class for all Asset types + + + + A byte array containing the raw asset data + + + True if the asset it only stored on the server temporarily + + + A unique ID + + + + Construct a new Asset object + + + + + Construct a new Asset object + + A unique specific to this asset + A byte array containing the raw asset data + + + + Regenerates the AssetData byte array from the properties + of the derived class. + + + + + Decodes the AssetData, placing it in appropriate properties of the derived + class. + + True if the asset decoding succeeded, otherwise false + + + The assets unique ID + + + + The "type" of asset, Notecard, Animation, etc + + + + A string of characters represting the script contents + + + Initializes a new AssetScriptText object + + + + Initializes a new AssetScriptText object with parameters + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode a string containing the scripts contents into byte encoded AssetData + + + + + Decode a byte array containing the scripts contents into a string + + true if decoding is successful + + + Override the base classes AssetType + + + + + + + + The event subscribers, null of no subscribers + + + Raises the AttachedSound Event + A AttachedSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AttachedSoundGainChange Event + A AttachedSoundGainChangeEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SoundTrigger Event + A SoundTriggerEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PreloadSound Event + A PreloadSoundEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Construct a new instance of the SoundManager class, used for playing and receiving + sound assets + + A reference to the current GridClient instance + + + + Plays a sound in the current region at full volume from avatar position + + UUID of the sound to be played + + + + Plays a sound in the current region at full volume + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + + + + Plays a sound in the current region + + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Plays a sound in the specified sim + + UUID of the sound to be played. + UUID of the sound to be played. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + + Play a sound asset + + UUID of the sound to be played. + handle id for the sim to be played in. + position for the sound to be played at. Normally the avatar. + volume of the sound, from 0.0 to 1.0 + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + sound + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Provides data for the event + The event occurs when the simulator sends + the sound data which emits from an agents attachment + + The following code example shows the process to subscribe to the event + and a stub to handle the data passed from the simulator + + // Subscribe to the AttachedSound event + Client.Sound.AttachedSound += Sound_AttachedSound; + + // process the data raised in the event here + private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) + { + // ... Process AttachedSoundEventArgs here ... + } + + + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The volume level + The + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the volume level + + + Get the + + + Provides data for the event + The event occurs when an attached sound + changes its volume level + + + + Construct a new instance of the AttachedSoundGainChangedEventArgs class + + Simulator where the event originated + The ID of the Object + The new volume level + + + Simulator where the event originated + + + Get the ID of the Object + + + Get the volume level + + + Provides data for the event + The event occurs when the simulator forwards + a request made by yourself or another agent to play either an asset sound or a built in sound + + Requests to play sounds where the is not one of the built-in + will require sending a request to download the sound asset before it can be played + + + The following code example uses the , + and + properties to display some information on a sound request on the window. + + // subscribe to the event + Client.Sound.SoundTrigger += Sound_SoundTrigger; + + // play the pre-defined BELL_TING sound + Client.Sound.SendSoundTrigger(Sounds.BELL_TING); + + // handle the response data + private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) + { + Console.WriteLine("{0} played the sound {1} at volume {2}", + e.OwnerID, e.SoundID, e.Gain); + } + + + + + + Construct a new instance of the SoundTriggerEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + The ID of the objects parent + The volume level + The regionhandle + The source position + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Get the ID of the objects parent + + + Get the volume level + + + Get the regionhandle + + + Get the source position + + + Provides data for the event + The event occurs when the simulator sends + the appearance data for an avatar + + The following code example uses the and + properties to display the selected shape of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + + + + + Construct a new instance of the PreloadSoundEventArgs class + + Simulator where the event originated + The sound asset id + The ID of the owner + The ID of the object + + + Simulator where the event originated + + + Get the sound asset id + + + Get the ID of the owner + + + Get the ID of the Object + + + Sort by name + + + Sort by date + + + Sort folders by name, regardless of whether items are + sorted by name or date + + + Place system folders at the top + + + + Possible destinations for DeRezObject request + + + + + + + Copy from in-world to agent inventory + + + Derez to TaskInventory + + + + + + Take Object + + + + + + Delete Object + + + Put an avatar attachment into agent inventory + + + + + + Return an object back to the owner's inventory + + + Return a deeded object back to the last owner's inventory + + + + Upper half of the Flags field for inventory items + + + + Indicates that the NextOwner permission will be set to the + most restrictive set of permissions found in the object set + (including linkset items and object inventory items) on next rez + + + Indicates that the object sale information has been + changed + + + If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez + + + If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez + + + Indicates whether this object is composed of multiple + items or not + + + Indicates that the asset is only referenced by this + inventory item. If this item is deleted or updated to reference a + new assetID, the asset can be deleted + + + + Base Class for Inventory Items + + + + of item/folder + + + of parent folder + + + Name of item/folder + + + Item/Folder Owners + + + + Constructor, takes an itemID as a parameter + + The of the item + + + + + + + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table, + suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryBase fields + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + InventoryBase object to compare against + true if objects are the same + + + + An Item in Inventory + + + + The of this item + + + The combined of this item + + + The type of item from + + + The type of item from the enum + + + The of the creator of this item + + + A Description of this item + + + The s this item is set to or owned by + + + If true, item is owned by a group + + + The price this item can be purchased for + + + The type of sale from the enum + + + Combined flags from + + + Time and date this inventory item was created, stored as + UTC (Coordinated Universal Time) + + + Used to update the AssetID in requests sent to the server + + + The of the previous owner of the item + + + + Construct a new InventoryItem object + + The of the item + + + + Construct a new InventoryItem object of a specific Type + + The type of item from + of the item + + + + Indicates inventory item is a link + + True if inventory item is a link to another inventory item + + + + + + + + + + + + + + + + Generates a number corresponding to the value of the object to support the use of a hash table. + Suitable for use in hashing algorithms and data structures such as a hash table + + A Hashcode of all the combined InventoryItem fields + + + + Compares an object + + The object to compare + true if comparison object matches + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + Determine whether the specified object is equal to the current object + + The object to compare against + true if objects are the same + + + + InventoryTexture Class representing a graphical image + + + + + + Construct an InventoryTexture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryTexture object from a serialization stream + + + + + InventorySound Class representing a playable sound + + + + + Construct an InventorySound object + + A which becomes the + objects AssetUUID + + + + Construct an InventorySound object from a serialization stream + + + + + InventoryCallingCard Class, contains information on another avatar + + + + + Construct an InventoryCallingCard object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryCallingCard object from a serialization stream + + + + + InventoryLandmark Class, contains details on a specific location + + + + + Construct an InventoryLandmark object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryLandmark object from a serialization stream + + + + + Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited + + + + + InventoryObject Class contains details on a primitive or coalesced set of primitives + + + + + Construct an InventoryObject object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryObject object from a serialization stream + + + + + Gets or sets the upper byte of the Flags value + + + + + Gets or sets the object attachment point, the lower byte of the Flags value + + + + + InventoryNotecard Class, contains details on an encoded text document + + + + + Construct an InventoryNotecard object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryNotecard object from a serialization stream + + + + + InventoryCategory Class + + TODO: Is this even used for anything? + + + + Construct an InventoryCategory object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryCategory object from a serialization stream + + + + + InventoryLSL Class, represents a Linden Scripting Language object + + + + + Construct an InventoryLSL object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryLSL object from a serialization stream + + + + + InventorySnapshot Class, an image taken with the viewer + + + + + Construct an InventorySnapshot object + + A which becomes the + objects AssetUUID + + + + Construct an InventorySnapshot object from a serialization stream + + + + + InventoryAttachment Class, contains details on an attachable object + + + + + Construct an InventoryAttachment object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAttachment object from a serialization stream + + + + + Get the last AttachmentPoint this object was attached to + + + + + InventoryWearable Class, details on a clothing item or body part + + + + + Construct an InventoryWearable object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryWearable object from a serialization stream + + + + + The , Skin, Shape, Skirt, Etc + + + + + InventoryAnimation Class, A bvh encoded object which animates an avatar + + + + + Construct an InventoryAnimation object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryAnimation object from a serialization stream + + + + + InventoryGesture Class, details on a series of animations, sounds, and actions + + + + + Construct an InventoryGesture object + + A which becomes the + objects AssetUUID + + + + Construct an InventoryGesture object from a serialization stream + + + + + A folder contains s and has certain attributes specific + to itself + + + + The Preferred for a folder. + + + The Version of this folder + + + Number of child items this folder contains. + + + + Constructor + + UUID of the folder + + + + + + + + + + Get Serilization data for this InventoryFolder object + + + + + Construct an InventoryFolder object from a serialization stream + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tools for dealing with agents inventory + + + + Used for converting shadow_id to asset_id + + + The event subscribers, null of no subscribers + + + Raises the ItemReceived Event + A ItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FolderUpdated Event + A FolderUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the InventoryObjectOffered Event + A InventoryObjectOfferedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskItemReceived Event + A TaskItemReceivedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the FindObjectByPath Event + A FindObjectByPathEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the TaskInventoryReply Event + A TaskInventoryReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SaveAssetToInventory Event + A SaveAssetToInventoryEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ScriptRunningReply Event + A ScriptRunningReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Partial mapping of AssetTypes to folder names + + + + Default constructor + + Reference to the GridClient object + + + + Fetch an inventory item from the dataserver + + The items + The item Owners + a integer representing the number of milliseconds to wait for results + An object on success, or null if no item was found + Items will also be sent to the event + + + + Request A single inventory item + + The items + The item Owners + + + + + Request inventory items + + Inventory items to request + Owners of the inventory items + + + + + Get contents of a folder + + The of the folder to search + The of the folders owner + true to retrieve folders + true to retrieve items + sort order to return results in + a integer representing the number of milliseconds to wait for results + A list of inventory items matching search criteria within folder + + InventoryFolder.DescendentCount will only be accurate if both folders and items are + requested + + + + Request the contents of an inventory folder + + The folder to search + The folder owners + true to return s contained in folder + true to return s containd in folder + the sort order to return items in + + + + + Returns the UUID of the folder (category) that defaults to + containing 'type'. The folder is not necessarily only for that + type + + This will return the root folder if one does not exist + + The UUID of the desired folder if found, the UUID of the RootFolder + if not found, or UUID.Zero on failure + + + + Find an object in inventory using a specific path to search + + The folder to begin the search in + The object owners + A string path to search + milliseconds to wait for a reply + Found items or if + timeout occurs or item is not found + + + + Find inventory items by path + + The folder to begin the search in + The object owners + A string path to search, folders/objects separated by a '/' + Results are sent to the event + + + + Search inventory Store object for an item or folder + + The folder to begin the search in + An array which creates a path to search + Number of levels below baseFolder to conduct searches + if True, will stop searching after first match is found + A list of inventory items found + + + + Move an inventory item or folder to a new location + + The item or folder to move + The to move item or folder to + + + + Move an inventory item or folder to a new location and change its name + + The item or folder to move + The to move item or folder to + The name to change the item or folder to + + + + Move and rename a folder + + The source folders + The destination folders + The name to change the folder to + + + + Update folder properties + + of the folder to update + Sets folder's parent to + Folder name + Folder type + + + + Move a folder + + The source folders + The destination folders + + + + Move multiple folders, the keys in the Dictionary parameter, + to a new parents, the value of that folder's key. + + A Dictionary containing the + of the source as the key, and the + of the destination as the value + + + + Move an inventory item to a new folder + + The of the source item to move + The of the destination folder + + + + Move and rename an inventory item + + The of the source item to move + The of the destination folder + The name to change the folder to + + + + Move multiple inventory items to new locations + + A Dictionary containing the + of the source item as the key, and the + of the destination folder as the value + + + + Remove descendants of a folder + + The of the folder + + + + Remove a single item from inventory + + The of the inventory item to remove + + + + Remove a folder from inventory + + The of the folder to remove + + + + Remove multiple items or folders from inventory + + A List containing the s of items to remove + A List containing the s of the folders to remove + + + + Empty the Lost and Found folder + + + + + Empty the Trash folder + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + + + + + + Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. + + + + + + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + The UUID of the newly created folder + + + + Creates a new inventory folder + + ID of the folder to put this folder in + Name of the folder to create + Sets this folder as the default folder + for new assets of the specified type. Use AssetType.Unknown + to create a normal folder, otherwise it will likely create a + duplicate of an existing folder type + The UUID of the newly created folder + If you specify a preferred type of AsseType.Folder + it will create a new root folder which may likely cause all sorts + of strange problems + + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Delegate that will receive feedback on success or failure + + + + Create an inventory item and upload asset data + + Asset data + Inventory item name + Inventory item description + Asset type + Inventory type + Put newly created inventory in this folder + Permission of the newly created item + (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) + Delegate that will receive feedback on success or failure + + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Inventory item or folder + Method to call upon creation of the link + + + + Creates inventory link to another inventory item + + Put newly created link in folder with this UUID + Original inventory item + Method to call upon creation of the link + + + + Creates inventory link to another inventory folder + + Put newly created link in folder with this UUID + Original inventory folder + Method to call upon creation of the link + + + + Creates inventory link to another inventory item or folder + + Put newly created link in folder with this UUID + Original item's UUID + Name + Description + Asset Type + Inventory Type + Transaction UUID + Method to call upon creation of the link + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request a copy of an asset embedded within a notecard + + Usually UUID.Zero for copying an asset from a notecard + UUID of the notecard to request an asset from + Target folder for asset to go to in your inventory + UUID of the embedded asset + callback to run when item is copied to inventory + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Save changes to notecard embedded in object contents + + Encoded notecard asset data + Notecard UUID + Object's UUID + Called upon finish of the upload with status information + + + + Upload new gesture asset for an inventory gesture item + + Encoded gesture asset + Gesture inventory UUID + Callback whick will be called when upload is complete + + + + Update an existing script in an agents Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + if true, sets the script content to run on the mono interpreter + + + + + Update an existing script in an task Inventory + + A byte[] array containing the encoded scripts contents + the itemID of the script + UUID of the prim containting the script + if true, sets the script content to run on the mono interpreter + if true, sets the script to running + + + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + + + + Rez an object from inventory + + Simulator to place object in + Rotation of the object when rezzed + Vector of where to place object + InventoryItem object containing item details + UUID of group to own the object + User defined queryID to correlate replies + If set to true, the CreateSelected flag + will be set on the rezzed object + + + + DeRez an object from the simulator to the agents Objects folder in the agents Inventory + + The simulator Local ID of the object + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + + + DeRez an object from the simulator and return to inventory + + The simulator Local ID of the object + The type of destination from the enum + The destination inventory folders -or- + if DeRezzing object to a tasks Inventory, the Tasks + The transaction ID for this request which + can be used to correlate this request with other packets + If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed + + + + Rez an item from inventory to its previous simulator location + + + + + + + + + Give an inventory item to another avatar + + The of the item to give + The name of the item + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer + + + + Give an inventory Folder with contents to another avatar + + The of the Folder to give + The name of the folder + The type of the item from the enum + The of the recipient + true to generate a beameffect during transfer + + + + Copy or move an from agent inventory to a task (primitive) inventory + + The target object + The item to copy or move from inventory + + For items with copy permissions a copy of the item is placed in the tasks inventory, + for no-copy items the object is moved to the tasks inventory + + + + Retrieve a listing of the items contained in a task (Primitive) + + The tasks + The tasks simulator local ID + milliseconds to wait for reply from simulator + A list containing the inventory items inside the task or null + if a timeout occurs + This request blocks until the response from the simulator arrives + or timeoutMS is exceeded + + + + Request the contents of a tasks (primitives) inventory from the + current simulator + + The LocalID of the object + + + + + Request the contents of a tasks (primitives) inventory + + The simulator Local ID of the object + A reference to the simulator object that contains the object + + + + + Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory + + LocalID of the object in the simulator + UUID of the task item to move + The ID of the destination folder in this agents inventory + Simulator Object + Raises the event + + + + Remove an item from an objects (Prim) Inventory + + LocalID of the object in the simulator + UUID of the task item to remove + Simulator Object + You can confirm the removal by comparing the tasks inventory serial before and after the + request with the request combined with + the event + + + + Copy an InventoryScript item from the Agents Inventory into a primitives task inventory + + An unsigned integer representing a primitive being simulated + An which represents a script object from the agents inventory + true to set the scripts running state to enabled + A Unique Transaction ID + + The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory + and assumes the script exists in the agents inventory. + + uint primID = 95899503; // Fake prim ID + UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory + + Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, + false, true, InventorySortOrder.ByName, 10000); + + Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); + + + + + + Request the running status of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + The event can be used to obtain the results of the + request + + + + + Send a request to set the running state of a script contained in a task (primitive) inventory + + The ID of the primitive containing the script + The ID of the script + true to set the script running, false to stop a running script + To verify the change you can use the method combined + with the event + + + + Create a CRC from an InventoryItem + + The source InventoryItem + A uint representing the source InventoryItem as a CRC + + + + Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id + + Obfuscated shadow_id value + Deobfuscated asset_id value + + + + Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id + + asset_id value to obfuscate + Obfuscated shadow_id value + + + + Wrapper for creating a new object + + The type of item from the enum + The of the newly created object + An object with the type and id passed + + + + Parse the results of a RequestTaskInventory() response + + A string which contains the data from the task reply + A List containing the items contained within the tasks inventory + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + UpdateCreateInventoryItem packets are received when a new inventory item + is created. This may occur when an object that's rezzed in world is + taken into inventory, when an item is created using the CreateInventoryItem + packet, or when an object is purchased + + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + an inventory object sent by another avatar or primitive + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + + Get this agents Inventory data + + + + + Callback for inventory item creation finishing + + Whether the request to create an inventory + item succeeded or not + Inventory item being created. If success is + false this will be null + + + + Callback for an inventory item being create from an uploaded asset + + true if inventory item creation was successful + + + + + + + + + + + + + Reply received when uploading an inventory asset + + Has upload been successful + Error message if upload failed + Inventory asset UUID + New asset UUID + + + + Delegate that is invoked when script upload is completed + + Has upload succeded (note, there still might be compile errors) + Upload status message + Is compilation successful + If compilation failed, list of error messages, null on compilation success + Script inventory UUID + Script's new asset UUID + + + Set to true to accept offer, false to decline it + + + The folder to accept the inventory into, if null default folder for will be used + + + + Callback when an inventory object is accepted and received from a + task inventory. This is the callback in which you actually get + the ItemID, as in ObjectOfferedCallback it is null when received + from a task. + + + + + Throttles the network traffic for various different traffic types. + Access this class through GridClient.Throttle + + + + + Default constructor, uses a default high total of 1500 KBps (1536000) + + + + + Constructor that decodes an existing AgentThrottle packet in to + individual values + + Reference to the throttle data in an AgentThrottle + packet + Offset position to start reading at in the + throttle data + This is generally not needed in clients as the server will + never send a throttle packet to the client + + + + Send an AgentThrottle packet to the current server using the + current values + + + + + Send an AgentThrottle packet to the specified server using the + current values + + + + + Convert the current throttle values to a byte array that can be put + in an AgentThrottle packet + + Byte array containing all the throttle values + + + Maximum bits per second for resending unacknowledged packets + + + Maximum bits per second for LayerData terrain + + + Maximum bits per second for LayerData wind data + + + Maximum bits per second for LayerData clouds + + + Unknown, includes object data + + + Maximum bits per second for textures + + + Maximum bits per second for downloaded assets + + + Maximum bits per second the entire connection, divided up + between invidiual streams using default multipliers + + + + Level of Detail mesh + + + + + Sent to the client to indicate a teleport request has completed + + + + + Interface requirements for Messaging system + + + + The of the agent + + + + + + The simulators handle the agent teleported to + + + A Uri which contains a list of Capabilities the simulator supports + + + Indicates the level of access required + to access the simulator, or the content rating, or the simulators + map status + + + The IP Address of the simulator + + + The UDP Port the simulator will listen for UDP traffic on + + + Status flags indicating the state of the Agent upon arrival, Flying, etc. + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent to the client which indicates a teleport request has failed + and contains some information on why it failed + + + + + + + A string key of the reason the teleport failed e.g. CouldntTPCloser + Which could be used to look up a value in a dictionary or enum + + + The of the Agent + + + A string human readable message containing the reason + An example: Could not teleport closer to destination + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Contains a list of prim owner information for a specific parcel in a simulator + + + A Simulator will always return at least 1 entry + If agent does not have proper permission the OwnerID will be UUID.Zero + If agent does not have proper permission OR there are no primitives on parcel + the DataBlocksExtended map will not be sent from the simulator + + + + An Array of objects + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Prim ownership information for a specified owner on a single parcel + + + + The of the prim owner, + UUID.Zero if agent has no permission to view prim owner information + + + The total number of prims + + + True if the OwnerID is a + + + True if the owner is online + This is no longer used by the LL Simulators + + + The date the most recent prim was rezzed + + + + The details of a single parcel in a region, also contains some regionwide globals + + + + Simulator-local ID of this parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Total parcel land area + + + + + + Key of authorized buyer + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + + + + Date land was claimed + + + Appears to always be zero + + + Parcel Description + + + + + + + + + Total number of primitives owned by the parcel group on + this parcel + + + Whether the land is deeded to a group or not + + + + + + Maximum number of primitives this parcel supports + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A byte, if 0x1 viewer should auto scale media to fit object + + + URL For Music Stream + + + Parcel Name + + + Autoreturn value in minutes for others' objects + + + + + + Total number of other primitives on this parcel + + + UUID of the owner of this parcel + + + Total number of primitives owned by the parcel owner on + this parcel + + + + + + How long is pass valid for + + + Price for a temporary pass + + + + + + + + + + + + + + + True if the region denies access to age unverified users + + + + + + This field is no longer used + + + The result of a request for parcel properties + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + + + Number of primitives your avatar is currently + selecting and sitting on in this parcel + + + + + + + + A number which increments by 1, starting at 0 for each ParcelProperties request. + Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. + a Negative number indicates the action in has occurred. + + + + Maximum primitives across the entire simulator + + + Total primitives across the entire simulator + + + + + + Key of parcel snapshot + + + Parcel ownership status + + + Total number of primitives on this parcel + + + + + + + + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A boolean, if true the viewer should loop the media + + + A string which contains the mime type of the media + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + A message sent from the viewer to the simulator to updated a specific parcels settings + + + The of the agent authorized to purchase this + parcel of land or a NULL if the sale is authorized to anyone + + + true to enable auto scaling of the parcel media + + + The category of this parcel used when search is enabled to restrict + search results + + + A string containing the description to set + + + The of the which allows for additional + powers and restrictions. + + + The which specifies how avatars which teleport + to this parcel are handled + + + The LocalID of the parcel to update settings on + + + A string containing the description of the media which can be played + to visitors + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + Base class used for the RemoteParcelRequest message + + + + A message sent from the viewer to the simulator to request information + on a remote parcel + + + + Local sim position of the parcel we are looking up + + + Region handle of the parcel we are looking up + + + Region of the parcel we are looking up + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer in response to a + which will contain parcel information + + + + The grid-wide unique parcel ID + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing a request for a remote parcel from a viewer, or a response + from the simulator to that request + + + + The request or response details block + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to an agent which contains + the groups the agent is in + + + + The Agent receiving the message + + + An array containing information + for each the agent is a member of + + + An array containing information + for each the agent is a member of + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Group Details specific to the agent + + + true of the agent accepts group notices + + + The agents tier contribution to the group + + + The Groups + + + The of the groups insignia + + + The name of the group + + + The aggregate permissions the agent has in the group for all roles the agent + is assigned + + + An optional block containing additional agent specific information + + + true of the agent allows this group to be + listed in their profile + + + + A message sent from the viewer to the simulator which + specifies the language and permissions for others to detect + the language specified + + + + A string containng the default language + to use for the agent + + + true of others are allowed to + know the language setting + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + An EventQueue message sent from the simulator to an agent when the agent + leaves a group + + + + + An Array containing the AgentID and GroupID + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + An object containing the Agents UUID, and the Groups UUID + + + The ID of the Agent leaving the group + + + The GroupID the Agent is leaving + + + Base class for Asset uploads/results via Capabilities + + + + The request state + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the viewer to the simulator to request a temporary upload capability + which allows an asset to be uploaded + + + + The Capability URL sent by the simulator to upload the baked texture to + + + + A message sent from the simulator that will inform the agent the upload is complete, + and the UUID of the uploaded asset + + + + The uploaded texture asset ID + + + + A message sent from the viewer to the simulator to request a temporary + capability URI which is used to upload an agents baked appearance textures + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator which indicates the minimum version required for + using voice chat + + + + Major Version Required + + + Minor version required + + + The name of the region sending the version requrements + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer containing the + voice server URI + + + + The Parcel ID which the voice server URI applies + + + The name of the region + + + A uri containing the server/channel information + which the viewer can utilize to participate in voice conversations + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + + + + + + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent by the viewer to the simulator to request a temporary + capability for a script contained with in a Tasks inventory to be updated + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer to indicate + a Tasks scripts status. + + + + The Asset ID of the script + + + True of the script is compiled/ran using the mono interpreter, false indicates it + uses the older less efficient lsl2 interprter + + + The Task containing the scripts + + + true of the script is in a running state + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing the request/response used for updating a gesture + contained with an agents inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message request/response which is used to update a notecard contained within + a tasks inventory + + + + The of the Task containing the notecard asset to update + + + The notecard assets contained in the tasks inventory + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability + which is used to update an asset in an agents inventory + + + + + The Notecard AssetID to replace + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing the request/response used for updating a notecard + contained with an agents inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the simulator to the viewer which indicates + an error occurred while attempting to update a script in an agents or tasks + inventory + + + + true of the script was successfully compiled by the simulator + + + A string containing the error which occured while trying + to update the script + + + A new AssetID assigned to the script + + + + A message sent from the viewer to the simulator + requesting the update of an existing script contained + within a tasks inventory + + + + if true, set the script mode to running + + + The scripts InventoryItem ItemID to update + + + A lowercase string containing either "mono" or "lsl2" which + specifies the script is compiled and ran on the mono runtime, or the older + lsl runtime + + + The tasks which contains the script to update + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing either the request or response used in updating a script inside + a tasks inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Response from the simulator to notify the viewer the upload is completed, and + the UUID of the script asset and its compiled status + + + + The uploaded texture asset ID + + + true of the script was compiled successfully + + + + A message sent from a viewer to the simulator requesting a temporary uploader capability + used to update a script contained in an agents inventory + + + + The existing asset if of the script in the agents inventory to replace + + + The language of the script + Defaults to lsl version 2, "mono" might be another possible option + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message containing either the request or response used in updating a script inside + an agents inventory + + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Base class for Map Layers via Capabilities + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Sent by an agent to the capabilities server to request map layers + + + + + A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates + + + + An array containing LayerData items + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + An object containing map location details + + + + The Asset ID of the regions tile overlay + + + The grid location of the southern border of the map tile + + + The grid location of the western border of the map tile + + + The grid location of the eastern border of the map tile + + + The grid location of the northern border of the map tile + + + Object containing request or response + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + New as of 1.23 RC1, no details yet. + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + A string containing the method used + + + + A request sent from an agent to the Simulator to begin a new conference. + Contains a list of Agents which will be included in the conference + + + + An array containing the of the agents invited to this conference + + + The conferences Session ID + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A moderation request sent from a conference moderator + Contains an agent and an optional action to take + + + + The Session ID + + + + + + A list containing Key/Value pairs, known valid values: + key: text value: true/false - allow/disallow specified agents ability to use text in session + key: voice value: true/false - allow/disallow specified agents ability to use voice in session + + "text" or "voice" + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the agent to the simulator which tells the + simulator we've accepted a conference invitation + + + + The conference SessionID + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Key of sender + + + Name of sender + + + Key of destination avatar + + + ID of originating estate + + + Key of originating region + + + Coordinates in originating region + + + Instant message type + + + Group IM session toggle + + + Key of IM session, for Group Messages, the groups UUID + + + Timestamp of the instant message + + + Instant message text + + + Whether this message is held for offline avatars + + + Context specific packed data + + + Is this invitation for voice group/conference chat + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Sent from the simulator to the viewer. + + When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including + a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate + this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" + + During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are + excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with + the string "ENTER" or "LEAVE" respectively. + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + An EventQueue message sent when the agent is forcibly removed from a chatterbox session + + + + + A string containing the reason the agent was removed + + + + + The ChatterBoxSession's SessionID + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + + A message sent from the viewer to the simulator which + specifies that the user has changed current URL + of the specific media on a prim face + + + + + New URL + + + + + Prim UUID where navigation occured + + + + + Face index + + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Base class used for the ObjectMedia message + + + + Message used to retrive prim media data + + + + + Prim UUID + + + + + Requested operation, either GET or UPDATE + + + + + Serialize object + + Serialized object as OSDMap + + + + Deserialize the message + + An containing the data + + + + Message used to update prim media data + + + + + Prim UUID + + + + + Array of media entries indexed by face number + + + + + Media version string + + + + + Serialize object + + Serialized object as OSDMap + + + + Deserialize the message + + An containing the data + + + + Message used to update prim media data + + + + + Prim UUID + + + + + Array of media entries indexed by face number + + + + + Requested operation, either GET or UPDATE + + + + + Serialize object + + Serialized object as OSDMap + + + + Deserialize the message + + An containing the data + + + + Message for setting or getting per face MediaEntry + + + + The request or response details block + + + + Serialize the object + + An containing the objects data + + + + Deserialize the message + + An containing the data + + + Details about object resource usage + + + Object UUID + + + Object name + + + Indicates if object is group owned + + + Locatio of the object + + + Object owner + + + Resource usage, keys are resource names, values are resource usage for that specific resource + + + + Deserializes object from OSD + + An containing the data + + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + Details about parcel resource usage + + + Parcel UUID + + + Parcel local ID + + + Parcel name + + + Indicates if parcel is group owned + + + Parcel owner + + + Array of containing per object resource usage + + + + Deserializes object from OSD + + An containing the data + + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + Resource usage base class, both agent and parcel resource + usage contains summary information + + + Summary of available resources, keys are resource names, + values are resource usage for that specific resource + + + Summary resource usage, keys are resource names, + values are resource usage for that specific resource + + + + Serializes object + + serialized data + + + + Deserializes object from OSD + + An containing the data + + + Agent resource usage + + + Per attachment point object resource usage + + + + Deserializes object from OSD + + An containing the data + + + + Makes an instance based on deserialized data + + serialized data + Instance containg deserialized data + + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message + + + Request message for parcel resource usage + + + UUID of the parel to request resource usage info + + + + Serializes object + + serialized data + + + + Deserializes object from OSD + + An containing the data + + + Response message for parcel resource usage + + + URL where parcel resource usage details can be retrieved + + + URL where parcel resource usage summary can be retrieved + + + + Serializes object + + serialized data + + + + Deserializes object from OSD + + An containing the data + + + + Detects which class handles deserialization of this message + + An containing the data + Object capable of decoding this message + + + Parcel resource usage + + + Array of containing per percal resource usage + + + + Deserializes object from OSD + + An containing the data + + + + Abstract base for rendering plugins + + + + + Generates a basic mesh structure from a primitive + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh + + + + Generates a basic mesh structure from a sculpted primitive and + texture + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh + + + + Generates a series of faces, each face containing a mesh and + metadata + + Primitive to generate the mesh from + Level of detail to generate the mesh at + The generated mesh + + + + Generates a series of faces for a sculpted prim, each face + containing a mesh and metadata + + Sculpted primitive to generate the mesh from + Sculpt texture + Level of detail to generate the mesh at + The generated mesh + + + + Apply texture coordinate modifications from a + to a list of vertices + + Vertex list to modify texture coordinates for + Center-point of the face + Face texture parameters + + + + Capability to load TGAs to Bitmap + + + + + Represents a Wearable Asset, Clothing, Hair, Skin, Etc + + + + A string containing the name of the asset + + + A string containing a short description of the asset + + + The Assets WearableType + + + The For-Sale status of the object + + + An Integer representing the purchase price of the asset + + + The of the assets creator + + + The of the assets current owner + + + The of the assets prior owner + + + The of the Group this asset is set to + + + True if the asset is owned by a + + + The Permissions mask of the asset + + + A Dictionary containing Key/Value pairs of the objects parameters + + + A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures + + + Initializes a new instance of an AssetWearable object + + + Initializes a new instance of an AssetWearable object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + Decode an assets byte encoded data to a string + + true if the asset data was decoded successfully + + + + Encode the assets string represantion into a format consumable by the asset server + + + + + The InternalDictionary class is used through the library for storing key/value pairs. + It is intended to be a replacement for the generic Dictionary class and should + be used in its place. It contains several methods for allowing access to the data from + outside the library that are read only and thread safe. + + + Key + Value + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + on this member + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, has its initial valies copied from the specified + + + + to copy initial values from + + + // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. + // populates with copied values from example KeyNameCache Dictionary. + + // create source dictionary + Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); + KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); + KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); + + // Initialize new dictionary. + public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); + + + + + + Try to get entry from with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Perform an on each entry in an + to perform + + + // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. + Client.Network.CurrentSim.ObjectsPrimitives.ForEach( + delegate(Primitive prim) + { + if (prim.Text != null) + { + Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", + prim.PropertiesFamily.Name, prim.ID, prim.Text); + } + }); + + + + + Perform an on each key of an + to perform + + + + Perform an on each KeyValuePair of an + + to perform + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise + + + + Gets the number of Key/Value pairs contained in the + + + + + Indexer for the dictionary + + The key + The value + + + + Temporary code to produce a tar archive in tar v7 format + + + + + Binary writer for the underlying stream + + + + + Write a directory entry to the tar archive. We can only handle one path level right now! + + + + + + Write a file to the tar archive + + + + + + + Write a file to the tar archive + + + + + + + Finish writing the raw tar archive data to a stream. The stream will be closed on completion. + + + + + Write a particular entry + + + + + + + + Temporary code to do the bare minimum required to read a tar archive for our purposes + + + + + Binary reader for the underlying stream + + + + + Used to trim off null chars + + + + + Used to trim off space chars + + + + + Generate a tar reader which reads from the given stream. + + + + + + Read the next entry in the tar file. + + + + the data for the entry. Returns null if there are no more entries + + + + Read the next 512 byte chunk of data as a tar header. + + A tar header struct. null if we have reached the end of the archive. + + + + Read data following a header + + + + + + + Convert octal bytes to a decimal representation + + + + + + + + + The current status of a texture request as it moves through the pipeline or final result of a texture request. + + + + The initial state given to a request. Requests in this state + are waiting for an available slot in the pipeline + + + A request that has been added to the pipeline and the request packet + has been sent to the simulator + + + A request that has received one or more packets back from the simulator + + + A request that has received all packets back from the simulator + + + A request that has taken longer than + to download OR the initial packet containing the packet information was never received + + + The texture request was aborted by request of the agent + + + The simulator replied to the request that it was not able to find the requested texture + + + + A callback fired to indicate the status or final state of the requested texture. For progressive + downloads this will fire each time new asset data is returned from the simulator. + + The indicating either Progress for textures not fully downloaded, + or the final result of the request after it has been processed through the TexturePipeline + The object containing the Assets ID, raw data + and other information. For progressive rendering the will contain + the data from the beginning of the file. For failed, aborted and timed out requests it will contain + an empty byte array. + + + + Texture request download handler, allows a configurable number of download slots which manage multiple + concurrent texture downloads from the + + This class makes full use of the internal + system for full texture downloads. + + + A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID + and also the Asset Texture ID, and the value is an object containing the current state of the request and also + the asset data as it is being re-assembled + + + Holds the reference to the client object + + + Maximum concurrent texture requests allowed at a time + + + An array of objects used to manage worker request threads + + + An array of worker slots which shows the availablity status of the slot + + + The primary thread which manages the requests. + + + true if the TexturePipeline is currently running + + + A synchronization object used by the primary thread + + + A refresh timer used to increase the priority of stalled requests + + + + Default constructor, Instantiates a new copy of the TexturePipeline class + + Reference to the instantiated object + + + + Initialize callbacks required for the TexturePipeline to operate + + + + + Shutdown the TexturePipeline and cleanup any callbacks or transfers + + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Sends the actual request packet to the simulator + + The image to download + Type of the image to download, either a baked + avatar texture or a normal texture + Priority level of the download. Default is + 1,013,000.0f + Number of quality layers to discard. + This controls the end marker of the data sent + Packet number to start the download at. + This controls the start marker of the data sent + Sending a priority of 0 and a discardlevel of -1 aborts + download + + + + Cancel a pending or in process texture request + + The texture assets unique ID + + + + Master Download Thread, Queues up downloads in the threadpool + + + + + The worker thread that sends the request and handles timeouts + + A object containing the request details + + + + Handle responses from the simulator that tell us a texture we have requested is unable to be located + or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use + + The sender + The EventArgs object containing the packet data + + + + Handles the remaining Image data that did not fit in the initial ImageData packet + + The sender + The EventArgs object containing the packet data + + + + Handle the initial ImageDataPacket sent from the simulator + + The sender + The EventArgs object containing the packet data + + + Current number of pending and in-process transfers + + + + A request task containing information and status of a request as it is processed through the + + + + The current which identifies the current status of the request + + + The Unique Request ID, This is also the Asset ID of the texture being requested + + + The slot this request is occupying in the threadpoolSlots array + + + The ImageType of the request. + + + The callback to fire when the request is complete, will include + the and the + object containing the result data + + + If true, indicates the callback will be fired whenever new data is returned from the simulator. + This is used to progressively render textures as portions of the texture are received. + + + An object that maintains the data of an request thats in-process. + + + X position of this patch + + + Y position of this patch + + + A 16x16 array of floats holding decompressed layer data + + + + Creates a LayerData packet for compressed land data given a full + simulator heightmap and an array of indices of patches to compress + + A 256 * 256 array of floating point values + specifying the height at each meter in the simulator + Array of indexes in the 16x16 grid of patches + for this simulator. For example if 1 and 17 are specified, patches + x=1,y=0 and x=1,y=1 are sent + + + + + Add a patch of terrain to a BitPacker + + BitPacker to write the patch to + Heightmap of the simulator, must be a 256 * + 256 float array + X offset of the patch to create, valid values are + from 0 to 15 + Y offset of the patch to create, valid values are + from 0 to 15 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Initialize the UDP packet handler in server mode + + Port to listening for incoming UDP packets on + + + + Initialize the UDP packet handler in client mode + + Remote UDP server to connect to + + + + + + + + + + + + + + + + + + + Type of return to use when returning objects from a parcel + + + + + + + Return objects owned by parcel owner + + + Return objects set to group + + + Return objects not owned by parcel owner or set to group + + + Return a specific list of objects on parcel + + + Return objects that are marked for-sale + + + + Blacklist/Whitelist flags used in parcels Access List + + + + Agent is denied access + + + Agent is granted access + + + + The result of a request for parcel properties + + + + No matches were found for the request + + + Request matched a single parcel + + + Request matched multiple parcels + + + + Flags used in the ParcelAccessListRequest packet to specify whether + we want the access list (whitelist), ban list (blacklist), or both + + + + Request the access list + + + Request the ban list + + + Request both White and Black lists + + + + Sequence ID in ParcelPropertiesReply packets (sent when avatar + tries to cross a parcel border) + + + + Parcel is currently selected + + + Parcel restricted to a group the avatar is not a + member of + + + Avatar is banned from the parcel + + + Parcel is restricted to an access list that the + avatar is not on + + + Response to hovering over a parcel + + + + The tool to use when modifying terrain levels + + + + Level the terrain + + + Raise the terrain + + + Lower the terrain + + + Smooth the terrain + + + Add random noise to the terrain + + + Revert terrain to simulator default + + + + The tool size to use when changing terrain levels + + + + Small + + + Medium + + + Large + + + + Reasons agent is denied access to a parcel on the simulator + + + + Agent is not denied, access is granted + + + Agent is not a member of the group set for the parcel, or which owns the parcel + + + Agent is not on the parcels specific allow list + + + Agent is on the parcels ban list + + + Unknown + + + Agent is not age verified and parcel settings deny access to non age verified avatars + + + + Parcel overlay type. This is used primarily for highlighting and + coloring which is why it is a single integer instead of a set of + flags + + These values seem to be poorly thought out. The first three + bits represent a single value, not flags. For example Auction (0x05) is + not a combination of OwnedByOther (0x01) and ForSale(0x04). However, + the BorderWest and BorderSouth values are bit flags that get attached + to the value stored in the first three bits. Bits four, five, and six + are unused + + + Public land + + + Land is owned by another avatar + + + Land is owned by a group + + + Land is owned by the current avatar + + + Land is for sale + + + Land is being auctioned + + + To the west of this area is a parcel border + + + To the south of this area is a parcel border + + + + Various parcel properties + + + + No flags set + + + Allow avatars to fly (a client-side only restriction) + + + Allow foreign scripts to run + + + This parcel is for sale + + + Allow avatars to create a landmark on this parcel + + + Allows all avatars to edit the terrain on this parcel + + + Avatars have health and can take damage on this parcel. + If set, avatars can be killed and sent home here + + + Foreign avatars can create objects here + + + All objects on this parcel can be purchased + + + Access is restricted to a group + + + Access is restricted to a whitelist + + + Ban blacklist is enabled + + + Unknown + + + List this parcel in the search directory + + + Allow personally owned parcels to be deeded to group + + + If Deeded, owner contributes required tier to group parcel is deeded to + + + Restrict sounds originating on this parcel to the + parcel boundaries + + + Objects on this parcel are sold when the land is + purchsaed + + + Allow this parcel to be published on the web + + + The information for this parcel is mature content + + + The media URL is an HTML page + + + The media URL is a raw HTML string + + + Restrict foreign object pushes + + + Ban all non identified/transacted avatars + + + Allow group-owned scripts to run + + + Allow object creation by group members or group + objects + + + Allow all objects to enter this parcel + + + Only allow group and owner objects to enter this parcel + + + Voice Enabled on this parcel + + + Use Estate Voice channel for Voice on this parcel + + + Deny Age Unverified Users + + + + Parcel ownership status + + + + Placeholder + + + Parcel is leased (owned) by an avatar or group + + + Parcel is in process of being leased (purchased) by an avatar or group + + + Parcel has been abandoned back to Governor Linden + + + + Category parcel is listed in under search + + + + No assigned category + + + Linden Infohub or public area + + + Adult themed area + + + Arts and Culture + + + Business + + + Educational + + + Gaming + + + Hangout or Club + + + Newcomer friendly + + + Parks and Nature + + + Residential + + + Shopping + + + Not Used? + + + Other + + + Not an actual category, only used for queries + + + + Type of teleport landing for a parcel + + + + Unset, simulator default + + + Specific landing point set for this parcel + + + No landing point set, direct teleports enabled for + this parcel + + + + Parcel Media Command used in ParcelMediaCommandMessage + + + + Stop the media stream and go back to the first frame + + + Pause the media stream (stop playing but stay on current frame) + + + Start the current media stream playing and stop when the end is reached + + + Start the current media stream playing, + loop to the beginning when the end is reached and continue to play + + + Specifies the texture to replace with video + If passing the key of a texture, it must be explicitly typecast as a key, + not just passed within double quotes. + + + Specifies the movie URL (254 characters max) + + + Specifies the time index at which to begin playing + + + Specifies a single agent to apply the media command to + + + Unloads the stream. While the stop command sets the texture to the first frame of the movie, + unload resets it to the real texture that the movie was replacing. + + + Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties + (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. + + + Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). + Use "text/html" for HTML. + + + Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). + This might still not be working + + + Sets a description for the media being displayed (1.19.1 RC0 and later only). + + + + Some information about a parcel of land returned from a DirectoryManager search + + + + Global Key of record + + + Parcel Owners + + + Name field of parcel, limited to 128 characters + + + Description field of parcel, limited to 256 characters + + + Total Square meters of parcel + + + Total area billable as Tier, for group owned land this will be 10% less than ActualArea + + + True of parcel is in Mature simulator + + + Grid global X position of parcel + + + Grid global Y position of parcel + + + Grid global Z position of parcel (not used) + + + Name of simulator parcel is located in + + + Texture of parcels display picture + + + Float representing calculated traffic based on time spent on parcel by avatars + + + Sale price of parcel (not used) + + + Auction ID of parcel + + + + Parcel Media Information + + + + A byte, if 0x1 viewer should auto scale media to fit object + + + A boolean, if true the viewer should loop the media + + + The Asset UUID of the Texture which when applied to a + primitive will display the media + + + A URL which points to any Quicktime supported media type + + + A description of the media + + + An Integer which represents the height of the media + + + An integer which represents the width of the media + + + A string which contains the mime type of the media + + + + Parcel of land, a portion of virtual real estate in a simulator + + + + The total number of contiguous 4x4 meter blocks your agent owns within this parcel + + + The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own + + + Deprecated, Value appears to always be 0 + + + Simulator-local ID of this parcel + + + UUID of the owner of this parcel + + + Whether the land is deeded to a group or not + + + + + + Date land was claimed + + + Appears to always be zero + + + This field is no longer used + + + Minimum corner of the axis-aligned bounding box for this + parcel + + + Maximum corner of the axis-aligned bounding box for this + parcel + + + Bitmap describing land layout in 4x4m squares across the + entire region + + + Total parcel land area + + + + + + Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used + + + Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel + owned by the agent or group that owns this parcel + + + Maximum number of primitives this parcel supports + + + Total number of primitives on this parcel + + + For group-owned parcels this indicates the total number of prims deeded to the group, + for parcels owned by an individual this inicates the number of prims owned by the individual + + + Total number of primitives owned by the parcel group on + this parcel, or for parcels owned by an individual with a group set the + total number of prims set to that group. + + + Total number of prims owned by other avatars that are not set to group, or not the parcel owner + + + A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect + the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed + + + Autoreturn value in minutes for others' objects + + + + + + Sale price of the parcel, only useful if ForSale is set + The SalePrice will remain the same after an ownership + transfer (sale), so it can be used to see the purchase price after + a sale if the new owner has not changed it + + + Parcel Name + + + Parcel Description + + + URL For Music Stream + + + + + + Price for a temporary pass + + + How long is pass valid for + + + + + + Key of authorized buyer + + + Key of parcel snapshot + + + The landing point location + + + The landing point LookAt + + + The type of landing enforced from the enum + + + + + + + + + + + + Access list of who is whitelisted on this + parcel + + + Access list of who is blacklisted on this + parcel + + + TRUE of region denies access to age unverified users + + + true to obscure (hide) media url + + + true to obscure (hide) music url + + + A struct containing media details + + + + Displays a parcel object in string format + + string containing key=value pairs of a parcel object + + + + Defalt constructor + + Local ID of this parcel + + + + Update the simulator with any local changes to this Parcel object + + Simulator to send updates to + Whether we want the simulator to confirm + the update with a reply packet or not + + + + Set Autoreturn time + + Simulator to send the update to + + + + Parcel (subdivided simulator lots) subsystem + + + + The event subscribers. null if no subcribers + + + Raises the ParcelDwellReply event + A ParcelDwellReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelInfoReply event + A ParcelInfoReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelProperties event + A ParcelPropertiesEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelAccessListReply event + A ParcelAccessListReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelObjectOwnersReply event + A ParcelObjectOwnersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the SimParcelsDownloaded event + A SimParcelsDownloadedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ForceSelectObjectsReply event + A ForceSelectObjectsReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaUpdateReply event + A ParcelMediaUpdateReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the ParcelMediaCommand event + A ParcelMediaCommandEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + + Default constructor + + A reference to the GridClient object + + + + Request basic information for a single parcel + + Simulator-local ID of the parcel + + + + Request properties of a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + multiple simultaneous requests + + + + Request the access list for a single parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + An arbitrary integer that will be returned + with the ParcelAccessList reply, useful for distinguishing between + multiple simultaneous requests + + + + + Request properties of parcels using a bounding box selection + + Simulator containing the parcel + Northern boundary of the parcel selection + Eastern boundary of the parcel selection + Southern boundary of the parcel selection + Western boundary of the parcel selection + An arbitrary integer that will be returned + with the ParcelProperties reply, useful for distinguishing between + different types of parcel property requests + A boolean that is returned with the + ParcelProperties reply, useful for snapping focus to a single + parcel + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + + + + Request all simulator parcel properties (used for populating the Simulator.Parcels + dictionary) + + Simulator to request parcels from (must be connected) + If TRUE, will force a full refresh + Number of milliseconds to pause in between each request + + + + Request the dwell value for a parcel + + Simulator containing the parcel + Simulator-local ID of the parcel + + + + Send a request to Purchase a parcel of land + + The Simulator the parcel is located in + The parcels region specific local ID + true if this parcel is being purchased by a group + The groups + true to remove tier contribution if purchase is successful + The parcels size + The purchase price of the parcel + + + + + Reclaim a parcel of land + + The simulator the parcel is in + The parcels region specific local ID + + + + Deed a parcel to a group + + The simulator the parcel is in + The parcels region specific local ID + The groups + + + + Request prim owners of a parcel of land. + + Simulator parcel is in + The parcels region specific local ID + + + + Return objects from a parcel + + Simulator parcel is in + The parcels region specific local ID + the type of objects to return, + A list containing object owners s to return + + + + Subdivide (split) a parcel + + + + + + + + + + Join two parcels of land creating a single parcel + + + + + + + + + + Get a parcels LocalID + + Simulator parcel is in + Vector3 position in simulator (Z not used) + 0 on failure, or parcel LocalID on success. + A call to Parcels.RequestAllSimParcels is required to populate map and + dictionary. + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + true on successful request sent. + Settings.STORE_LAND_PATCHES must be true, + Parcel information must be downloaded using RequestAllSimParcels() + + + + Terraform (raise, lower, etc) an area or whole parcel of land + + Simulator land area is in. + LocalID of parcel, or -1 if using bounding box + west border of area to modify + south border of area to modify + east border of area to modify + north border of area to modify + From Enum, Raise, Lower, Level, Smooth, Etc. + Size of area to modify + How many meters + or - to lower, 1 = 1 meter + Height at which the terraform operation is acting at + + + + Sends a request to the simulator to return a list of objects owned by specific owners + + Simulator local ID of parcel + Owners, Others, Etc + List containing keys of avatars objects to select; + if List is null will return Objects of type selectType + Response data is returned in the event + + + + Eject and optionally ban a user from a parcel + + target key of avatar to eject + true to also ban target + + + + Freeze or unfreeze an avatar over your land + + target key to freeze + true to freeze, false to unfreeze + + + + Abandon a parcel of land + + Simulator parcel is in + Simulator local ID of parcel + + + + Requests the UUID of the parcel in a remote region at a specified location + + Location of the parcel in the remote region + Remote region handle + Remote region UUID + If successful UUID of the remote parcel, UUID.Zero otherwise + + + + Retrieves information on resources used by the parcel + + UUID of the parcel + Should per object resource usage be requested + Callback invoked when the request is complete + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + Raises the event + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a Parcel Update request + + + Raised when the parcel your agent is located sends a ParcelMediaCommand + + + + Parcel Accesslist + + + + Agents + + + + + + Flags for specific entry in white/black lists + + + + Owners of primitives on parcel + + + + Prim Owners + + + True of owner is group + + + Total count of prims owned by OwnerID + + + true of OwnerID is currently online and is not a group + + + The date of the most recent prim left by OwnerID + + + + Called once parcel resource usage information has been collected + + Indicates if operation was successfull + Parcel resource usage information + + + Contains a parcels dwell data returned from the simulator in response to an + + + + Construct a new instance of the ParcelDwellReplyEventArgs class + + The global ID of the parcel + The simulator specific ID of the parcel + The calculated dwell for the parcel + + + Get the global ID of the parcel + + + Get the simulator specific ID of the parcel + + + Get the calculated dwell + + + Contains basic parcel information data returned from the + simulator in response to an request + + + + Construct a new instance of the ParcelInfoReplyEventArgs class + + The object containing basic parcel info + + + Get the object containing basic parcel info + + + Contains basic parcel information data returned from the simulator in response to an request + + + + Construct a new instance of the ParcelPropertiesEventArgs class + + The object containing the details + The object containing the details + The result of the request + The number of primitieves your agent is + currently selecting and or sitting on in this parcel + The user assigned ID used to correlate a request with + these results + TODO: + + + Get the simulator the parcel is located in + + + Get the object containing the details + If Result is NoData, this object will not contain valid data + + + Get the result of the request + + + Get the number of primitieves your agent is + currently selecting and or sitting on in this parcel + + + Get the user assigned ID used to correlate a request with + these results + + + TODO: + + + Contains blacklist and whitelist data returned from the simulator in response to an request + + + + Construct a new instance of the ParcelAccessListReplyEventArgs class + + The simulator the parcel is located in + The user assigned ID used to correlate a request with + these results + The simulator specific ID of the parcel + TODO: + The list containing the white/blacklisted agents for the parcel + + + Get the simulator the parcel is located in + + + Get the user assigned ID used to correlate a request with + these results + + + Get the simulator specific ID of the parcel + + + TODO: + + + Get the list containing the white/blacklisted agents for the parcel + + + Contains blacklist and whitelist data returned from the + simulator in response to an request + + + + Construct a new instance of the ParcelObjectOwnersReplyEventArgs class + + The simulator the parcel is located in + The list containing prim ownership counts + + + Get the simulator the parcel is located in + + + Get the list containing prim ownership counts + + + Contains the data returned when all parcel data has been retrieved from a simulator + + + + Construct a new instance of the SimParcelsDownloadedEventArgs class + + The simulator the parcel data was retrieved from + The dictionary containing the parcel data + The multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Get the simulator the parcel data was retrieved from + + + A dictionary containing the parcel data where the key correlates to the ParcelMap entry + + + Get the multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + Contains the data returned when a request + + + + Construct a new instance of the ForceSelectObjectsReplyEventArgs class + + The simulator the parcel data was retrieved from + The list of primitive IDs + true if the list is clean and contains the information + only for a given request + + + Get the simulator the parcel data was retrieved from + + + Get the list of primitive IDs + + + true if the list is clean and contains the information + only for a given request + + + Contains data when the media data for a parcel the avatar is on changes + + + + Construct a new instance of the ParcelMediaUpdateReplyEventArgs class + + the simulator the parcel media data was updated in + The updated media information + + + Get the simulator the parcel media data was updated in + + + Get the updated media information + + + Contains the media command for a parcel the agent is currently on + + + + Construct a new instance of the ParcelMediaCommandEventArgs class + + The simulator the parcel media command was issued in + + + The media command that was sent + + + + Get the simulator the parcel media command was issued in + + + + + + + + + Get the media command that was sent + + + + + + + Singleton logging class for the entire library + + + + log4net logging engine + + + + Default constructor + + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Exception that was raised + + + + Send a log message to the logging engine + + The log message + The severity of the log entry + Instance of the client + Exception that was raised + + + + If the library is compiled with DEBUG defined, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + + + + If the library is compiled with DEBUG defined and + GridClient.Settings.DEBUG is true, an event will be + fired if an OnLogMessage handler is registered and the + message will be sent to the logging engine + + The message to log at the DEBUG level to the + current logging engine + Instance of the client + + + Triggered whenever a message is logged. If this is left + null, log messages will go to the console + + + + Callback used for client apps to receive log messages from + the library + + Data being logged + The severity of the log entry from + + + + Map layer request type + + + + Objects and terrain are shown + + + Only the terrain is shown, no objects + + + Overlay showing land for sale and for auction + + + + Type of grid item, such as telehub, event, populator location, etc. + + + + Telehub + + + PG rated event + + + Mature rated event + + + Popular location + + + Locations of avatar groups in a region + + + Land for sale + + + Classified ad + + + Adult rated event + + + Adult land for sale + + + + Information about a region on the grid map + + + + Sim X position on World Map + + + Sim Y position on World Map + + + Sim Name (NOTE: In lowercase!) + + + + + + Appears to always be zero (None) + + + Sim's defined Water Height + + + + + + UUID of the World Map image + + + Unique identifier for this region, a combination of the X + and Y position + + + + + + + + + + + + + + + + + + + + + + + Visual chunk of the grid map + + + + + Base class for Map Items + + + + The Global X position of the item + + + The Global Y position of the item + + + Get the Local X position of the item + + + Get the Local Y position of the item + + + Get the Handle of the region + + + + Represents an agent or group of agents location + + + + + Represents a Telehub location + + + + + Represents a non-adult parcel of land for sale + + + + + Represents an Adult parcel of land for sale + + + + + Represents a PG Event + + + + + Represents a Mature event + + + + + Represents an Adult event + + + + + Manages grid-wide tasks such as the world map + + + + The event subscribers. null if no subcribers + + + Raises the CoarseLocationUpdate event + A CoarseLocationUpdateEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GridRegion event + A GridRegionEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GridLayer event + A GridLayerEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GridItems event + A GridItemEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RegionHandleReply event + A RegionHandleReplyEventArgs object containing the + data sent by simulator + + + Thread sync lock object + + + A dictionary of all the regions, indexed by region name + + + A dictionary of all the regions, indexed by region handle + + + + Constructor + + Instance of GridClient object to associate with this GridManager instance + + + + + + + + + + Request a map layer + + The name of the region + The type of layer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Request data for all mainland (Linden managed) simulators + + + + + Request the region handle for the specified region UUID + + UUID of the region to look up + + + + Get grid region information using the region name, this function + will block until it can find the region or gives up + + Name of sim you're looking for + Layer that you are requesting + Will contain a GridRegion for the sim you're + looking for if successful, otherwise an empty structure + True if the GridRegion was successfully fetched, otherwise + false + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends a + containing the location of agents in the simulator + + + Raised when the simulator sends a Region Data in response to + a Map request + + + Raised when the simulator sends GridLayer object containing + a map tile coordinates and texture information + + + Raised when the simulator sends GridItems object containing + details on events, land sales at a specific location + + + Raised in response to a Region lookup + + + Unknown + + + Current direction of the sun + + + Current angular velocity of the sun + + + Current world time + + + + Particle system specific enumerators, flags and methods. + + + + + + + + + + + + + + + + + + + + + + Foliage type for this primitive. Only applicable if this + primitive is foliage + + + Unknown + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Identifies the owner if audio or a particle system is + active + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters in to signed eight bit values + + Floating point parameter to pack + Signed eight bit value containing the packed parameter + + + + Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew + parameters from signed eight bit integers to floating point values + + Signed eight bit value to unpack + Unpacked floating point value + + + + + + + Current version of the media data for the prim + + + + + Array of media entries indexed by face number + + + + + + + + + + Uses basic heuristics to estimate the primitive shape + + + + Parameters used to construct a visual representation of a primitive + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Attachment point to an avatar + + + + + + + + + + + + + + + + Information on the flexible properties of a primitive + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the light properties of a primitive + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + + + + + + + + + + + + + + + + + + + + Information on the sculpt properties of a sculpted primitive + + + + + Default constructor + + + + + + + + + + + + Render inside out (inverts the normals). + + + + + Render an X axis mirror of the sculpty. + + + + + Extended properties to describe an object + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Default constructor + + + + + Set the properties that are set in an ObjectPropertiesFamily packet + + that has + been partially filled by an ObjectPropertiesFamily packet + + + + Complete structure for the particle system + + + + Particle Flags + There appears to be more data packed in to this area + for many particle systems. It doesn't appear to be flag values + and serialization breaks unless there is a flag for every + possible bit so it is left as an unsigned integer + + + pattern of particles + + + A representing the maximimum age (in seconds) particle will be displayed + Maximum value is 30 seconds + + + A representing the number of seconds, + from when the particle source comes into view, + or the particle system's creation, that the object will emits particles; + after this time period no more particles are emitted + + + A in radians that specifies where particles will not be created + + + A in radians that specifies where particles will be created + + + A representing the number of seconds between burts. + + + A representing the number of meters + around the center of the source where particles will be created. + + + A representing in seconds, the minimum speed between bursts of new particles + being emitted + + + A representing in seconds the maximum speed of new particles being emitted. + + + A representing the maximum number of particles emitted per burst + + + A which represents the velocity (speed) from the source which particles are emitted + + + A which represents the Acceleration from the source which particles are emitted + + + The Key of the texture displayed on the particle + + + The Key of the specified target object or avatar particles will follow + + + Flags of particle from + + + Max Age particle system will emit particles for + + + The the particle has at the beginning of its lifecycle + + + The the particle has at the ending of its lifecycle + + + A that represents the starting X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the starting Y size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending X size of the particle + Minimum value is 0, maximum value is 4 + + + A that represents the ending Y size of the particle + Minimum value is 0, maximum value is 4 + + + + Decodes a byte[] array into a ParticleSystem Object + + ParticleSystem object + Start position for BitPacker + + + + Generate byte[] array from particle data + + Byte array + + + + Particle source pattern + + + + None + + + Drop particles from source position with no force + + + "Explode" particles in all directions + + + Particles shoot across a 2D area + + + Particles shoot across a 3D Cone + + + Inverse of AngleCone (shoot particles everywhere except the 3D cone defined + + + + Particle Data Flags + + + + None + + + Interpolate color and alpha from start to end + + + Interpolate scale from start to end + + + Bounce particles off particle sources Z height + + + velocity of particles is dampened toward the simulators wind + + + Particles follow the source + + + Particles point towards the direction of source's velocity + + + Target of the particles + + + Particles are sent in a straight line + + + Particles emit a glow + + + used for point/grab/touch + + + + Particle Flags Enum + + + + None + + + Acceleration and velocity for particles are + relative to the object rotation + + + Particles use new 'correct' angle parameters + + + + Texture animation mode + + + + Disable texture animation + + + Enable texture animation + + + Loop when animating textures + + + Animate in reverse direction + + + Animate forward then reverse + + + Slide texture smoothly instead of frame-stepping + + + Rotate texture instead of using frames + + + Scale texture instead of using frames + + + + A single textured face. Don't instantiate this class yourself, use the + methods in TextureEntry + + + + + Contains the definition for individual faces + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + In the future this will specify whether a webpage is + attached to this face + + + + + + + Represents all of the texturable faces for an object + + Grid objects have infinite faces, with each face + using the properties of the default face unless set otherwise. So if + you have a TextureEntry with a default texture uuid of X, and face 18 + has a texture UUID of Y, every face would be textured with X except for + face 18 that uses Y. In practice however, primitives utilize a maximum + of nine faces + + + + + + + + + + Constructor that takes a default texture UUID + + Texture UUID to use as the default texture + + + + Constructor that takes a TextureEntryFace for the + default face + + Face to use as the default face + + + + Constructor that creates the TextureEntry class from a byte array + + Byte array containing the TextureEntry field + Starting position of the TextureEntry field in + the byte array + Length of the TextureEntry field, in bytes + + + + This will either create a new face if a custom face for the given + index is not defined, or return the custom face for that index if + it already exists + + The index number of the face to create or + retrieve + A TextureEntryFace containing all the properties for that + face + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Controls the texture animation of a particular prim + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a Sound Asset + + + + Initializes a new instance of an AssetSound object + + + Initializes a new instance of an AssetSound object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + TODO: Encodes a sound file + + + + + TODO: Decode a sound file + + true + + + Override the base classes AssetType + + + + A linkset asset, containing a parent primitive and zero or more children + + + + Initializes a new instance of an AssetPrim object + + + + Initializes a new instance of an AssetPrim object + + A unique specific to this asset + A byte array containing the raw asset data + + + + + + + + + + + + + + Override the base classes AssetType + + + + Only used internally for XML serialization/deserialization + + + + + The deserialized form of a single primitive in a linkset asset + + + + + Operation to apply when applying color to texture + + + + + Information needed to translate visual param value to RGBA color + + + + + Construct VisualColorParam + + Operation to apply when applying color to texture + Colors + + + + Represents alpha blending and bump infor for a visual parameter + such as sleive length + + + + Stregth of the alpha to apply + + + File containing the alpha channel + + + Skip blending if parameter value is 0 + + + Use miltiply insted of alpha blending + + + + Create new alhpa information for a visual param + + Stregth of the alpha to apply + File containing the alpha channel + Skip blending if parameter value is 0 + Use miltiply insted of alpha blending + + + + A single visual characteristic of an avatar mesh, such as eyebrow height + + + + Index of this visual param + + + Internal name + + + Group ID this parameter belongs to + + + Name of the wearable this parameter belongs to + + + Displayable label of this characteristic + + + Displayable label for the minimum value of this characteristic + + + Displayable label for the maximum value of this characteristic + + + Default value + + + Minimum value + + + Maximum value + + + Is this param used for creation of bump layer? + + + Alpha blending/bump info + + + Color information + + + Array of param IDs that are drivers for this parameter + + + + Set all the values through the constructor + + Index of this visual param + Internal name + + + Displayable label of this characteristic + Displayable label for the minimum value of this characteristic + Displayable label for the maximum value of this characteristic + Default value + Minimum value + Maximum value + Is this param used for creation of bump layer? + Array of param IDs that are drivers for this parameter + Alpha blending/bump info + Color information + + + + Holds the Params array of all the avatar appearance parameters + + + + + NetworkManager is responsible for managing the network layer of + OpenMetaverse. It tracks all the server connections, serializes + outgoing traffic and deserializes incoming traffic, and provides + instances of delegates for network-related events. + + + Login Routines + + + + The event subscribers, null of no subscribers + + + Raises the PacketSent Event + A PacketSentEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the LoggedOut Event + A LoggedOutEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimConnecting Event + A SimConnectingEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimConnected Event + A SimConnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimDisconnected Event + A SimDisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the Disconnected Event + A DisconnectedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the SimChanged Event + A SimChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the EventQueueRunning Event + A EventQueueRunningEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + All of the simulators we are currently connected to + + + Handlers for incoming capability events + + + Handlers for incoming packets + + + Incoming packets that are awaiting handling + + + Outgoing packets that are awaiting handling + + + + Default constructor + + Reference to the GridClient object + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + + + + Register an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type to trigger events for + Callback to fire when a packet of this type + is received + True if the callback should be ran + asynchronously. Only set this to false (synchronous for callbacks + that will always complete quickly) + If any callback for a packet type is marked as + asynchronous, all callbacks for that packet type will be fired + asynchronously + + + + Unregister an event handler for a packet. This is a low level event + interface and should only be used if you are doing something not + supported in the library + + Packet type this callback is registered with + Callback to stop firing events for + + + + Register a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event to register a handler for + Callback to fire when a CAPS event is received + + + + Unregister a CAPS event handler. This is a low level event interface + and should only be used if you are doing something not supported in + the library + + Name of the CAPS event this callback is + registered with + Callback to stop firing events for + + + + Send a packet to the simulator the avatar is currently occupying + + Packet to send + + + + Send a packet to a specified simulator + + Packet to send + Simulator to send the packet to + + + + Connect to a simulator + + IP address to connect to + Port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Connect to a simulator + + IP address and port to connect to + Handle for this simulator, to identify its + location in the grid + Whether to set CurrentSim to this new + connection, use this if the avatar is moving in to this simulator + URL of the capabilities server to use for + this sim connection + A Simulator object on success, otherwise null + + + + Initiate a blocking logout request. This will return when the logout + handshake has completed or when Settings.LOGOUT_TIMEOUT + has expired and the network layer is manually shut down + + + + + Initiate the logout process. Check if logout succeeded with the + OnLogoutReply event, and if this does not fire the + Shutdown() function needs to be manually called + + + + + Close a connection to the given simulator + + + + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + + + + Shutdown will disconnect all the sims except for the current sim + first, and then kill the connection to CurrentSim. This should only + be called if the logout process times out on RequestLogout + + Type of shutdown + Shutdown message + + + + Searches through the list of currently connected simulators to find + one attached to the given IPEndPoint + + IPEndPoint of the Simulator to search for + A Simulator reference on success, otherwise null + + + + Fire an event when an event queue connects for capabilities + + Simulator the event queue is attached to + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + The event subscribers, null of no subscribers + + + Raises the LoginProgress Event + A LoginProgressEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Seed CAPS URL returned from the login server + + + A list of packets obtained during the login process which + networkmanager will log but not process + + + + Generate sane default values for a login request + + Account first name + Account last name + Account password + Client application name + Client application version + A populated struct containing + sane defaults + + + + Simplified login that takes the most common and required fields + + Account first name + Account last name + Account password + Client application name + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Simplified login that takes the most common fields along with a + starting location URI, and can accept an MD5 string instead of a + plaintext password + + Account first name + Account last name + Account password or MD5 hash of the password + such as $1$1682a1e45e9f957dcdf0bb56eb43319c + Client application name + Starting location URI that can be built with + StartLocation() + Client application version + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Login that takes a struct of all the values that will be passed to + the login server + + The values that will be passed to the login + server, all fields must be set even if they are String.Empty + Whether the login was successful or not. On failure the + LoginErrorKey string will contain the error code and LoginMessage + will contain a description of the error + + + + Build a start location URI for passing to the Login function + + Name of the simulator to start in + X coordinate to start at + Y coordinate to start at + Z coordinate to start at + String with a URI that can be used to login to a specified + location + + + + Handles response from XML-RPC login replies + + + + + Handle response from LLSD login replies + + + + + + + + Get current OS + + Either "Win" or "Linux" + + + + Get clients default Mac Address + + A string containing the first found Mac Address + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Raised when the simulator sends us data containing + ... + + + Unique identifier associated with our connections to + simulators + + + The simulator that the logged in avatar is currently + occupying + + + Shows whether the network layer is logged in to the + grid or not + + + Number of packets in the incoming queue + + + Number of packets in the outgoing queue + + + Raised when the simulator sends us data containing + ... + + + Called when a reply is received from the login server, the + login sequence will block until this event returns + + + Current state of logging in + + + Upon login failure, contains a short string key for the + type of login error that occurred + + + The raw XML-RPC reply from the login server, exactly as it + was received (minus the HTTP header) + + + During login this contains a descriptive version of + LoginStatusCode. After a successful login this will contain the + message of the day, and after a failed login a descriptive error + message will be returned + + + + Explains why a simulator or the grid disconnected from us + + + + The client requested the logout or simulator disconnect + + + The server notified us that it is disconnecting + + + Either a socket was closed or network traffic timed out + + + The last active simulator shut down + + + + Holds a simulator reference and a decoded packet, these structs are put in + the packet inbox for event handling + + + + Reference to the simulator that this packet came from + + + Packet that needs to be processed + + + + Holds a simulator reference and a serialized packet, these structs are put in + the packet outbox for sending + + + + Reference to the simulator this packet is destined for + + + Packet that needs to be sent + + + Sequence number of the wrapped packet + + + Number of times this packet has been resent + + + Environment.TickCount when this packet was last sent over the wire + + + + + + + + + + + + + + Static helper functions and global variables + + + + This header flag signals that ACKs are appended to the packet + + + This header flag signals that this packet has been sent before + + + This header flags signals that an ACK is expected for this packet + + + This header flag signals that the message is compressed using zerocoding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Given an X/Y location in absolute (grid-relative) terms, a region + handle is returned along with the local X/Y location in that region + + The absolute X location, a number such as + 255360.35 + The absolute Y location, a number such as + 255360.35 + The sim-local X position of the global X + position, a value from 0.0 to 256.0 + The sim-local Y position of the global Y + position, a value from 0.0 to 256.0 + A 64-bit region handle that can be used to teleport to + + + + Converts a floating point number to a terse string format used for + transmitting numbers in wearable asset files + + Floating point number to convert to a string + A terse string representation of the input number + + + + Convert a variable length field (byte array) to a string, with a + field name prepended to each line of the output + + If the byte array has unprintable characters in it, a + hex dump will be written instead + The StringBuilder object to write to + The byte array to convert to a string + A field name to prepend to each line of output + + + + Decode a zerocoded byte array, used to decompress packets marked + with the zerocoded flag + + Any time a zero is encountered, the next byte is a count + of how many zeroes to expand. One zero is encoded with 0x00 0x01, + two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The + first four bytes are copied directly to the output buffer. + + The byte array to decode + The length of the byte array to decode. This + would be the length of the packet up to (but not including) any + appended ACKs + The output byte array to decode to + The length of the output buffer + + + + Encode a byte array with zerocoding. Used to compress packets marked + with the zerocoded flag. Any zeroes in the array are compressed down + to a single zero byte followed by a count of how many zeroes to expand + out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, + three zeroes becomes 0x00 0x03, etc. The first four bytes are copied + directly to the output buffer. + + The byte array to encode + The length of the byte array to encode + The output byte array to encode to + The length of the output buffer + + + + Calculates the CRC (cyclic redundancy check) needed to upload inventory. + + Creation date + Sale type + Inventory type + Type + Asset ID + Group ID + Sale price + Owner ID + Creator ID + Item ID + Folder ID + Everyone mask (permissions) + Flags + Next owner mask (permissions) + Group mask (permissions) + Owner mask (permissions) + The calculated CRC + + + + Attempts to load a file embedded in the assembly + + The filename of the resource to load + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Attempts to load a file either embedded in the assembly or found in + a given search path + + The filename of the resource to load + An optional path that will be searched if + the asset is not found embedded in the assembly + A Stream for the requested file, or null if the resource + was not successfully loaded + + + + Converts a list of primitives to an object that can be serialized + with the LLSD system + + Primitives to convert to a serializable object + An object that can be serialized with LLSD + + + + Deserializes OSD in to a list of primitives + + Structure holding the serialized primitive list, + must be of the SDMap type + A list of deserialized primitives + + + + Converts a struct or class object containing fields only into a key value separated string + + The struct object + A string containing the struct fields as the keys, and the field value as the value separated + + + // Add the following code to any struct or class containing only fields to override the ToString() + // method to display the values of the passed object + + /// Print the struct data as a string + ///A string containing the field name, and field value + public override string ToString() + { + return Helpers.StructToString(this); + } + + + + + + Passed to Logger.Log() to identify the severity of a log entry + + + + No logging information will be output + + + Non-noisy useful information, may be helpful in + debugging a problem + + + A non-critical error occurred. A warning will not + prevent the rest of the library from operating as usual, + although it may be indicative of an underlying issue + + + A critical error has occurred. Generally this will + be followed by the network layer shutting down, although the + stability of the library after an error is uncertain + + + Used for internal testing, this logging level can + generate very noisy (long and/or repetitive) messages. Don't + pass this to the Log() function, use DebugLog() instead. + + + + + Access to the data server which allows searching for land, events, people, etc + + + + The event subscribers. null if no subcribers + + + Raises the EventInfoReply event + An EventInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirEventsReply event + An DirEventsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the PlacesReply event + A PlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirPlacesReply event + A DirPlacesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirClassifiedsReply event + A DirClassifiedsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirGroupsReply event + A DirGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirPeopleReply event + A DirPeopleReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the DirLandReply event + A DirLandReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + Constructs a new instance of the DirectoryManager class + + An instance of GridClient + + + + Query the data server for a list of classified ads containing the specified string. + Defaults to searching for classified placed in any category, and includes PG, Adult and Mature + results. + + Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + A UUID to correlate the results when the event is raised + + + + Query the data server for a list of classified ads which contain specified keywords (Overload) + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for + The category to search + A set of flags which can be ORed to modify query options + such as classified maturity rating. + A UUID to correlate the results when the event is raised + + Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature + + UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); + + + + Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming + the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received + + + + + Starts search for places (Overloaded) + + The event is raised when a response is received from the simulator + + Search text + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + + + Queries the dataserver for parcels of land which are flagged to be shown in search + + The event is raised when a response is received from the simulator + + A string containing a list of keywords to search for separated by a space character + A set of flags which can be ORed to modify query options + such as classified maturity rating. + The category to search + Each request is limited to 100 places + being returned. To get the first 100 result entries of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + A UUID to correlate the results when the event is raised + + Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult + + UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); + + + + Additional information on the results can be obtained by using the ParcelManager.InfoRequest method + + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Starts a search for land sales using the directory + + The event is raised when a response is received from the simulator + + What type of land to search for. Auction, + estate, mainland, "first land", etc + Maximum price to search for + Maximum area to search for + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 1, 200-299 use 2, etc. + The OnDirLandReply event handler must be registered before + calling this function. There is no way to determine how many + results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each query. + + + + Send a request to the data server for land sales listings + + + Flags sent to specify query options + + Available flags: + Specify the parcel rating with one or more of the following: + IncludePG IncludeMature IncludeAdult + + Specify the field to pre sort the results with ONLY ONE of the following: + PerMeterSort NameSort AreaSort PricesSort + + Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order + SortAsc + + Specify additional filters to limit the results with one or both of the following: + LimitByPrice LimitByArea + + Flags can be combined by separating them with the | (pipe) character + + Additional details can be found in + + What type of land to search for. Auction, + Estate or Mainland + Maximum price to search for when the + DirFindFlags.LimitByPrice flag is specified in findFlags + Maximum area to search for when the + DirFindFlags.LimitByArea flag is specified in findFlags + Each request is limited to 100 parcels + being returned. To get the first 100 parcels of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + The event will be raised with the response from the simulator + + There is no way to determine how many results will be returned, or how many times the callback will be + fired other than you won't get more than 100 total parcels from + each reply. + + Any land set for sale to either anybody or specific to the connected agent will be included in the + results if the land is included in the query + + + // request all mainland, any maturity rating that is larger than 512 sq.m + StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + + + + + Search for Groups + + The name or portion of the name of the group you wish to search for + Start from the match number + Search flags + + + + + Search the People directory for other avatars + + The name or portion of the name of the avatar you wish to search for + + + + + + Search Places for parcels of land you personally own + + + + + Searches Places for land owned by the specified group + + ID of the group you want to recieve land list for (You must be a member of the group) + Transaction (Query) ID which can be associated with results from your request. + + + + Search the Places directory for parcels that are listed in search and contain the specified keywords + + A string containing the keywords to search for + Transaction (Query) ID which can be associated with results from your request. + + + + Search Places - All Options + + One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. + One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer + A string containing a list of keywords to search for separated by a space character + String Simulator Name to search in + LLUID of group you want to recieve results for + Transaction (Query) ID which can be associated with results from your request. + Transaction (Query) ID which can be associated with results from your request. + + + + Search All Events with specifid searchText in all categories, includes PG, Mature and Adult + + A string containing a list of keywords to search for separated by a space character + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + UUID of query to correlate results in callback. + + + + Search Events + + A string containing a list of keywords to search for separated by a space character + One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult + from the Enum + + Multiple flags can be combined by separating the flags with the | (pipe) character + "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled + For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. + Each request is limited to 100 entries + being returned. To get the first group of entries of a request use 0, + from 100-199 use 100, 200-299 use 200, etc. + EventCategory event is listed under. + UUID of query to correlate results in callback. + + + Requests Event Details + ID of Event returned from the method + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming event message + The Unique Capabilities Key + The event message containing the data + The simulator the message originated from + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Classified Ad categories + + + Classified is listed in the Any category + + + Classified is shopping related + + + Classified is + + + + + + + + + + + + + + + + + + + + + + + + Event Categories + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. + + Flags can be combined using the | (pipe) character, not all flags are available in all queries + + + + Query the People database + + + + + + + + + Query the Groups database + + + Query the Events database + + + Query the land holdings database for land owned by the currently connected agent + + + + + + Query the land holdings database for land which is owned by a Group + + + Specifies the query should pre sort the results based upon traffic + when searching the Places database + + + + + + + + + + + + + + + Specifies the query should pre sort the results in an ascending order when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. + This flag is only used when searching the land sales database + + + Specifies the query should pre sort the results using the Name field when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels less than the specified Price will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + When set, only parcels greater than the specified Size will be included when searching the land sales database. + This flag is only used when searching the land sales database + + + + + + + + + Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases + + + + + + + Land types to search dataserver for + + + + Search Auction, Mainland and Estate + + + Land which is currently up for auction + + + Parcels which are on the mainland (Linden owned) continents + + + Parcels which are on privately owned simulators + + + + The content rating of the event + + + + Event is PG + + + Event is Mature + + + Event is Adult + + + + Classified Ad Options + + There appear to be two formats the flags are packed in. + This set of flags is for the newer style + + + + + + + + + + + + + + + + + + + Classified ad query options + + + + Include all ads in results + + + Include PG ads in results + + + Include Mature ads in results + + + Include Adult ads in results + + + + The For Sale flag in PlacesReplyData + + + + Parcel is not listed for sale + + + Parcel is For Sale + + + + A classified ad on the grid + + + + UUID for this ad, useful for looking up detailed + information about it + + + The title of this classified ad + + + Flags that show certain options applied to the classified + + + Creation date of the ad + + + Expiration date of the ad + + + Price that was paid for this ad + + + Print the struct data as a string + A string containing the field name, and field value + + + + A parcel retrieved from the dataserver such as results from the + "For-Sale" listings or "Places" Search + + + + The unique dataserver parcel ID + This id is used to obtain additional information from the entry + by using the method + + + A string containing the name of the parcel + + + The size of the parcel + This field is not returned for Places searches + + + The price of the parcel + This field is not returned for Places searches + + + If True, this parcel is flagged to be auctioned + + + If true, this parcel is currently set for sale + + + Parcel traffic + + + Print the struct data as a string + A string containing the field name, and field value + + + + An Avatar returned from the dataserver + + + + Online status of agent + This field appears to be obsolete and always returns false + + + The agents first name + + + The agents last name + + + The agents + + + Print the struct data as a string + A string containing the field name, and field value + + + + Response to a "Groups" Search + + + + The Group ID + + + The name of the group + + + The current number of members + + + Print the struct data as a string + A string containing the field name, and field value + + + + Parcel information returned from a request + + Represents one of the following: + A parcel of land on the grid that has its Show In Search flag set + A parcel of land owned by the agent making the request + A parcel of land owned by a group the agent making the request is a member of + + + In a request for Group Land, the First record will contain an empty record + + Note: This is not the same as searching the land for sale data source + + + + The ID of the Agent of Group that owns the parcel + + + The name + + + The description + + + The Size of the parcel + + + The billable Size of the parcel, for mainland + parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller + than the ActualArea. For Estate land this will always be 0 + + + Indicates the ForSale status of the parcel + + + The Gridwide X position + + + The Gridwide Y position + + + The Z position of the parcel, or 0 if no landing point set + + + The name of the Region the parcel is located in + + + The Asset ID of the parcels Snapshot texture + + + The calculated visitor traffic + + + The billing product SKU + Known values are: + + 023Mainland / Full Region + 024Estate / Full Region + 027Estate / Openspace + 029Estate / Homestead + 129Mainland / Homestead (Linden Owned) + + + + + No longer used, will always be 0 + + + Get a SL URL for the parcel + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + + An "Event" Listing summary + + + + The ID of the event creator + + + The name of the event + + + The events ID + + + A string containing the short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) + + + The events maturity rating + + + Print the struct data as a string + A string containing the field name, and field value + + + + The details of an "Event" + + + + The events ID + + + The ID of the event creator + + + The name of the event + + + The category + + + The events description + + + The short date/time the event will begin + + + The event start time in Unixtime (seconds since epoch) UTC adjusted + + + The length of the event in minutes + + + 0 if no cover charge applies + + + The cover charge amount in L$ if applicable + + + The name of the region where the event is being held + + + The gridwide location of the event + + + The maturity rating + + + Get a SL URL for the parcel where the event is hosted + A string, containing a standard SLURL + + + Print the struct data as a string + A string containing the field name, and field value + + + Contains the Event data returned from the data server from an EventInfoRequest + + + Construct a new instance of the EventInfoReplyEventArgs class + A single EventInfo object containing the details of an event + + + + A single EventInfo object containing the details of an event + + + + Contains the "Event" detail data returned from the data server + + + Construct a new instance of the DirEventsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Events" returned by the search query + + + The ID returned by + + + A list of "Events" returned by the data server + + + Contains the "Event" list data returned from the data server + + + Construct a new instance of PlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing the "Places" returned by the data server query + + + The ID returned by + + + A list of "Places" returned by the data server + + + Contains the places data returned from the data server + + + Construct a new instance of the DirPlacesReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list containing land data returned by the data server + + + The ID returned by + + + A list containing Places data returned by the data server + + + Contains the classified data returned from the data server + + + Construct a new instance of the DirClassifiedsReplyEventArgs class + A list of classified ad data returned from the data server + + + A list containing Classified Ads returned by the data server + + + Contains the group data returned from the data server + + + Construct a new instance of the DirGroupsReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of groups data returned by the data server + + + The ID returned by + + + A list containing Groups data returned by the data server + + + Contains the people data returned from the data server + + + Construct a new instance of the DirPeopleReplyEventArgs class + The ID of the query returned by the data server. + This will correlate to the ID returned by the method + A list of people data returned by the data server + + + The ID returned by + + + A list containing People data returned by the data server + + + Contains the land sales data returned from the data server + + + Construct a new instance of the DirLandReplyEventArgs class + A list of parcels for sale returned by the data server + + + A list containing land forsale data returned by the data server + + + + Capabilities is the name of the bi-directional HTTP REST protocol + used to communicate non real-time transactions such as teleporting or + group messaging + + + + Reference to the simulator this system is connected to + + + + Default constructor + + + + + + + Request the URI of a named capability + + Name of the capability to request + The URI of the requested capability, or String.Empty if + the capability does not exist + + + + Process any incoming events, check to see if we have a message created for the event, + + + + + + Capabilities URI this system was initialized with + + + Whether the capabilities event queue is connected and + listening for incoming events + + + + Triggered when an event is received via the EventQueueGet + capability + + Event name + Decoded event data + The simulator that generated the event + Permission request flags, asked when a script wants to control an Avatar @@ -138,7 +9220,7 @@ IM for help - IM sent automatically on call for help, sends a lure + IM sent automatically on call for help, sends a lure to each Helper reached @@ -235,19 +9317,17 @@ + - - + - - + - - + @@ -255,59 +9335,47 @@ - - + - - + - - + - - + - - + - - + - - + Project a beam from a source to a destination, such as the one used when editing an object - - + - - + - - + Create a swirl of particles around an object - - + - - + Cause an avatar to look at an object @@ -317,52 +9385,42 @@ - The action an avatar is doing when looking at something, used in + The action an avatar is doing when looking at something, used in ViewerEffect packets for the LookAt effect - - + - - + - - + - - + - - + - - + Deprecated - - + - - + - - + - - + @@ -371,20 +9429,16 @@ - - + - - + - - + - - + @@ -392,260 +9446,200 @@ - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + - - + + - - + - - + - - + - - + - - + - - + + - - + - - + - - + - - + - - + - - + @@ -704,16 +9698,13 @@ - - + - - + - - + @@ -740,6 +9731,7 @@ + @@ -749,8 +9741,7 @@ Set when newbie leaves help island for first time - - + Via Lure @@ -777,23 +9768,19 @@ Linden Forced me - - + Agent Teleported Home via Script - - + - - + - - + forced to new location for example when avatar is banned or ejected @@ -809,39 +9796,34 @@ + - - + - - + - - + + - - + - - + - - + - - + @@ -896,546 +9878,223 @@ Manager class for our own avatar - - - Constructor, setup callbacks for packets related to our avatar - - A reference to the Class - - - - Agent movement and camera control - Agent movement is controlled by setting specific - After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags - This is most easily accomplished by setting one or more of the AgentMovement properties - Movement of an avatar is always based on a compass direction, for example AtPos will move the - agent from West to East or forward on the X Axis, AtNeg will of course move agent from - East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis - The Z axis is Up, finer grained control of movements can be done using the Nudge properties - - - - Default constructor - - - - Camera controls for the agent, mostly a thin wrapper around - CoordinateFrame. This class is only responsible for state - tracking and math, it does not send any packets - - - - - Default constructor - - - - - - - - The camera is a local frame of reference inside of - the larger grid space. This is where the math happens - - - - - - - - - - - - - - - - - - - Agent camera controls - - - Currently only used for hiding your group title - - - Action state of the avatar, which can currently be - typing and editing - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Timer for sending AgentUpdate packets - - - Move agent positive along the X axis - - - Move agent negative along the X axis - - - Move agent positive along the Y axis - - - Move agent negative along the Y axis - - - Move agent positive along the Z axis - - - Move agent negative along the Z axis - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Causes simulator to make agent fly - - - Stop movement - - - Finish animation - - - Stand up from a sit - - - Tells simulator to sit agent on ground - - - Place agent into mouselook mode - - - Nudge agent positive along the X axis - - - Nudge agent negative along the X axis - - - Nudge agent positive along the Y axis - - - Nudge agent negative along the Y axis - - - Nudge agent positive along the Z axis - - - Nudge agent negative along the Z axis - - - - - - - - - - - Tell simulator to mark agent as away - - - - - - - - - - - - - - - - - - - - Returns "always run" value, or changes it by sending a SetAlwaysRunPacket - - - - The current value of the agent control flags - - - Gets or sets the interval in milliseconds at which - AgentUpdate packets are sent to the current simulator. Setting - this to a non-zero value will also enable the packet sending if - it was previously off, and setting it to zero will disable - - - Gets or sets whether AgentUpdate packets are sent to - the current simulator - - - Reset movement controls every time we send an update - - - - Send an AgentUpdate with the camera set at the current agent - position and pointing towards the heading specified - - Camera rotation in radians - Whether to send the AgentUpdate reliable - or not - - - - Rotates the avatar body and camera toward a target position. - This will also anchor the camera position on the avatar - - Region coordinates to turn toward - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - - - - Send new AgentUpdate packet to update our current camera - position and rotation - - Whether to require server acknowledgement - of this packet - Simulator to send the update to - - - - Builds an AgentUpdate packet entirely from parameters. This - will not touch the state of Self.Movement or - Self.Movement.Camera in any way - - - - - - - - - - - - - - - - - - - - - - - - - - - Used to specify movement actions for your agent - - - - Empty flag - - - Move Forward (SL Keybinding: W/Up Arrow) - - - Move Backward (SL Keybinding: S/Down Arrow) - - - Move Left (SL Keybinding: Shift-(A/Left Arrow)) - - - Move Right (SL Keybinding: Shift-(D/Right Arrow)) - - - Not Flying: Jump/Flying: Move Up (SL Keybinding: E) - - - Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) - - - Unused - - - Unused - - - Unused - - - Unused - - - ORed with AGENT_CONTROL_AT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used - - - ORed with AGENT_CONTROL_UP_* if the keyboard is being used - - - Fly - - - - - - - Finish our current animation - - - Stand up from the ground or a prim seat - - - Sit on the ground at our current location - - - Whether mouselook is currently enabled - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - Legacy, used if a key was pressed for less than a certain amount of time - - - - - - - - - - - Set when the avatar is idled or set to away. Note that the away animation is - activated separately from setting this flag - - - - - - - - - - - - - - - - - - - - Called once attachment resource usage information has been collected - - Indicates if operation was successfull - Attachment resource usage information - The event subscribers. null if no subcribers + + Raises the ChatFromSimulator event + A ChatEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the ScriptDialog event + A SctriptDialogEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the ScriptQuestion event + A ScriptQuestionEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the LoadURL event + A LoadUrlEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the MoneyBalance event + A BalanceEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the MoneyBalanceReply event + A MoneyBalanceReplyEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the IM event + A InstantMessageEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the TeleportProgress event + A TeleportEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the AgentDataReply event + A AgentDataReplyEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the AnimationsChanged event + A AnimationsChangedEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the MeanCollision event + A MeanCollisionEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the RegionCrossed event + A RegionCrossedEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the GroupChatJoined event + A GroupChatJoinedEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the AlertMessage event + A AlertMessageEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the ScriptControlChange event + A ScriptControlEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the CameraConstraint event + A CameraConstraintEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the ScriptSensorReply event + A ScriptSensorReplyEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the AvatarSitResponse event + A AvatarSitResponseEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the ChatSessionMemberAdded event + A ChatSessionMemberAddedEventArgs object containing the + data returned from the data server + Thread sync lock object The event subscribers. null if no subcribers + + Raises the ChatSessionMemberLeft event + A ChatSessionMemberLeftEventArgs object containing the + data returned from the data server + Thread sync lock object @@ -1453,263 +10112,17 @@ Dictionary containing current Group Chat sessions and members - - Raised when a scripted object or agent within range sends a public message - - - Raised when a scripted object sends a dialog box containing possible - options an agent can respond to - - - Raised when an object requests a change in the permissions an agent has permitted - - - Raised when a script requests an agent open the specified URL - - - Raised when an agents currency balance is updated - - - Raised when a transaction occurs involving currency such as a land purchase - - - Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from - private messaging to friendship offers. The Dialog field defines what type of message has arrived - - - Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times - for each teleport indicating the progress of the request - - - Raised when a simulator sends agent specific information for our avatar. - - - Raised when our agents animation playlist changes - - - Raised when an object or avatar forcefully collides with our agent - - - Raised when our agent crosses a region border into another region - - - Raised when our agent succeeds or fails to join a group chat session - - - Raised when a simulator sends an urgent message usually indication the recent failure of - another action we have attempted to take such as an attempt to enter a parcel where we are denied access - - - Raised when a script attempts to take or release specified controls for our agent - - - Raised when the simulator detects our agent is trying to view something - beyond its limits - - - Raised when a script sensor reply is received from a simulator - - - Raised in response to a request - - - Raised when an avatar enters a group chat session we are participating in - - - Raised when an agent exits a group chat session we are participating in - - - Your (client) avatars - "client", "agent", and "avatar" all represent the same thing - - - Temporary assigned to this session, used for - verifying our identity in packets - - - Shared secret that is never sent over the wire - - - Your (client) avatar ID, local to the current region/sim - - - Where the avatar started at login. Can be "last", "home" - or a login - - - The access level of this agent, usually M or PG - - - The CollisionPlane of Agent - - - An representing the velocity of our agent - - - An representing the acceleration of our agent - - - A which specifies the angular speed, and axis about which an Avatar is rotating. - - - Position avatar client will goto when login to 'home' or during - teleport request to 'home' region. - - - LookAt point saved/restored with HomePosition - - - Avatar First Name (i.e. Philip) - - - Avatar Last Name (i.e. Linden) - - - Avatar Full Name (i.e. Philip Linden) - - - Gets the health of the agent - - - Gets the current balance of the agent - - - Gets the local ID of the prim the agent is sitting on, - zero if the avatar is not currently sitting - - - Gets the of the agents active group. - - - Gets the Agents powers in the currently active group - - - Current status message for teleporting - - - Current position of the agent as a relative offset from - the simulator, or the parent object if we are sitting on something - - - Current rotation of the agent as a relative rotation from - the simulator, or the parent object if we are sitting on something - - - Current position of the agent in the simulator - - + - A representing the agents current rotation + Constructor, setup callbacks for packets related to our avatar - - - Returns the global grid position of the avatar - - - Raises the ChatFromSimulator event - A ChatEventArgs object containing the - data returned from the data server - - - Raises the ScriptDialog event - A SctriptDialogEventArgs object containing the - data returned from the data server - - - Raises the ScriptQuestion event - A ScriptQuestionEventArgs object containing the - data returned from the data server - - - Raises the LoadURL event - A LoadUrlEventArgs object containing the - data returned from the data server - - - Raises the MoneyBalance event - A BalanceEventArgs object containing the - data returned from the data server - - - Raises the MoneyBalanceReply event - A MoneyBalanceReplyEventArgs object containing the - data returned from the data server - - - Raises the IM event - A InstantMessageEventArgs object containing the - data returned from the data server - - - Raises the TeleportProgress event - A TeleportEventArgs object containing the - data returned from the data server - - - Raises the AgentDataReply event - A AgentDataReplyEventArgs object containing the - data returned from the data server - - - Raises the AnimationsChanged event - A AnimationsChangedEventArgs object containing the - data returned from the data server - - - Raises the MeanCollision event - A MeanCollisionEventArgs object containing the - data returned from the data server - - - Raises the RegionCrossed event - A RegionCrossedEventArgs object containing the - data returned from the data server - - - Raises the GroupChatJoined event - A GroupChatJoinedEventArgs object containing the - data returned from the data server - - - Raises the AlertMessage event - A AlertMessageEventArgs object containing the - data returned from the data server - - - Raises the ScriptControlChange event - A ScriptControlEventArgs object containing the - data returned from the data server - - - Raises the CameraConstraint event - A CameraConstraintEventArgs object containing the - data returned from the data server - - - Raises the ScriptSensorReply event - A ScriptSensorReplyEventArgs object containing the - data returned from the data server - - - Raises the AvatarSitResponse event - A AvatarSitResponseEventArgs object containing the - data returned from the data server - - - Raises the ChatSessionMemberAdded event - A ChatSessionMemberAddedEventArgs object containing the - data returned from the data server - - - Raises the ChatSessionMemberLeft event - A ChatSessionMemberLeftEventArgs object containing the - data returned from the data server + A reference to the Class Send a text message from the Agent to the Simulator - A containing the message + A containing the message The channel to send the message on, 0 is the public channel. Channels above 0 can be used however only scripts listening on the specified channel will see the message Denotes the type of message being sent, shout, whisper, etc. @@ -1723,15 +10136,15 @@ Send an Instant Message to another Avatar - The recipients - A containing the message to send + The recipients + A containing the message to send Send an Instant Message to an existing group chat or conference chat - The recipients - A containing the message to send + The recipients + A containing the message to send IM session ID (to differentiate between IM windows) @@ -1763,8 +10176,7 @@ Send an Instant Message to a group - - of the group to send message to + of the group to send message to Text Message being sent. @@ -1772,96 +10184,84 @@ Send an Instant Message to a group the agent is a member of The name this IM will show up as being from - - of the group to send message to + of the group to send message to Text message being sent Send a request to join a group chat session - - of Group to leave + of Group to leave Exit a group chat session. This will stop further Group chat messages from being sent until session is rejoined. - - of Group chat session to leave + of Group chat session to leave - Reply to script dialog questions. + Reply to script dialog questions. Channel initial request came on Index of button you're "clicking" Label of button you're "clicking" - - of Object that sent the dialog request - + of Object that sent the dialog request + Accept invite for to a chatterbox session - - of session to accept invite to + of session to accept invite to Start a friends conference - - List of UUIDs to start a conference with - the temportary session ID returned in the callback> + List of UUIDs to start a conference with + the temportary session ID returned in the callback> Start a particle stream between an agent and an object - - Key of the source agent - - Key of the target object - - - The type from the enum - A unique for this effect + Key of the source agent + Key of the target object + + The type from the enum + A unique for this effect Start a particle stream between an agent and an object - - Key of the source agent - - Key of the target object - A representing the beams offset from the source - A which sets the avatars lookat animation - - of the Effect + Key of the source agent + Key of the target object + A representing the beams offset from the source + A which sets the avatars lookat animation + of the Effect - Create a particle beam between an avatar and an primitive + Create a particle beam between an avatar and an primitive The ID of source avatar The ID of the target primitive global offset - A object containing the combined red, green, blue and alpha + A object containing the combined red, green, blue and alpha color values of particle beam a float representing the duration the parcicle beam will last A Unique ID for the beam - + - Create a particle swirl around a target position using a packet + Create a particle swirl around a target position using a packet global offset - A object containing the combined red, green, blue and alpha + A object containing the combined red, green, blue and alpha color values of particle beam a float representing the duration the parcicle beam will last A Unique ID for the beam @@ -1870,13 +10270,12 @@ Sends a request to sit on the specified object - - of the object to sit on + of the object to sit on Sit at offset - Follows a call to to actually sit on the object + Follows a call to to actually sit on the object @@ -1943,15 +10342,14 @@ Grabs an object an unsigned integer of the objects ID within the simulator - + Overload: Grab a simulated object an unsigned integer of the objects ID within the simulator - - + The texture coordinates to grab The surface coordinates to grab The face of the position to grab @@ -1964,19 +10362,16 @@ Drag an object - - of the object to drag + of the object to drag Drag target in region coordinates Overload: Drag an object - - of the object to drag + of the object to drag Drag target in region coordinates - - + The texture coordinates to grab The surface coordinates to grab The face of the position to grab @@ -1990,9 +10385,9 @@ Release a grabbed object The Objects Simulator Local ID - - - + + + @@ -2012,7 +10407,7 @@ Touches an object an unsigned integer of the objects ID within the simulator - + @@ -2039,7 +10434,7 @@ Give L$ to an object - object to give money to + object to give money to amount of L$ to give name of object @@ -2047,14 +10442,14 @@ Give L$ to a group - group to give money to + group to give money to amount of L$ to give Give L$ to a group - group to give money to + group to give money to amount of L$ to give description of transaction @@ -2084,33 +10479,33 @@ Plays a gesture - Asset of the gesture + Asset of the gesture Mark gesture active - Inventory of the gesture - Asset of the gesture + Inventory of the gesture + Asset of the gesture Mark gesture inactive - Inventory of the gesture + Inventory of the gesture Send an AgentAnimation packet that toggles a single animation on - The of the animation to start playing + The of the animation to start playing Whether to ensure delivery of this packet or not Send an AgentAnimation packet that toggles a single animation off - The of a + The of a currently playing animation to stop playing Whether to ensure delivery of this packet or not @@ -2118,7 +10513,7 @@ Send an AgentAnimation packet that will toggle animations on or off - A list of animation s, and whether to + A list of animation s, and whether to turn that animation on or off Whether to ensure delivery of this packet or not @@ -2132,8 +10527,7 @@ Teleport agent to a landmark - - of the landmark to teleport agent to + of the landmark to teleport agent to true on success, false on failure @@ -2162,8 +10556,7 @@ Teleport agent to another region handle of region to teleport agent to - - position in destination sim to teleport to + position in destination sim to teleport to true on success, false on failure This call is blocking @@ -2172,10 +10565,8 @@ Teleport agent to another region handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at + position in destination sim to teleport to + direction in destination sim agent will look at true on success, false on failure This call is blocking @@ -2184,61 +10575,55 @@ Request teleport to a another simulator handle of region to teleport agent to - - position in destination sim to teleport to + position in destination sim to teleport to Request teleport to a another simulator handle of region to teleport agent to - - position in destination sim to teleport to - - direction in destination sim agent will look at + position in destination sim to teleport to + direction in destination sim agent will look at Teleport agent to a landmark - - of the landmark to teleport agent to + of the landmark to teleport agent to Send a teleport lure to another avatar with default "Join me in ..." invitation message - target avatars to lure + target avatars to lure Send a teleport lure to another avatar with custom invitation message - target avatars to lure + target avatars to lure custom message to send with invitation - Respond to a teleport lure by either accepting it and initiating + Respond to a teleport lure by either accepting it and initiating the teleport, or denying it - - of the avatar sending the lure + of the avatar sending the lure true to accept the lure, false to decline it Update agent profile - - struct containing updated + struct containing updated profile information Update agents profile interests - selection of interests from struct + selection of interests from struct @@ -2257,7 +10642,7 @@ Sets home location to agents current position - will fire an AlertMessage () with + will fire an AlertMessage () with success or failure message @@ -2265,21 +10650,16 @@ Move an agent in to a simulator. This packet is the last packet needed to complete the transition in to a new simulator - - Object + Object Reply to script permissions request - - Object - - of the itemID requesting permissions - - of the taskID requesting permissions - - list of permissions to allow + Object + of the itemID requesting permissions + of the taskID requesting permissions + list of permissions to allow @@ -2366,8 +10746,8 @@ - Take an incoming Chat packet, auto-parse, and if OnChat is defined call - that with the appropriate arguments. + Take an incoming Chat packet, auto-parse, and if OnChat is defined call + that with the appropriate arguments. The sender The EventArgs object containing the packet data @@ -2461,7 +10841,7 @@ The message key the IMessage object containing the deserialized data sent from the simulator - The which originated the packet + The which originated the packet Process an incoming packet and raise the appropriate events @@ -2475,28 +10855,23 @@ The capability Key IMessage object containing decoded data from OSD - - + Response from request to join a group chat - - + IMessage object containing decoded data from OSD - - + Someone joined or left group chat - - + IMessage object containing decoded data from OSD - - + @@ -2510,8 +10885,8 @@ Moderate a chat session - the of the session to moderate, for group chats this will be the groups UUID - the of the avatar to moderate + the of the session to moderate, for group chats this will be the groups UUID + the of the avatar to moderate Either "voice" to moderate users voice, or "text" to moderate users text session true to moderate (silence user), false to allow avatar to speak @@ -2535,8 +10910,535 @@ The sender The EventArgs object containing the packet data + + Raised when a scripted object or agent within range sends a public message + + + Raised when a scripted object sends a dialog box containing possible + options an agent can respond to + + + Raised when an object requests a change in the permissions an agent has permitted + + + Raised when a script requests an agent open the specified URL + + + Raised when an agents currency balance is updated + + + Raised when a transaction occurs involving currency such as a land purchase + + + Raised when an ImprovedInstantMessage packet is recieved from the simulator, this is used for everything from + private messaging to friendship offers. The Dialog field defines what type of message has arrived + + + Raised when an agent has requested a teleport to another location, or when responding to a lure. Raised multiple times + for each teleport indicating the progress of the request + + + Raised when a simulator sends agent specific information for our avatar. + + + Raised when our agents animation playlist changes + + + Raised when an object or avatar forcefully collides with our agent + + + Raised when our agent crosses a region border into another region + + + Raised when our agent succeeds or fails to join a group chat session + + + Raised when a simulator sends an urgent message usually indication the recent failure of + another action we have attempted to take such as an attempt to enter a parcel where we are denied access + + + Raised when a script attempts to take or release specified controls for our agent + + + Raised when the simulator detects our agent is trying to view something + beyond its limits + + + Raised when a script sensor reply is received from a simulator + + + Raised in response to a request + + + Raised when an avatar enters a group chat session we are participating in + + + Raised when an agent exits a group chat session we are participating in + + + Your (client) avatars + "client", "agent", and "avatar" all represent the same thing + + + Temporary assigned to this session, used for + verifying our identity in packets + + + Shared secret that is never sent over the wire + + + Your (client) avatar ID, local to the current region/sim + + + Where the avatar started at login. Can be "last", "home" + or a login + + + The access level of this agent, usually M or PG + + + The CollisionPlane of Agent + + + An representing the velocity of our agent + + + An representing the acceleration of our agent + + + A which specifies the angular speed, and axis about which an Avatar is rotating. + + + Position avatar client will goto when login to 'home' or during + teleport request to 'home' region. + + + LookAt point saved/restored with HomePosition + + + Avatar First Name (i.e. Philip) + + + Avatar Last Name (i.e. Linden) + + + Avatar Full Name (i.e. Philip Linden) + + + Gets the health of the agent + + + Gets the current balance of the agent + + + Gets the local ID of the prim the agent is sitting on, + zero if the avatar is not currently sitting + + + Gets the of the agents active group. + + + Gets the Agents powers in the currently active group + + + Current status message for teleporting + + + Current position of the agent as a relative offset from + the simulator, or the parent object if we are sitting on something + + + Current rotation of the agent as a relative rotation from + the simulator, or the parent object if we are sitting on something + + + Current position of the agent in the simulator + + + + A representing the agents current rotation + + + + Returns the global grid position of the avatar + + + + Called once attachment resource usage information has been collected + + Indicates if operation was successfull + Attachment resource usage information + + + + Agent movement and camera control + + Agent movement is controlled by setting specific + After the control flags are set, An AgentUpdate is required to update the simulator of the specified flags + This is most easily accomplished by setting one or more of the AgentMovement properties + + Movement of an avatar is always based on a compass direction, for example AtPos will move the + agent from West to East or forward on the X Axis, AtNeg will of course move agent from + East to West or backward on the X Axis, LeftPos will be South to North or forward on the Y Axis + The Z axis is Up, finer grained control of movements can be done using the Nudge properties + + + + Agent camera controls + + + Currently only used for hiding your group title + + + Action state of the avatar, which can currently be + typing and editing + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Timer for sending AgentUpdate packets + + + Default constructor + + + + Send an AgentUpdate with the camera set at the current agent + position and pointing towards the heading specified + + Camera rotation in radians + Whether to send the AgentUpdate reliable + or not + + + + Rotates the avatar body and camera toward a target position. + This will also anchor the camera position on the avatar + + Region coordinates to turn toward + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + + + + Send new AgentUpdate packet to update our current camera + position and rotation + + Whether to require server acknowledgement + of this packet + Simulator to send the update to + + + + Builds an AgentUpdate packet entirely from parameters. This + will not touch the state of Self.Movement or + Self.Movement.Camera in any way + + + + + + + + + + + + + + + Move agent positive along the X axis + + + Move agent negative along the X axis + + + Move agent positive along the Y axis + + + Move agent negative along the Y axis + + + Move agent positive along the Z axis + + + Move agent negative along the Z axis + + + + + + + + + + + + + + + + + + + + + + + + Causes simulator to make agent fly + + + Stop movement + + + Finish animation + + + Stand up from a sit + + + Tells simulator to sit agent on ground + + + Place agent into mouselook mode + + + Nudge agent positive along the X axis + + + Nudge agent negative along the X axis + + + Nudge agent positive along the Y axis + + + Nudge agent negative along the Y axis + + + Nudge agent positive along the Z axis + + + Nudge agent negative along the Z axis + + + + + + + + + Tell simulator to mark agent as away + + + + + + + + + + + + + + + + Returns "always run" value, or changes it by sending a SetAlwaysRunPacket + + + + The current value of the agent control flags + + + Gets or sets the interval in milliseconds at which + AgentUpdate packets are sent to the current simulator. Setting + this to a non-zero value will also enable the packet sending if + it was previously off, and setting it to zero will disable + + + Gets or sets whether AgentUpdate packets are sent to + the current simulator + + + Reset movement controls every time we send an update + + + + Camera controls for the agent, mostly a thin wrapper around + CoordinateFrame. This class is only responsible for state + tracking and math, it does not send any packets + + + + + + + The camera is a local frame of reference inside of + the larger grid space. This is where the math happens + + + + Default constructor + + + + + + + + + + + + + + + + + Used to specify movement actions for your agent + + + + Empty flag + + + Move Forward (SL Keybinding: W/Up Arrow) + + + Move Backward (SL Keybinding: S/Down Arrow) + + + Move Left (SL Keybinding: Shift-(A/Left Arrow)) + + + Move Right (SL Keybinding: Shift-(D/Right Arrow)) + + + Not Flying: Jump/Flying: Move Up (SL Keybinding: E) + + + Not Flying: Croutch/Flying: Move Down (SL Keybinding: C) + + + Unused + + + Unused + + + Unused + + + Unused + + + ORed with AGENT_CONTROL_AT_* if the keyboard is being used + + + ORed with AGENT_CONTROL_LEFT_* if the keyboard is being used + + + ORed with AGENT_CONTROL_UP_* if the keyboard is being used + + + Fly + + + + + + Finish our current animation + + + Stand up from the ground or a prim seat + + + Sit on the ground at our current location + + + Whether mouselook is currently enabled + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + Legacy, used if a key was pressed for less than a certain amount of time + + + + + + + + + Set when the avatar is idled or set to away. Note that the away animation is + activated separately from setting this flag + + + + + + + + + + + + + + @@ -2655,7 +11557,7 @@ Get the permissions being requested - Contains the data sent when a primitive sends a request + Contains the data sent when a primitive sends a request to an agent to open the specified URL @@ -2718,7 +11620,7 @@ - Contains the transaction summary when an item is purchased, + Contains the transaction summary when an item is purchased, money is given, or land is purchased @@ -2963,7 +11865,7 @@ Get the velocity of the primitive sending the sensor - Contains the response data returned from the simulator in response to a + Contains the response data returned from the simulator in response to a Construct a new instance of the AvatarSitResponseEventArgs object @@ -3021,72 +11923,9894 @@ Get the ID of the agent that left - + - Throttles the network traffic for various different traffic types. - Access this class through GridClient.Throttle + Starts a thread that keeps the daemon running + + + + + + + Stops the daemon and the thread keeping it running - + - Default constructor, uses a default high total of 1500 KBps (1536000) + + + + + + + + + This is used to initialize and stop the Connector as a whole. The Connector + Create call must be completed successfully before any other requests are made + (typically during application initialization). The shutdown should be called + when the application is shutting down to gracefully release resources + + A string value indicting the Application name + URL for the management server + LoggingSettings + + + + + + Shutdown Connector -- Should be called when the application is shutting down + to gracefully release resources + + Handle returned from successful Connector ‘create’ request + + + + Mute or unmute the microphone + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) + + + + Mute or unmute the speaker + + Handle returned from successful Connector ‘create’ request + true (mute) or false (unmute) + + + + Set microphone volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume + + + + Set local speaker volume + + Handle returned from successful Connector ‘create’ request + The level of the audio, a number between -100 and 100 where + 0 represents ‘normal’ speaking volume + + + + Create a Session + Sessions typically represent a connection to a media session with one or more + participants. This is used to generate an ‘outbound’ call to another user or + channel. The specifics depend on the media types involved. A session handle is + required to control the local user functions within the session (or remote + users if the current account has rights to do so). Currently creating a + session automatically connects to the audio media, there is no need to call + Session.Connect at this time, this is reserved for future use. + + Handle returned from successful Connector ‘create’ request + This is the URI of the terminating point of the session (ie who/what is being called) + This is the display name of the entity being called (user or channel) + Only needs to be supplied when the target URI is password protected + This indicates the format of the password as passed in. This can either be + “ClearText” or “SHA1UserName”. If this element does not exist, it is assumed to be “ClearText”. If it is + “SHA1UserName”, the password as passed in is the SHA1 hash of the password and username concatenated together, + then base64 encoded, with the final “=” character stripped off. + + + + + + + Used to accept a call + + SessionHandle such as received from SessionNewEvent + "default" + + + + + This command is used to start the audio render process, which will then play + the passed in file through the selected audio render device. This command + should not be issued if the user is on a call. + + The fully qualified path to the sound file. + True if the file is to be played continuously and false if it is should be played once. + + + + + This command is used to stop the audio render process. + + The fully qualified path to the sound file issued in the start render command. + + + + + This is used to ‘end’ an established session (i.e. hang-up or disconnect). + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + + + + Set the combined speaking and listening position in 3D space. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + Speaking position + Listening position + + + + + Set User Volume for a particular user. Does not affect how other users hear that user. + + Handle returned from successful Session ‘create’ request or a SessionNewEvent + + The level of the audio, a number between -100 and 100 where 0 represents ‘normal’ speaking volume + + + + + This is used to get a list of audio devices that can be used for capture (input) of voice. + + + + + + This is used to get a list of audio devices that can be used for render (playback) of voice. - + - Constructor that decodes an existing AgentThrottle packet in to - individual values + This command is used to select the render device. - Reference to the throttle data in an AgentThrottle - packet - Offset position to start reading at in the - throttle data - This is generally not needed in clients as the server will - never send a throttle packet to the client + The name of the device as returned by the Aux.GetRenderDevices command. - - Maximum bits per second for resending unacknowledged packets - - - Maximum bits per second for LayerData terrain - - - Maximum bits per second for LayerData wind data - - - Maximum bits per second for LayerData clouds - - - Unknown, includes object data - - - Maximum bits per second for textures - - - Maximum bits per second for downloaded assets - - - Maximum bits per second the entire connection, divided up - between invidiual streams using default multipliers - - + - Send an AgentThrottle packet to the current server using the - current values + This command is used to select the capture device. + + The name of the device as returned by the Aux.GetCaptureDevices command. + + + + This command is used to start the audio capture process which will cause + AuxAudioProperty Events to be raised. These events can be used to display a + microphone VU meter for the currently selected capture device. This command + should not be issued if the user is on a call. + + (unused but required) + + + + + This command is used to stop the audio capture process. + + + + + + This command is used to set the mic volume while in the audio tuning process. + Once an acceptable mic level is attained, the application must issue a + connector set mic volume command to have that level be used while on voice + calls. + + the microphone volume (-100 to 100 inclusive) + + + + + This command is used to set the speaker volume while in the audio tuning + process. Once an acceptable speaker level is attained, the application must + issue a connector set speaker volume command to have that level be used while + on voice calls. + + the speaker volume (-100 to 100 inclusive) + + + + + Start up the Voice service. - + - Send an AgentThrottle packet to the specified server using the - current values + Handle miscellaneous request status + + + + ///If something goes wrong, we log it. + + + + Cleanup oject resources - + - Convert the current throttle values to a byte array that can be put - in an AgentThrottle packet + Request voice cap when changing regions - Byte array containing all the throttle values + + + + Handle a change in session state + + + + + Close a voice session + + + + + + Locate a Session context from its handle + + Creates the session context if it does not exist. + + + + Handle completion of main voice cap request. + + + + + + + + Daemon has started so connect to it. + + + + + The daemon TCP connection is open. + + + + + Handle creation of the Connector. + + + + + Handle response to audio output device query + + + + + Handle response to audio input device query + + + + + Set voice channel for new parcel + + + + + + Request info from a parcel capability Uri. + + + + + + Receive parcel voice cap + + + + + + + + Tell Vivox where we are standing + + This has to be called when we move or turn. + + + + Start and stop updating out position. + + + + + + This is used to login a specific user account(s). It may only be called after + Connector initialization has completed successfully + + Handle returned from successful Connector ‘create’ request + User's account name + User's account password + Values may be “AutoAnswer” or “VerifyAnswer” + "" + This is an integer that specifies how often + the daemon will send participant property events while in a channel. If this is not set + the default will be “on state change”, which means that the events will be sent when + the participant starts talking, stops talking, is muted, is unmuted. + The valid values are: + 0 – Never + 5 – 10 times per second + 10 – 5 times per second + 50 – 1 time per second + 100 – on participant state change (this is the default) + false + + + + + This is used to logout a user session. It should only be called with a valid AccountHandle. + + Handle returned from successful Connector ‘login’ request + + + + + List of audio input devices + + + + + List of audio output devices + + + + + Set audio test mode + + + + + Event for most mundane request reposnses. + + + + Response to Connector.Create request + + + Response to Aux.GetCaptureDevices request + + + Response to Aux.GetRenderDevices request + + + Audio Properties Events are sent after audio capture is started. + These events are used to display a microphone VU meter + + + Response to Account.Login request + + + This event message is sent whenever the login state of the + particular Account has transitioned from one value to another + + + Enable logging + + + The folder where any logs will be created + + + This will be prepended to beginning of each log file + + + The suffix or extension to be appended to each log file + + + + 0: NONE - No logging + 1: ERROR - Log errors only + 2: WARNING - Log errors and warnings + 3: INFO - Log errors, warnings and info + 4: DEBUG - Log errors, warnings, info and debug + + + + + Constructor for default logging settings + + + + Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter + + + + + + + + + + + + + + + + + + Thrown when a packet could not be successfully deserialized + + + + + Default constructor + + + + + Constructor that takes an additional error message + + An error message to attach to this exception + + + + The header of a message template packet. Holds packet flags, sequence + number, packet ID, and any ACKs that will be appended at the end of + the packet + + + + + Convert the AckList to a byte array, used for packet serializing + + Reference to the target byte array + Beginning position to start writing to in the byte + array, will be updated with the ending position of the ACK list + + + + + + + + + + + + + + + + + + + + + A block of data in a packet. Packets are composed of one or more blocks, + each block containing one or more fields + + + + + Create a block from a byte array + + Byte array containing the serialized block + Starting position of the block in the byte array. + This will point to the data after the end of the block when the + call returns + + + + Serialize this block into a byte array + + Byte array to serialize this block into + Starting position in the byte array to serialize to. + This will point to the position directly after the end of the + serialized block when the call returns + + + Current length of the data in this packet + + + A generic value, not an actual packet type + + + + Attempts to convert an LLSD structure to a known Packet type + + Event name, this must match an actual + packet name for a Packet to be successfully built + LLSD to convert to a Packet + A Packet on success, otherwise null + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Avatar group management + + + + Key of Group Member + + + Total land contribution + + + Online status information + + + Abilities that the Group Member has + + + Current group title + + + Is a group owner + + + + Role manager for a group + + + + Key of the group + + + Key of Role + + + Name of Role + + + Group Title associated with Role + + + Description of Role + + + Abilities Associated with Role + + + Returns the role's title + The role's title + + + + Class to represent Group Title + + + + Key of the group + + + ID of the role title belongs to + + + Group Title + + + Whether title is Active + + + Returns group title + + + + Represents a group on the grid + + + + Key of Group + + + Key of Group Insignia + + + Key of Group Founder + + + Key of Group Role for Owners + + + Name of Group + + + Text of Group Charter + + + Title of "everyone" role + + + Is the group open for enrolement to everyone + + + Will group show up in search + + + + + + + + + + + + Is the group Mature + + + Cost of group membership + + + + + + + + + The total number of current members this group has + + + The number of roles this group has configured + + + Show this group in agent's profile + + + Returns the name of the group + A string containing the name of the group + + + + A group Vote + + + + Key of Avatar who created Vote + + + Text of the Vote proposal + + + Total number of votes + + + + A group proposal + + + + The Text of the proposal + + + The minimum number of members that must vote before proposal passes or failes + + + The required ration of yes/no votes required for vote to pass + The three options are Simple Majority, 2/3 Majority, and Unanimous + TODO: this should be an enum + + + The duration in days votes are accepted + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Struct representing a group notice + + + + + + + + + + + + + + + + + + + + + + + Struct representing a group notice list entry + + + + Notice ID + + + Creation timestamp of notice + + + Agent name who created notice + + + Notice subject + + + Is there an attachment? + + + Attachment Type + + + + Struct representing a member of a group chat session and their settings + + + + The of the Avatar + + + True if user has voice chat enabled + + + True of Avatar has moderator abilities + + + True if a moderator has muted this avatars chat + + + True if a moderator has muted this avatars voice + + + + Role update flags + + + + + + + + + + + + + + + + + + + + + + + + + Can send invitations to groups default role + + + Can eject members from group + + + Can toggle 'Open Enrollment' and change 'Signup fee' + + + Member is visible in the public member list + + + Can create new roles + + + Can delete existing roles + + + Can change Role names, titles and descriptions + + + Can assign other members to assigners role + + + Can assign other members to any role + + + Can remove members from roles + + + Can assign and remove abilities in roles + + + Can change group Charter, Insignia, 'Publish on the web' and which + members are publicly visible in group member listings + + + Can buy land or deed land to group + + + Can abandon group owned land to Governor Linden on mainland, or Estate owner for + private estates + + + Can set land for-sale information on group owned parcels + + + Can subdivide and join parcels + + + Can join group chat sessions + + + Can use voice chat in Group Chat sessions + + + Can moderate group chat sessions + + + Can toggle "Show in Find Places" and set search category + + + Can change parcel name, description, and 'Publish on web' settings + + + Can set the landing point and teleport routing on group land + + + Can change music and media settings + + + Can toggle 'Edit Terrain' option in Land settings + + + Can toggle various About Land > Options settings + + + Can always terraform land, even if parcel settings have it turned off + + + Can always fly while over group owned land + + + Can always rez objects on group owned land + + + Can always create landmarks for group owned parcels + + + Can set home location on any group owned parcel + + + Can modify public access settings for group owned parcels + + + Can manager parcel ban lists on group owned land + + + Can manage pass list sales information + + + Can eject and freeze other avatars on group owned land + + + Can return objects set to group + + + Can return non-group owned/set objects + + + Can return group owned objects + + + Can landscape using Linden plants + + + Can deed objects to group + + + Can move group owned objects + + + Can set group owned objects for-sale + + + Pay group liabilities and receive group dividends + + + Can send group notices + + + Can receive group notices + + + Can create group proposals + + + Can vote on group proposals + + + + Handles all network traffic related to reading and writing group + information + + + + The event subscribers. null if no subcribers + + + Raises the CurrentGroups event + A CurrentGroupsEventArgs object containing the + data sent from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupNamesReply event + A GroupNamesEventArgs object containing the + data response from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupProfile event + An GroupProfileEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupMembers event + A GroupMembersEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupRolesDataReply event + A GroupRolesDataReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupRoleMembersReply event + A GroupRolesRoleMembersReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupTitlesReply event + A GroupTitlesReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupAccountSummary event + A GroupAccountSummaryReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupCreated event + An GroupCreatedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupJoined event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupLeft event + A GroupOperationEventArgs object containing the + result of the operation returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupDropped event + An GroupDroppedEventArgs object containing the + the group your agent left + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupMemberEjected event + An GroupMemberEjectedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupNoticesListReply event + An GroupNoticesListReplyEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the GroupInvitation event + An GroupInvitationEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + A reference to the current instance + + + Currently-active group members requests + + + Currently-active group roles requests + + + Currently-active group role-member requests + + + Dictionary keeping group members while request is in progress + + + Dictionary keeping mebmer/role mapping while request is in progress + + + Dictionary keeping GroupRole information while request is in progress + + + Caches group name lookups + + + + Construct a new instance of the GroupManager class + + A reference to the current instance + + + + Request a current list of groups the avatar is a member of. + + CAPS Event Queue must be running for this to work since the results + come across CAPS. + + + + Lookup name of group based on groupID + + groupID of group to lookup name for. + + + + Request lookup of multiple group names + + List of group IDs to request. + + + Lookup group profile data such as name, enrollment, founder, logo, etc + Subscribe to OnGroupProfile event to receive the results. + group ID (UUID) + + + Request a list of group members. + Subscribe to OnGroupMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Request group roles + Subscribe to OnGroupRoles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Request members (members,role) role mapping for a group. + Subscribe to OnGroupRolesMembers event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Request a groups Titles + Subscribe to OnGroupTitles event to receive the results. + group ID (UUID) + UUID of the request, use to index into cache + + + Begin to get the group account summary + Subscribe to the OnGroupAccountSummary event to receive the results. + group ID (UUID) + How long of an interval + Which interval (0 for current, 1 for last) + + + Invites a user to a group + The group to invite to + A list of roles to invite a person to + Key of person to invite + + + Set a group as the current active group + group ID (UUID) + + + Change the role that determines your active title + Group ID to use + Role ID to change to + + + Set this avatar's tier contribution + Group ID to change tier in + amount of tier to donate + + + + Save wheather agent wants to accept group notices and list this group in their profile + + Group + Accept notices from this group + List this group in the profile + + + Request to join a group + Subscribe to OnGroupJoined event for confirmation. + group ID (UUID) to join. + + + + Request to create a new group. If the group is successfully + created, L$100 will automatically be deducted + + Subscribe to OnGroupCreated event to receive confirmation. + Group struct containing the new group info + + + Update a group's profile and other information + Groups ID (UUID) to update. + Group struct to update. + + + Eject a user from a group + Group ID to eject the user from + Avatar's key to eject + + + Update role information + Modified role to be updated + + + Create a new group role + Group ID to update + Role to create + + + Delete a group role + Group ID to update + Role to delete + + + Remove an avatar from a role + Group ID to update + Role ID to be removed from + Avatar's Key to remove + + + Assign an avatar to a role + Group ID to update + Role ID to assign to + Avatar's ID to assign to role + + + Request the group notices list + Group ID to fetch notices for + + + Request a group notice by key + ID of group notice + + + Send out a group notice + Group ID to update + GroupNotice structure containing notice data + + + Start a group proposal (vote) + The Group ID to send proposal to + GroupProposal structure containing the proposal + + + Request to leave a group + Subscribe to OnGroupLeft event to receive confirmation + The group to leave + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the simulator sends us data containing + our current group membership + + + Raised when the simulator responds to a RequestGroupName + or RequestGroupNames request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when the simulator responds to a request + + + Raised when a response to a RequestGroupAccountSummary is returned + by the simulator + + + Raised when a request to create a group is successful + + + Raised when a request to join a group either + fails or succeeds + + + Raised when a request to leave a group either + fails or succeeds + + + Raised when A group is removed from the group server + + + Raised when a request to eject a member from a group either + fails or succeeds + + + Raised when the simulator sends us group notices + + + + Raised when another agent invites our avatar to join a group + + + Contains the current groups your agent is a member of + + + Construct a new instance of the CurrentGroupsEventArgs class + The current groups your agent is a member of + + + Get the current groups your agent is a member of + + + A Dictionary of group names, where the Key is the groups ID and the value is the groups name + + + Construct a new instance of the GroupNamesEventArgs class + The Group names dictionary + + + Get the Group Names dictionary + + + Represents the members of a group + + + + Construct a new instance of the GroupMembersReplyEventArgs class + + The ID of the request + The ID of the group + The membership list of the group + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the dictionary of members + + + Represents the roles associated with a group + + + Construct a new instance of the GroupRolesDataReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The dictionary containing the roles + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the dictionary containing the roles + + + Represents the Role to Member mappings for a group + + + Construct a new instance of the GroupRolesMembersReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The member to roles map + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the member to roles map + + + Represents the titles for a group + + + Construct a new instance of the GroupTitlesReplyEventArgs class + The ID as returned by the request to correlate + this result set and the request + The ID of the group + The titles + + + Get the ID as returned by the request to correlate + this result set and the request + + + Get the ID of the group + + + Get the titles + + + Represents the summary data for a group + + + Construct a new instance of the GroupAccountSummaryReplyEventArgs class + The ID of the group + The summary data + + + Get the ID of the group + + + Get the summary data + + + A response to a group create request + + + Construct a new instance of the GroupCreatedReplyEventArgs class + The ID of the group + the success or faulure of the request + A string containing additional information + + + Get the ID of the group + + + true of the group was created successfully + + + A string containing the message + + + Represents a response to a request + + + Construct a new instance of the GroupOperationEventArgs class + The ID of the group + true of the request was successful + + + Get the ID of the group + + + true of the request was successful + + + Represents your agent leaving a group + + + Construct a new instance of the GroupDroppedEventArgs class + The ID of the group + + + Get the ID of the group + + + Represents a list of active group notices + + + Construct a new instance of the GroupNoticesListReplyEventArgs class + The ID of the group + The list containing active notices + + + Get the ID of the group + + + Get the notices list + + + Represents the profile of a group + + + Construct a new instance of the GroupProfileEventArgs class + The group profile + + + Get the group profile + + + + Provides notification of a group invitation request sent by another Avatar + + The invitation is raised when another avatar makes an offer for our avatar + to join a group. + + + The ID of the Avatar sending the group invitation + + + The name of the Avatar sending the group invitation + + + A message containing the request information which includes + the name of the group, the groups charter and the fee to join details + + + The Simulator + + + Set to true to accept invitation, false to decline + + + + A Wrapper around openjpeg to encode and decode images to and from byte arrays + + + + TGA Header size + + + OpenJPEG is not threadsafe, so this object is used to lock + during calls into unmanaged code + + + + Encode a object into a byte array + + The object to encode + true to enable lossless conversion, only useful for small images ie: sculptmaps + A byte array containing the encoded Image object + + + + Encode a object into a byte array + + The object to encode + a byte array of the encoded image + + + + Decode JPEG2000 data to an and + + + JPEG2000 encoded data + ManagedImage object to decode to + Image object to decode to + True if the decode succeeds, otherwise false + + + + + + + + + + + + + + + + + + + + + Encode a object into a byte array + + The source object to encode + true to enable lossless decoding + A byte array containing the source Bitmap object + + + + Defines the beginning and ending file positions of a layer in an + LRCP-progression JPEG2000 file + + + + + This structure is used to marshal both encoded and decoded images. + MUST MATCH THE STRUCT IN dotnet.h! + + + + + Information about a single packet in a JPEG2000 stream + + + + Packet start position + + + Packet header end position + + + Packet end position + + + + Represents a Landmark with RegionID and Position vector + + + + UUID of the Landmark target region + + + Local position of the target + + + Construct an Asset of type Landmark + + + + Construct an Asset object of type Landmark + + A unique specific to this asset + A byte array containing the raw asset data + + + + Encode the raw contents of a string with the specific Landmark format + + + + + Decode the raw asset data, populating the RegionID and Position + + true if the AssetData was successfully decoded to a UUID and Vector + + + Override the base classes AssetType + + + + Represents an that can be worn on an avatar + such as a Shirt, Pants, etc. + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The ObservableDictionary class is used for storing key/value pairs. It has methods for firing + events to subscribers when items are added, removed, or changed. + + Key + Value + + + + A dictionary of callbacks to fire when specified action occurs + + + + + Register a callback to be fired when an action occurs + + The action + The callback to fire + + + + Unregister a callback + + The action + The callback to fire + + + + + + + + + + Internal dictionary that this class wraps around. Do not + modify or enumerate the contents of this dictionary without locking + + + + Initializes a new instance of the Class + with the specified key/value, has the default initial capacity. + + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); + + + + + + Initializes a new instance of the Class + with the specified key/value, With its initial capacity specified. + + Initial size of dictionary + + + // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, + // initially allocated room for 10 entries. + public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); + + + + + + Try to get entry from the with specified key + + Key to use for lookup + Value returned + if specified key exists, if not found + + + // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: + Avatar av; + if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) + Console.WriteLine("Found Avatar {0}", av.Name); + + + + + + + Finds the specified match. + + The match. + Matched value + + + // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary + // with the ID 95683496 + uint findID = 95683496; + Primitive findPrim = sim.ObjectsPrimitives.Find( + delegate(Primitive prim) { return prim.ID == findID; }); + + + + + Find All items in an + return matching items. + a containing found items. + + Find All prims within 20 meters and store them in a List + + int radius = 20; + List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( + delegate(Primitive prim) { + Vector3 pos = prim.Position; + return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); + } + ); + + + + + Find All items in an + return matching keys. + a containing found keys. + + Find All keys which also exist in another dictionary + + List<UUID> matches = myDict.FindAll( + delegate(UUID id) { + return myOtherDict.ContainsKey(id); + } + ); + + + + + Check if Key exists in Dictionary + Key to check for + if found, otherwise + + + Check if Value exists in Dictionary + Value to check for + if found, otherwise + + + + Adds the specified key to the dictionary, dictionary locking is not performed, + + + The key + The value + + + + Removes the specified key, dictionary locking is not performed + + The key. + if successful, otherwise + + + + Clear the contents of the dictionary + + + + + Enumerator for iterating dictionary entries + + + + + + Gets the number of Key/Value pairs contained in the + + + + + Indexer for the dictionary + + The key + The value + + + Describes tasks returned in LandStatReply + + + + Estate level administration and utilities + + + + Textures for each of the four terrain height levels + + + Upper/lower texture boundaries for each corner of the sim + + + + Constructor for EstateTools class + + + + + The event subscribers. null if no subcribers + + + Raises the TopCollidersReply event + A TopCollidersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the TopScriptsReply event + A TopScriptsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUsersReply event + A EstateUsersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateGroupsReply event + A EstateGroupsReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateManagersReply event + A EstateManagersReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateBansReply event + A EstateBansReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateCovenantReply event + A EstateCovenantReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the EstateUpdateInfoReply event + A EstateUpdateInfoReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + Requests estate information such as top scripts and colliders + + + + + + + + Requests estate settings, including estate manager and access/ban lists + + + Requests the "Top Scripts" list for the current region + + + Requests the "Top Colliders" list for the current region + + + + Set several estate specific configuration variables + + The Height of the waterlevel over the entire estate. Defaults to 20 + The maximum height change allowed above the baked terrain. Defaults to 4 + The minimum height change allowed below the baked terrain. Defaults to -4 + true to use + if True forces the sun position to the position in SunPosition + The current position of the sun on the estate, or when FixedSun is true the static position + the sun will remain. 6.0 = Sunrise, 30.0 = Sunset + + + + Request return of objects owned by specified avatar + + The Agents owning the primitives to return + specify the coverage and type of objects to be included in the return + true to perform return on entire estate + + + + + + + + + Used for setting and retrieving various estate panel settings + + EstateOwnerMessage Method field + List of parameters to include + + + + Kick an avatar from an estate + + Key of Agent to remove + + + + Ban an avatar from an estate + Key of Agent to remove + Ban user from this estate and all others owned by the estate owner + + + Unban an avatar from an estate + Key of Agent to remove + /// Unban user from this estate and all others owned by the estate owner + + + + Send a message dialog to everyone in an entire estate + + Message to send all users in the estate + + + + Send a message dialog to everyone in a simulator + + Message to send all users in the simulator + + + + Send an avatar back to their home location + + Key of avatar to send home + + + + Begin the region restart process + + + + + Cancels a region restart + + + + Estate panel "Region" tab settings + + + Estate panel "Debug" tab settings + + + Used for setting the region's terrain textures for its four height levels + + + + + + + Used for setting sim terrain texture heights + + + Requests the estate covenant + + + + Upload a terrain RAW file + + A byte array containing the encoded terrain data + The name of the file being uploaded + The Id of the transfer request + + + + Teleports all users home in current Estate + + + + + Remove estate manager + Key of Agent to Remove + removes manager to this estate and all others owned by the estate owner + + + + Add estate manager + Key of Agent to Add + Add agent as manager to this estate and all others owned by the estate owner + + + + Add's an agent to the estate Allowed list + Key of Agent to Add + Add agent as an allowed reisdent to All estates if true + + + + Removes an agent from the estate Allowed list + Key of Agent to Remove + Removes agent as an allowed reisdent from All estates if true + + + + + Add's a group to the estate Allowed list + Key of Group to Add + Add Group as an allowed group to All estates if true + + + + + Removes a group from the estate Allowed list + Key of Group to Remove + Removes Group as an allowed Group from All estates if true + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Raised when the data server responds to a request. + + + Used in the ReportType field of a LandStatRequest + + + Used by EstateOwnerMessage packets + + + Used by EstateOwnerMessage packets + + + + + + + + No flags set + + + Only return targets scripted objects + + + Only return targets objects if on others land + + + Returns target's scripted objects and objects on other parcels + + + Ground texture settings for each corner of the region + + + Used by GroundTextureHeightSettings + + + The high and low texture thresholds for each corner of the sim + + + Raised on LandStatReply when the report type is for "top colliders" + + + Construct a new instance of the TopCollidersReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + The number of returned items in LandStatReply + + + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + Raised on LandStatReply when the report type is for "top Scripts" + + + Construct a new instance of the TopScriptsReplyEventArgs class + The number of returned items in LandStatReply + Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + The number of scripts returned in LandStatReply + + + + + A Dictionary of Object UUIDs to tasks returned in LandStatReply + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateBansReplyEventArgs class + The estate's identifier on the grid + The number of returned items in LandStatReply + User UUIDs banned + + + + The identifier of the estate + + + + + The number of returned itmes + + + + + List of UUIDs of Banned Users + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateUsersReplyEventArgs class + The estate's identifier on the grid + The number of users + Allowed users UUIDs + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of Allowed Users + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateGroupsReplyEventArgs class + The estate's identifier on the grid + The number of Groups + Allowed Groups UUIDs + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of Allowed Groups + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateManagersReplyEventArgs class + The estate's identifier on the grid + The number of Managers + Managers UUIDs + + + + The identifier of the estate + + + + + The number of returned items + + + + + List of UUIDs of the Estate's Managers + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateCovenantReplyEventArgs class + The Covenant ID + The timestamp + The estate's name + The Estate Owner's ID (can be a GroupID) + + + + The Covenant + + + + + The timestamp + + + + + The Estate name + + + + + The Estate Owner's ID (can be a GroupID) + + + + Returned, along with other info, upon a successful .RequestInfo() + + + Construct a new instance of the EstateUpdateInfoReplyEventArgs class + The estate's name + The Estate Owners ID (can be a GroupID) + The estate's identifier on the grid + + + + + The estate's name + + + + + The Estate Owner's ID (can be a GroupID) + + + + + The identifier of the estate on the grid + + + + + + + + Wrapper around a byte array that allows bit to be packed and unpacked + one at a time or by a variable amount. Useful for very tightly packed + data like LayerData packets + + + + + + + + Default constructor, initialize the bit packer / bit unpacker + with a byte array and starting position + + Byte array to pack bits in to or unpack from + Starting position in the byte array + + + + Pack a floating point value in to the data + + Floating point value to pack + + + + Pack part or all of an integer in to the data + + Integer containing the data to pack + Number of bits of the integer to pack + + + + Pack part or all of an unsigned integer in to the data + + Unsigned integer containing the data to pack + Number of bits of the integer to pack + + + + Pack a single bit in to the data + + Bit to pack + + + + + + + + + + + + + + + + + + + + + + + + + Unpacking a floating point value from the data + + Unpacked floating point value + + + + Unpack a variable number of bits from the data in to integer format + + Number of bits to unpack + An integer containing the unpacked bits + This function is only useful up to 32 bits + + + + Unpack a variable number of bits from the data in to unsigned + integer format + + Number of bits to unpack + An unsigned integer containing the unpacked bits + This function is only useful up to 32 bits + + + + Unpack a 16-bit signed integer + + 16-bit signed integer + + + + Unpack a 16-bit unsigned integer + + 16-bit unsigned integer + + + + Unpack a 32-bit signed integer + + 32-bit signed integer + + + + Unpack a 32-bit unsigned integer + + 32-bit unsigned integer + + + + + + + + + + Checks the instance back into the object pool + + + + + Returns an instance of the class that has been checked out of the Object Pool. + + + + + Creates a new instance of the ObjectPoolBase class. Initialize MUST be called + after using this constructor. + + + + + Creates a new instance of the ObjectPool Base class. + + The object pool is composed of segments, which + are allocated whenever the size of the pool is exceeded. The number of items + in a segment should be large enough that allocating a new segmeng is a rare + thing. For example, on a server that will have 10k people logged in at once, + the receive buffer object pool should have segment sizes of at least 1000 + byte arrays per segment. + + The minimun number of segments that may exist. + Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. + The frequency which segments are checked to see if they're eligible for cleanup. + + + + Forces the segment cleanup algorithm to be run. This method is intended + primarly for use from the Unit Test libraries. + + + + + Responsible for allocate 1 instance of an object that will be stored in a segment. + + An instance of whatever objec the pool is pooling. + + + + Checks in an instance of T owned by the object pool. This method is only intended to be called + by the WrappedObject class. + + The segment from which the instance is checked out. + The instance of T to check back into the segment. + + + + Checks an instance of T from the pool. If the pool is not sufficient to + allow the checkout, a new segment is created. + + A WrappedObject around the instance of T. To check + the instance back into the segment, be sureto dispose the WrappedObject + when finished. + + + + The total number of segments created. Intended to be used by the Unit Tests. + + + + + The number of items that are in a segment. Items in a segment + are all allocated at the same time, and are hopefully close to + each other in the managed heap. + + + + + The minimum number of segments. When segments are reclaimed, + this number of segments will always be left alone. These + segments are allocated at startup. + + + + + The age a segment must be before it's eligible for cleanup. + This is used to prevent thrash, and typical values are in + the 5 minute range. + + + + + The frequence which the cleanup thread runs. This is typically + expected to be in the 5 minute range. + + + + = + + + Number of times we've received an unknown CAPS exception in series. + + + For exponential backoff on error. + + + + Represents a texture + + + + A object containing image data + + + + + + + + + Initializes a new instance of an AssetTexture object + + + + Initializes a new instance of an AssetTexture object + + A unique specific to this asset + A byte array containing the raw asset data + + + + Initializes a new instance of an AssetTexture object + + A object containing texture data + + + + Populates the byte array with a JPEG2000 + encoded image created from the data in + + + + + Decodes the JPEG2000 data in AssetData to the + object + + True if the decoding was successful, otherwise false + + + + Decodes the begin and end byte positions for each quality layer in + the image + + + + + Override the base classes AssetType + + + + A Name Value pair with additional settings, used in the protocol + primarily to transmit avatar names and active group in object packets + + + + + + + + + + + + + + + + + + + + Constructor that takes all the fields as parameters + + + + + + + + + + Constructor that takes a single line from a NameValue field + + + + + Type of the value + + + Unknown + + + String value + + + + + + + + + + + + + + + Deprecated + + + String value, but designated as an asset + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Represents a single Voice Session to the Vivox service. + + + + + Close this session. + + + + + Look up an existing Participants in this session + + + + + + + Represents an Animation + + + + Default Constructor + + + + Construct an Asset object of type Animation + + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + Constants for the archiving module + + + + + The location of the archive control file + + + + + Path for the assets held in an archive + + + + + Path for the prims file + + + + + Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. + + + + + Path for region settings. + + + + + The character the separates the uuid from extension information in an archived asset filename + + + + + Extensions used for asset types in the archive + + + + + Represents an AssetScriptBinary object containing the + LSO compiled bytecode of an LSL script + + + + Initializes a new instance of an AssetScriptBinary object + + + Initializes a new instance of an AssetScriptBinary object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + + TODO: Encodes a scripts contents into a LSO Bytecode file + + + + + TODO: Decode LSO Bytecode into a string + + true + + + Override the base classes AssetType + + + + + + + + No report + + + Unknown report type + + + Bug report + + + Complaint report + + + Customer service report + + + + Bitflag field for ObjectUpdateCompressed data blocks, describing + which options are present for each object + + + + Unknown + + + Whether the object has a TreeSpecies + + + Whether the object has floating text ala llSetText + + + Whether the object has an active particle system + + + Whether the object has sound attached to it + + + Whether the object is attached to a root object or not + + + Whether the object has texture animation settings + + + Whether the object has an angular velocity + + + Whether the object has a name value pairs string + + + Whether the object has a Media URL set + + + + Specific Flags for MultipleObjectUpdate requests + + + + None + + + Change position of prims + + + Change rotation of prims + + + Change size of prims + + + Perform operation on link set + + + Scale prims uniformly, same as selecing ctrl+shift in the + viewer. Used in conjunction with Scale + + + + Special values in PayPriceReply. If the price is not one of these + literal value of the price should be use + + + + + Indicates that this pay option should be hidden + + + + + Indicates that this pay option should have the default value + + + + + Contains the variables sent in an object update packet for objects. + Used to track position and movement of prims and avatars + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Handles all network traffic related to prims and avatar positions and + movement. + + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectProperties Event + A ObjectPropertiesEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesUpdated Event + A ObjectPropertiesUpdatedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectPropertiesFamily Event + A ObjectPropertiesFamilyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarUpdate Event + A AvatarUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ObjectDataBlockUpdate Event + A ObjectDataBlockUpdateEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the KillObject Event + A KillObjectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarSitChanged Event + A AvatarSitChangedEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PayPriceReply Event + A PayPriceReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + Reference to the GridClient object + + + Does periodic dead reckoning calculation to convert + velocity and acceleration to new positions for objects + + + + Construct a new instance of the ObjectManager class + + A reference to the instance + + + + Request information for a single object from a + you are currently connected to + + The the object is located + The Local ID of the object + + + + Request information for multiple objects contained in + the same simulator + + The the objects are located + An array containing the Local IDs of the objects + + + + Attempt to purchase an original object, a copy, or the contents of + an object + + The the object is located + The Local ID of the object + Whether the original, a copy, or the object + contents are on sale. This is used for verification, if the this + sale type is not valid for the object the purchase will fail + Price of the object. This is used for + verification, if it does not match the actual price the purchase + will fail + Group ID that will be associated with the new + purchase + Inventory folder UUID where the object or objects + purchased should be placed + + + BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, + 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); + + + + + + Request prices that should be displayed in pay dialog. This will triggger the simulator + to send us back a PayPriceReply which can be handled by OnPayPriceReply event + + The the object is located + The ID of the object + The result is raised in the event + + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + + + + + Select a single object. This will cause the to send us + an which will raise the event + + The the object is located + The Local ID of the object + if true, a call to is + made immediately following the request + + + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + Should objects be deselected immediately after selection + + + + + Select multiple objects. This will cause the to send us + an which will raise the event + + The the objects are located + An array containing the Local IDs of the objects + + + + + Update the properties of an object + + The the object is located + The Local ID of the object + true to turn the objects physical property on + true to turn the objects temporary property on + true to turn the objects phantom property on + true to turn the objects cast shadows property on + + + + Sets the sale properties of a single object + + The the object is located + The Local ID of the object + One of the options from the enum + The price of the object + + + + Sets the sale properties of multiple objects + + The the objects are located + An array containing the Local IDs of the objects + One of the options from the enum + The price of the object + + + + Deselect a single object + + The the object is located + The Local ID of the object + + + + Deselect multiple objects. + + The the objects are located + An array containing the Local IDs of the objects + + + + Perform a click action on an object + + The the object is located + The Local ID of the object + + + + Perform a click action (Grab) on a single object + + The the object is located + The Local ID of the object + The texture coordinates to touch + The surface coordinates to touch + The face of the position to touch + The region coordinates of the position to touch + The surface normal of the position to touch (A normal is a vector perpindicular to the surface) + The surface binormal of the position to touch (A binormal is a vector tangen to the surface + pointing along the U direction of the tangent space + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Create (rez) a new prim object in a simulator + + A reference to the object to place the object in + Data describing the prim object to rez + Group ID that this prim will be set to, or UUID.Zero if you + do not want the object to be associated with a specific group + An approximation of the position at which to rez the prim + Scale vector to size this prim + Rotation quaternion to rotate this prim + Specify the + Due to the way client prim rezzing is done on the server, + the requested position for an object is only close to where the prim + actually ends up. If you desire exact placement you'll need to + follow up by moving the object after it has been created. This + function will not set textures, light and flexible data, or other + extended primitive properties + + + + Rez a Linden tree + + A reference to the object where the object resides + The size of the tree + The rotation of the tree + The position of the tree + The Type of tree + The of the group to set the tree to, + or UUID.Zero if no group is to be set + true to use the "new" Linden trees, false to use the old + + + + Rez grass and ground cover + + A reference to the object where the object resides + The size of the grass + The rotation of the grass + The position of the grass + The type of grass from the enum + The of the group to set the tree to, + or UUID.Zero if no group is to be set + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + + + + Set the textures to apply to the faces of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The texture data to apply + A media URL (not used) + + + + Set the Light data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the flexible data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Set the sculptie texture and data on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A object containing the data to set + + + + Unset additional primitive parameters on an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The extra parameters to set + + + + Link multiple prims into a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to link + The last object in the array will be the root object of the linkset TODO: Is this true? + + + + Delink/Unlink multiple prims from a linkset + + A reference to the object where the objects reside + An array which contains the IDs of the objects to delink + + + + Change the rotation of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation of the object + + + + Set the name of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new name of the object + + + + Set the name of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the name of + An array which contains the new names of the objects + + + + Set the description of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + A string containing the new description of the object + + + + Set the descriptions of multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to change the description of + An array which contains the new descriptions of the objects + + + + Attach an object to this avatar + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The point on the avatar the object will be attached + The rotation of the attached object + + + + Drop an attached object from this avatar + + A reference to the + object where the objects reside. This will always be the simulator the avatar is currently in + + The object's ID which is local to the simulator the object is in + + + + Detach an object from yourself + + A reference to the + object where the objects reside + + This will always be the simulator the avatar is currently in + + An array which contains the IDs of the objects to detach + + + + Change the position of an object, Will change position of entire linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + + + + Change the position of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new position of the object + if true, will change position of (this) child prim only, not entire linkset + + + + Change the Scale (size) of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change scale of this prim only, not entire linkset + True to resize prims uniformly + + + + Change the Rotation of an object that is either a child or a whole linkset + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new scale of the object + If true, will change rotation of this prim only, not entire linkset + + + + Send a Multiple Object Update packet to change the size, scale or rotation of a primitive + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new rotation, size, or position of the target object + The flags from the Enum + + + + Deed an object (prim) to a group, Object must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The of the group to deed the object to + + + + Deed multiple objects (prims) to a group, Objects must be shared with group which + can be accomplished with SetPermissions() + + A reference to the object where the object resides + An array which contains the IDs of the objects to deed + The of the group to deed the object to + + + + Set the permissions on multiple objects + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the permissions on + The new Who mask to set + The new Permissions mark to set + TODO: What does this do? + + + + Request additional properties for an object + + A reference to the object where the object resides + + + + + Request additional properties for an object + + A reference to the object where the object resides + Absolute UUID of the object + Whether to require server acknowledgement of this request + + + + Set the ownership of a list of objects to the specified group + + A reference to the object where the objects reside + An array which contains the IDs of the objects to set the group id on + The Groups ID + + + + Update current URL of the previously set prim media + + UUID of the prim + Set current URL to this + Prim face number + Simulator in which prim is located + + + + Set object media + + UUID of the prim + Array the length of prims number of faces. Null on face indexes where there is + no media, on faces which contain the media + Simulatior in which prim is located + + + + Retrieve information about object media + + UUID of the primitive + Simulator where prim is located + Call this callback when done + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + A terse object update, used when a transformation matrix or + velocity/acceleration for an object changes but nothing else + (scale/position/rotation/acceleration/velocity) + + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Setup construction data for a basic primitive shape + + Primitive shape to construct + Construction data that can be plugged into a + + + + + + + + + + + + + + + + + + + + Set the Shape data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + Data describing the prim shape + + + + Set the Material data of an object + + A reference to the object where the object resides + The objects ID which is local to the simulator the object is in + The new material of the object + + + + + + + + + + + + + + + + + + + + + Raised when the simulator sends us data containing + A , Foliage or Attachment + + + + + Raised when the simulator sends us data containing + additional information + + + + + Raised when the simulator sends us data containing + Primitive.ObjectProperties for an object we are currently tracking + + + Raised when the simulator sends us data containing + additional and details + + + + Raised when the simulator sends us data containing + updated information for an + + + Raised when the simulator sends us data containing + and movement changes + + + Raised when the simulator sends us data containing + updates to an Objects DataBlock + + + Raised when the simulator informs us an + or is no longer within view + + + Raised when the simulator sends us data containing + updated sit information for our + + + Raised when the simulator sends us data containing + purchase price information for a + + + + Callback for getting object media data via CAP + + Indicates if the operation was succesfull + Object media version string + Array indexed on prim face of media entry data + + + Provides data for the event + The event occurs when the simulator sends + an containing a Primitive, Foliage or Attachment data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or + if an Avatar crosses the border into a new simulator and returns to the current simulator + + + The following code example uses the , , and + properties to display new Primitives and Attachments on the window. + + // Subscribe to the event that gives us prim and foliage information + Client.Objects.ObjectUpdate += Objects_ObjectUpdate; + + + private void Objects_ObjectUpdate(object sender, PrimEventArgs e) + { + Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); + } + + + + + + + + + Construct a new instance of the PrimEventArgs class + + The simulator the object originated from + The Primitive + The simulator time dilation + The prim was not in the dictionary before this update + true if the primitive represents an attachment to an agent + + + Get the simulator the originated from + + + Get the details + + + true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) + + + true if the is attached to an + + + Get the simulator Time Dilation + + + Provides data for the event + The event occurs when the simulator sends + an containing Avatar data + Note 1: The event will not be raised when the object is an Avatar + Note 2: It is possible for the to be + raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator + + + The following code example uses the property to make a request for the top picks + using the method in the class to display the names + of our own agents picks listings on the window. + + // subscribe to the AvatarUpdate event to get our information + Client.Objects.AvatarUpdate += Objects_AvatarUpdate; + Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; + + private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) + { + // we only want our own data + if (e.Avatar.LocalID == Client.Self.LocalID) + { + // Unsubscribe from the avatar update event to prevent a loop + // where we continually request the picks every time we get an update for ourselves + Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; + // make the top picks request through AvatarManager + Client.Avatars.RequestAvatarPicks(e.Avatar.ID); + } + } + + private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) + { + // we'll unsubscribe from the AvatarPicksReply event since we now have the data + // we were looking for + Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; + // loop through the dictionary and extract the names of the top picks from our profile + foreach (var pickName in e.Picks.Values) + { + Console.WriteLine(pickName); + } + } + + + + + + + + Construct a new instance of the AvatarUpdateEventArgs class + + The simulator the packet originated from + The data + The simulator time dilation + The avatar was not in the dictionary before this update + + + Get the simulator the object originated from + + + Get the data + + + Get the simulator time dilation + + + true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment data + The event is also raised when a request is + made. + + + The following code example uses the , and + + properties to display new attachments and send a request for additional properties containing the name of the + attachment then display it on the window. + + // Subscribe to the event that provides additional primitive details + Client.Objects.ObjectProperties += Objects_ObjectProperties; + + // handle the properties data that arrives + private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) + { + Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); + } + + + + + + Construct a new instance of the ObjectPropertiesEventArgs class + + The simulator the object is located + The primitive Properties + + + Get the simulator the object is located + + + Get the primitive properties + + + Provides additional primitive data for the event + The event occurs when the simulator sends + an containing additional details for a Primitive or Foliage data that is currently + being tracked in the dictionary + The event is also raised when a request is + made and is enabled + + + + + Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class + + The simulator the object is located + The Primitive + The primitive Properties + + + Get the simulator the object is located + + + Get the primitive details + + + Get the primitive properties + + + Provides additional primitive data, permissions and sale info for the event + The event occurs when the simulator sends + an containing additional details for a Primitive, Foliage data or Attachment. This includes + Permissions, Sale info, and other basic details on an object + The event is also raised when a request is + made, the viewer equivalent is hovering the mouse cursor over an object + + + + Get the simulator the object is located + + + + + + + + + Provides primitive data containing updated location, velocity, rotation, textures for the event + The event occurs when the simulator sends updated location, velocity, rotation, etc + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + Get the simulator the object is located + + + Get the primitive details + + + + + + + + + + + + + + + Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the + event + + + Get the simulator the object is located + + + The LocalID of the object + + + + Provides updates sit position data + + + + Get the simulator the object is located + + + + + + + + + + + + + + + + + Get the simulator the object is located + + + + + + + + + + + + + Indicates if the operation was successful + + + + + Media version string + + + + + Array of media entries indexed by face number + + + + + + + + + + + + + + + + De-serialization constructor for the InventoryNode Class + + + + + Serialization handler for the InventoryNode Class + + + + + De-serialization handler for the InventoryNode Class + + + + + + + + + + + + + + + + + + + + + + + For inventory folder nodes specifies weather the folder needs to be + refreshed from the server + + + + + Main class to expose grid functionality to clients. All of the + classes needed for sending and receiving data are accessible through + this class. + + + + // Example minimum code required to instantiate class and + // connect to a simulator. + using System; + using System.Collections.Generic; + using System.Text; + using OpenMetaverse; + + namespace FirstBot + { + class Bot + { + public static GridClient Client; + static void Main(string[] args) + { + Client = new GridClient(); // instantiates the GridClient class + // to the global Client object + // Login to Simulator + Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); + // Wait for a Keypress + Console.ReadLine(); + // Logout of simulator + Client.Network.Logout(); + } + } + } + + + + + Networking subsystem + + + Settings class including constant values and changeable + parameters for everything + + + Parcel (subdivided simulator lots) subsystem + + + Our own avatars subsystem + + + Other avatars subsystem + + + Estate subsystem + + + Friends list subsystem + + + Grid (aka simulator group) subsystem + + + Object subsystem + + + Group subsystem + + + Asset subsystem + + + Appearance subsystem + + + Inventory subsystem + + + Directory searches including classifieds, people, land + sales, etc + + + Handles land, wind, and cloud heightmaps + + + Handles sound-related networking + + + Throttling total bandwidth usage, or allocating bandwidth + for specific data stream types + + + + Default constructor + + + + + Return the full name of this instance + + Client avatars full name + + + + Class that handles the local asset cache + + + + + Default constructor + + A reference to the GridClient object + + + + Disposes cleanup timer + + + + + Only create timer when needed + + + + + Return bytes read from the local asset cache, null if it does not exist + + UUID of the asset we want to get + Raw bytes of the asset, or null on failure + + + + Returns ImageDownload object of the + image from the local image cache, null if it does not exist + + UUID of the image we want to get + ImageDownload object containing the image, or null on failure + + + + Constructs a file name of the cached asset + + UUID of the asset + String with the file name of the cahced asset + + + + Saves an asset to the local cache + + UUID of the asset + Raw bytes the asset consists of + Weather the operation was successfull + + + + Get the file name of the asset stored with gived UUID + + UUID of the asset + Null if we don't have that UUID cached on disk, file name if found in the cache folder + + + + Checks if the asset exists in the local cache + + UUID of the asset + True is the asset is stored in the cache, otherwise false + + + + Wipes out entire cache + + + + + Brings cache size to the 90% of the max size + + + + + Asynchronously brings cache size to the 90% of the max size + + + + + Adds up file sizes passes in a FileInfo array + + + + + Checks whether caching is enabled + + + + + Periodically prune the cache + + + + + Nicely formats file sizes + + Byte size we want to output + String with humanly readable file size + + + + Allows setting weather to periodicale prune the cache if it grows too big + Default is enabled, when caching is enabled + + + + + How long (in ms) between cache checks (default is 5 min.) + + + + + Helper class for sorting files by their last accessed time + + + + + Permissions for control of object media + + + + + Style of cotrols that shold be displayed to the user + + + + + Class representing media data for a single face + + + + Is display of the alternative image enabled + + + Should media auto loop + + + Shoule media be auto played + + + Auto scale media to prim face + + + Should viewer automatically zoom in on the face when clicked + + + Should viewer interpret first click as interaction with the media + or when false should the first click be treated as zoom in commadn + + + Style of controls viewer should display when + viewer media on this face + + + Starting URL for the media + + + Currently navigated URL + + + Media height in pixes + + + Media width in pixels + + + Who can controls the media + + + Who can interact with the media + + + Is URL whitelist enabled + + + Array of URLs that are whitelisted + + + + Serialize to OSD + + OSDMap with the serialized data + + + + Deserialize from OSD data + + Serialized OSD data + Deserialized object + + + + Class for controlling various system settings. + + Some values are readonly because they affect things that + happen when the GridClient object is initialized, so changing them at + runtime won't do any good. Non-readonly values may affect things that + happen at login or dynamically + + + Main grid login server + + + Beta grid login server + + + + InventoryManager requests inventory information on login, + GridClient initializes an Inventory store for main inventory. + + + + + InventoryManager requests library information on login, + GridClient initializes an Inventory store for the library. + + + + Number of milliseconds between sending pings to each sim + + + Number of milliseconds between sending camera updates + + + Number of milliseconds between updating the current + positions of moving, non-accelerating and non-colliding objects + + + Millisecond interval between ticks, where all ACKs are + sent out and the age of unACKed packets is checked + + + The initial size of the packet inbox, where packets are + stored before processing + + + Maximum size of packet that we want to send over the wire + + + The maximum value of a packet sequence number before it + rolls over back to one + + + The maximum size of the sequence number archive, used to + check for resent and/or duplicate packets + + + The relative directory where external resources are kept + + + Login server to connect to + + + IP Address the client will bind to + + + Use XML-RPC Login or LLSD Login, default is XML-RPC Login + + + Number of milliseconds before an asset transfer will time + out + + + Number of milliseconds before a teleport attempt will time + out + + + Number of milliseconds before NetworkManager.Logout() will + time out + + + Number of milliseconds before a CAPS call will time out + Setting this too low will cause web requests time out and + possibly retry repeatedly + + + Number of milliseconds for xml-rpc to timeout + + + Milliseconds before a packet is assumed lost and resent + + + Milliseconds without receiving a packet before the + connection to a simulator is assumed lost + + + Milliseconds to wait for a simulator info request through + the grid interface + + + Maximum number of queued ACKs to be sent before SendAcks() + is forced + + + Network stats queue length (seconds) + + + Enable/disable storing terrain heightmaps in the + TerrainManager + + + Enable/disable sending periodic camera updates + + + Enable/disable automatically setting agent appearance at + login and after sim crossing + + + Enable/disable automatically setting the bandwidth throttle + after connecting to each simulator + The default throttle uses the equivalent of the maximum + bandwidth setting in the official client. If you do not set a + throttle your connection will by default be throttled well below + the minimum values and you may experience connection problems + + + Enable/disable the sending of pings to monitor lag and + packet loss + + + Should we connect to multiple sims? This will allow + viewing in to neighboring simulators and sim crossings + (Experimental) + + + If true, all object update packets will be decoded in to + native objects. If false, only updates for our own agent will be + decoded. Registering an event handler will force objects for that + type to always be decoded. If this is disabled the object tracking + will have missing or partial prim and avatar information + + + If true, when a cached object check is received from the + server the full object info will automatically be requested + + + Whether to establish connections to HTTP capabilities + servers for simulators + + + Whether to decode sim stats + + + The capabilities servers are currently designed to + periodically return a 502 error which signals for the client to + re-establish a connection. Set this to true to log those 502 errors + + + If true, any reference received for a folder or item + the library is not aware of will automatically be fetched + + + If true, and SEND_AGENT_UPDATES is true, + AgentUpdate packets will continuously be sent out to give the bot + smoother movement and autopiloting + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectAvatars. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, currently visible avatars will be stored + in dictionaries inside Simulator.ObjectPrimitives. + If false, a new Avatar or Primitive object will be created + each time an object update packet is received + + + If true, position and velocity will periodically be + interpolated (extrapolated, technically) for objects and + avatars that are being tracked by the library. This is + necessary to increase the accuracy of speed and position + estimates for simulated objects + + + + If true, utilization statistics will be tracked. There is a minor penalty + in CPU time for enabling this option. + + + + If true, parcel details will be stored in the + Simulator.Parcels dictionary as they are received + + + + If true, an incoming parcel properties reply will automatically send + a request for the parcel access list + + + + + if true, an incoming parcel properties reply will automatically send + a request for the traffic count. + + + + + If true, images, and other assets downloaded from the server + will be cached in a local directory + + + + Path to store cached texture data + + + Maximum size cached files are allowed to take on disk (bytes) + + + Default color used for viewer particle effects + + + Maximum number of times to resend a failed packet + + + Throttle outgoing packet rate + + + UUID of a texture used by some viewers to indentify type of client used + + + + Download textures using GetTexture capability when available + + + + The maximum number of concurrent texture downloads allowed + Increasing this number will not necessarily increase texture retrieval times due to + simulator throttles + + + + The Refresh timer inteval is used to set the delay between checks for stalled texture downloads + + This is a static variable which applies to all instances + + + + Textures taking longer than this value will be flagged as timed out and removed from the pipeline + + + + + Get or set the minimum log level to output to the console by default + + If the library is not compiled with DEBUG defined and this level is set to DEBUG + You will get no output on the console. This behavior can be overriden by creating + a logger configuration file for log4net + + + + Attach avatar names to log messages + + + Log packet retransmission info + + + Constructor + Reference to a GridClient object + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Cost of uploading an asset + Read-only since this value is dynamically fetched at login + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Login Request Parameters + + + + The URL of the Login Server + + + The number of milliseconds to wait before a login is considered + failed due to timeout + + + The request method + login_to_simulator is currently the only supported method + + + The Agents First name + + + The Agents Last name + + + A md5 hashed password + plaintext password will be automatically hashed + + + The agents starting location once logged in + Either "last", "home", or a string encoded URI + containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 + + + A string containing the client software channel information + Second Life Release + + + The client software version information + The official viewer uses: Second Life Release n.n.n.n + where n is replaced with the current version of the viewer + + + A string containing the platform information the agent is running on + + + A string hash of the network cards Mac Address + + + Unknown or deprecated + + + A string hash of the first disk drives ID used to identify this clients uniqueness + + + A string containing the viewers Software, this is not directly sent to the login server but + instead is used to generate the Version string + + + A string representing the software creator. This is not directly sent to the login server but + is used by the library to generate the Version information + + + If true, this agent agrees to the Terms of Service of the grid its connecting to + + + Unknown + + + An array of string sent to the login server to enable various options + + + A randomly generated ID to distinguish between login attempts. This value is only used + internally in the library and is never sent over the wire + + + + Default constuctor, initializes sane default values + + + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + + + + Instantiates new LoginParams object and fills in the values + + Instance of GridClient to read settings from + Login first name + Login last name + Password + Login channnel (application name) + Client version, should be application name + version number + URI of the login server + + + + The decoded data returned from the login server after a successful login + + + + true, false, indeterminate + + + Login message of the day + + + M or PG, also agent_region_access and agent_access_max + + + + Parse LLSD Login Reply Data + + An + contaning the login response data + XML-RPC logins do not require this as XML-RPC.NET + automatically populates the struct properly using attributes + + + + Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. + + + + + Rotation Keyframe count (used internally) + + + + + Position Keyframe count (used internally) + + + + + Animation Priority + + + + + The animation length in seconds. + + + + + Expression set in the client. Null if [None] is selected + + + + + The time in seconds to start the animation + + + + + The time in seconds to end the animation + + + + + Loop the animation + + + + + Meta data. Ease in Seconds. + + + + + Meta data. Ease out seconds. + + + + + Meta Data for the Hand Pose + + + + + Number of joints defined in the animation + + + + + Contains an array of joints + + + + + Searialize an animation asset into it's joints/keyframes/meta data + + + + + + Variable length strings seem to be null terminated in the animation asset.. but.. + use with caution, home grown. + advances the index. + + The animation asset byte array + The offset to start reading + a string + + + + Read in a Joint from an animation asset byte array + Variable length Joint fields, yay! + Advances the index + + animation asset byte array + Byte Offset of the start of the joint + The Joint data serialized into the binBVHJoint structure + + + + Read Keyframes of a certain type + advance i + + Animation Byte array + Offset in the Byte Array. Will be advanced + Number of Keyframes + Scaling Min to pass to the Uint16ToFloat method + Scaling Max to pass to the Uint16ToFloat method + + + + + A Joint and it's associated meta data and keyframes + + + + + Name of the Joint. Matches the avatar_skeleton.xml in client distros + + + + + Joint Animation Override? Was the same as the Priority in testing.. + + + + + Array of Rotation Keyframes in order from earliest to latest + + + + + Array of Position Keyframes in order from earliest to latest + This seems to only be for the Pelvis? + + + + + A Joint Keyframe. This is either a position or a rotation. + + + + + Either a Vector3 position or a Vector3 Euler rotation + + + + + Poses set in the animation metadata for the hands. + + + + + Avatar profile flags + + + + + Represents an avatar (other than your own) + + + + Groups that this avatar is a member of + + + Positive and negative ratings + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + + + Avatar interests including spoken languages, skills, and "want to" + choices + + + Movement control flags for avatars. Typically not set or used by + clients. To move your avatar, use Client.Self.Movement instead + + + + Contains the visual parameters describing the deformation of the avatar + + + + + Default constructor + + + + First name + + + Last name + + + Full name + + + Active group + + + + Positive and negative ratings + + + + Positive ratings for Behavior + + + Negative ratings for Behavior + + + Positive ratings for Appearance + + + Negative ratings for Appearance + + + Positive ratings for Building + + + Negative ratings for Building + + + Positive ratings given by this avatar + + + Negative ratings given by this avatar + + + + Avatar properties including about text, profile URL, image IDs and + publishing settings + + + + First Life about text + + + First Life image ID + + + + + + + + + + + + + + + Profile image ID + + + Flags of the profile + + + Web URL for this profile + + + Should this profile be published on the web + + + Avatar Online Status + + + Is this a mature profile + + + + + + + + + + Avatar interests including spoken languages, skills, and "want to" + choices + + + + Languages profile field + + + + + + + + + + + + + + + + Extract the avatar UUID encoded in a SIP URI + + + + + + + The type of bump-mapping applied to a face + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The level of shininess applied to a face + + + + + + + + + + + + + + + + + The texture mapping style used for a face + + + + + + + + + + + + + + + + + Flags in the TextureEntry block that describe which properties are + set + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Positional vector of the users position + + + Velocity vector of the position + + + At Orientation (X axis) of the position + + + Up Orientation (Y axis) of the position + + + Left Orientation (Z axis) of the position + + + + Image width + + + + + Image height + + + + + Image channel flags + + + + + Red channel data + + + + + Green channel data + + + + + Blue channel data + + + + + Alpha channel data + + + + + Bump channel data + + + + + Create a new blank image + + width + height + channel flags + + + + + + + + + + Convert the channels in the image. Channels are created or destroyed as required. + + new channel flags + + + + Resize or stretch the image using nearest neighbor (ugly) resampling + + new width + new height + + + + Create a byte array containing 32-bit RGBA data with a bottom-left + origin, suitable for feeding directly into OpenGL + + A byte array containing raw texture data + + + + pre-defined built in sounds + + + + + + + + + + + + + + + + + + + + + + + + + + + + coins + + + cash register bell + + + + + + + + + rubber + + + plastic + + + flesh + + + wood splintering? + + + glass break + + + metal clunk + + + whoosh + + + shake + + + + + + ding + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A dictionary containing all pre-defined sounds + + A dictionary containing the pre-defined sounds, + where the key is the sounds ID, and the value is a string + containing a name to identify the purpose of the sound + + + + + + + + The avatar has no rights + + + The avatar can see the online status of the target avatar + + + The avatar can see the location of the target avatar on the map + + + The avatar can modify the ojects of the target avatar + + + + This class holds information about an avatar in the friends list. There are two ways + to interface to this class. The first is through the set of boolean properties. This is the typical + way clients of this class will use it. The second interface is through two bitflag properties, + TheirFriendsRights and MyFriendsRights + + + + + Used internally when building the initial list of friends at login time + + System ID of the avatar being prepesented + Rights the friend has to see you online and to modify your objects + Rights you have to see your friend online and to modify their objects + + + + FriendInfo represented as a string + + A string reprentation of both my rights and my friends rights + + + + System ID of the avatar + + + + + full name of the avatar + + + + + True if the avatar is online + + + + + True if the friend can see if I am online + + + + + True if the friend can see me on the map + + + + + True if the freind can modify my objects + + + + + True if I can see if my friend is online + + + + + True if I can see if my friend is on the map + + + + + True if I can modify my friend's objects + + + + + My friend's rights represented as bitmapped flags + + + + + My rights represented as bitmapped flags + + + + + This class is used to add and remove avatars from your friends list and to manage their permission. + + + + The event subscribers. null if no subcribers + + + Raises the FriendOnline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendOffline event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendRightsUpdate event + A FriendInfoEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendNames event + A FriendNamesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipOffered event + A FriendshipOfferedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipResponse event + A FriendshipResponseEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendshipTerminated event + A FriendshipTerminatedEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the FriendFoundReply event + A FriendFoundReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + + A dictionary of key/value pairs containing known friends of this avatar. + + The Key is the of the friend, the value is a + object that contains detailed information including permissions you have and have given to the friend + + + + + A Dictionary of key/value pairs containing current pending frienship offers. + + The key is the of the avatar making the request, + the value is the of the request which is used to accept + or decline the friendship offer + + + + + Internal constructor + + A reference to the GridClient Object + + + + Accept a friendship request + + agentID of avatatar to form friendship with + imSessionID of the friendship request message + + + + Decline a friendship request + + of friend + imSessionID of the friendship request message + + + + Overload: Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + + + + Offer friendship to an avatar. + + System ID of the avatar you are offering friendship to + A message to send with the request + + + + Terminate a friendship with an avatar + + System ID of the avatar you are terminating the friendship with + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Change the rights of a friend avatar. + + the of the friend + the new rights to give the friend + This method will implicitly set the rights to those passed in the rights parameter. + + + + Use to map a friends location on the grid. + + Friends UUID to find + + + + + Use to track a friends movement on the grid + + Friends Key + + + + Ask for a notification of friend's online status + + Friend's UUID + + + + This handles the asynchronous response of a RequestAvatarNames call. + + + names cooresponding to the the list of IDs sent the the RequestAvatarNames call. + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + + Populate FriendList with data from the login reply + + true if login was successful + true if login request is requiring a redirect + A string containing the response to the login request + A string containing the reason for the request + A object containing the decoded + reply from the login server + + + Raised when the simulator sends notification one of the members in our friends list comes online + + + Raised when the simulator sends notification one of the members in our friends list goes offline + + + Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions + + + Raised when the simulator sends us the names on our friends list + + + Raised when the simulator sends notification another agent is offering us friendship + + + Raised when a request we sent to friend another agent is accepted or declined + + + Raised when the simulator sends notification one of the members in our friends list has terminated + our friendship + + + Raised when the simulator sends the location of a friend we have + requested map location info for + + + Contains information on a member of our friends list + + + + Construct a new instance of the FriendInfoEventArgs class + + The FriendInfo + + + Get the FriendInfo + + + Contains Friend Names + + + + Construct a new instance of the FriendNamesEventArgs class + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + A dictionary where the Key is the ID of the Agent, + and the Value is a string containing their name + + + Sent when another agent requests a friendship with our agent + + + + Construct a new instance of the FriendshipOfferedEventArgs class + + The ID of the agent requesting friendship + The name of the agent requesting friendship + The ID of the session, used in accepting or declining the + friendship offer + + + Get the ID of the agent requesting friendship + + + Get the name of the agent requesting friendship + + + Get the ID of the session, used in accepting or declining the + friendship offer + + + A response containing the results of our request to form a friendship with another agent + + + + Construct a new instance of the FriendShipResponseEventArgs class + + The ID of the agent we requested a friendship with + The name of the agent we requested a friendship with + true if the agent accepted our friendship offer + + + Get the ID of the agent we requested a friendship with + + + Get the name of the agent we requested a friendship with + + + true if the agent accepted our friendship offer + + + Contains data sent when a friend terminates a friendship with us + + + + Construct a new instance of the FrindshipTerminatedEventArgs class + + The ID of the friend who terminated the friendship with us + The name of the friend who terminated the friendship with us + + + Get the ID of the agent that terminated the friendship with us + + + Get the name of the agent that terminated the friendship with us + + + + Data sent in response to a request which contains the information to allow us to map the friends location + + + + + Construct a new instance of the FriendFoundReplyEventArgs class + + The ID of the agent we have requested location information for + The region handle where our friend is located + The simulator local position our friend is located + + + Get the ID of the agent we have received location information for + + + Get the region handle where our mapped friend is located + + + Get the simulator local position where our friend is located + + + + Return a decoded capabilities message as a strongly typed object + + A string containing the name of the capabilities message key + An to decode + A strongly typed object containing the decoded information from the capabilities message, or null + if no existing Message object exists for the specified event + + + + Represents an that represents an avatars body ie: Hair, Etc. + + + + Initializes a new instance of an AssetBodyPart object + + + Initializes a new instance of an AssetBodyPart object with parameters + A unique specific to this asset + A byte array containing the raw asset data + + + Override the base classes AssetType + + + + Archives assets + + + + + Archive assets + + + + + Archive the assets given to this archiver to the given archive. + + + + + + Write an assets metadata file to the given archive + + + + + + Write asset data files to the given archive + + + + + + + + + + + An instance of DelegateWrapper which calls InvokeWrappedDelegate, + which in turn calls the DynamicInvoke method of the wrapped + delegate + + + + + Callback used to call EndInvoke on the asynchronously + invoked DelegateWrapper + + + + + Executes the specified delegate with the specified arguments + asynchronously on a thread pool thread + + + + + + + Invokes the wrapped delegate synchronously + + + + + + + Calls EndInvoke on the wrapper and Close on the resulting WaitHandle + to prevent resource leaks + + + + + + Delegate to wrap another delegate and its arguments + + + + + + The event subscribers. null if no subcribers + + + Raises the LandPatchReceived event + A LandPatchReceivedEventArgs object containing the + data returned from the simulator + + + Thread sync lock object + + + + Default constructor + + + + + Raised when the simulator responds sends + + + Simulator from that sent tha data + + + Sim coordinate of the patch + + + Sim coordinate of the patch + + + Size of tha patch + + + Heightmap for the patch + + + Size of the byte array used to store raw packet data + + + Raw packet data buffer + + + Length of the data to transmit + + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for receiving a packet + + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + + + + Create an allocated UDP packet buffer for sending a packet + + EndPoint of the remote host + Size of the buffer to allocate for packet data + + + + Object pool for packet buffers. This is used to allocate memory for all + incoming and outgoing packets, and zerocoding buffers for those packets + + + + + Initialize the object pool in client mode + + Server to connect to + + + + + + Initialize the object pool in server mode + + + + + + + Returns a packet buffer with EndPoint set if the buffer is in + client mode, or with EndPoint set to null in server mode + + Initialized UDPPacketBuffer object + + + + Default constructor + + + + + Check a packet buffer out of the pool + + A packet buffer object + + + + + + Looking direction, must be a normalized vector + Up direction, must be a normalized vector + + + + Align the coordinate frame X and Y axis with a given rotation + around the Z axis in radians + + Absolute rotation around the Z axis in + radians + + + Origin position of this coordinate frame + + + X axis of this coordinate frame, or Forward/At in grid terms + + + Y axis of this coordinate frame, or Left in grid terms + + + Z axis of this coordinate frame, or Up in grid terms @@ -3316,8 +22040,7 @@ Agent sitting on a motorcycle - - + Agent moving head side to side @@ -3329,8 +22052,7 @@ Agent taunting another - - + Agent giving peace sign @@ -3402,8 +22124,7 @@ Agent sitting on ground - - + Agent sleeping on side @@ -3415,8 +22136,7 @@ Agent inhaling smoke - - + Agent taking a picture @@ -3506,12623 +22226,178 @@ A dictionary containing all pre-defined animations - A dictionary containing the pre-defined animations, + A dictionary containing the pre-defined animations, where the key is the animations ID, and the value is a string containing a name to identify the purpose of the animation - + - Index of TextureEntry slots for avatar appearances + Type of gesture step - + - Bake layers for avatar appearance + Base class for gesture steps - + - Default constructor + Retururns what kind of gesture step this is - A reference to our agent - + - Contains information about a wearable inventory item + Describes animation step of a gesture - - Inventory ItemID of the wearable - - - AssetID of the wearable asset - - - WearableType of the wearable - - - AssetType of the wearable - - - Asset data for the wearable - - - - Data collected from visual params for each wearable - needed for the calculation of the color - - - - - Holds a texture assetID and the data needed to bake this layer into - an outfit texture. Used to keep track of currently worn textures - and baking data - - - - A texture AssetID - - - Asset data for the texture - - - Collection of alpha masks that needs applying - - - Tint that should be applied to the texture - - - Maximum number of concurrent downloads for wearable assets and textures - - - Maximum number of concurrent uploads for baked textures - - - Timeout for fetching inventory listings - - - Timeout for fetching a single wearable, or receiving a single packet response - - - Timeout for fetching a single texture - - - Timeout for uploading a single baked texture - - - Number of times to retry bake upload - - - When changing outfit, kick off rebake after - 20 seconds has passed since the last change - - - Total number of wearables for each avatar - - - Total number of baked textures on each avatar - - - Total number of wearables per bake layer - - - Total number of textures on an avatar, baked or not - - - Mapping between BakeType and AvatarTextureIndex - - - Map of what wearables are included in each bake - - - Magic values to finalize the cache check hashes for each - bake - - - Default avatar texture, used to detect when a custom - texture is not set for a face - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - A cache of wearables currently being worn - - - A cache of textures currently being worn - - - Incrementing serial number for AgentCachedTexture packets - - - Incrementing serial number for AgentSetAppearance packets - - - Indicates whether or not the appearance thread is currently - running, to prevent multiple appearance threads from running - simultaneously - - - Reference to our agent - - - - Timer used for delaying rebake on changing outfit - - - - - Main appearance thread - - - - Triggered when an AgentWearablesUpdate packet is received, - telling us what our avatar is currently wearing - request. - - - Raised when an AgentCachedTextureResponse packet is - received, giving a list of cached bakes that were found on the - simulator - request. - - - - Raised when appearance data is sent to the simulator, also indicates - the main appearance thread is finished. - - request. - - - Triggered when the simulator requests the agent rebake its appearance. - - - - - - Returns true if AppearanceManager is busy and trying to set or change appearance will fail - - - - Raises the AgentWearablesReply event - An AgentWearablesReplyEventArgs object containing the - data returned from the data server - - - Raises the CachedBakesReply event - An AgentCachedBakesReplyEventArgs object containing the - data returned from the data server AgentCachedTextureResponse - - - Raises the AppearanceSet event - An AppearanceSetEventArgs object indicating if the operatin was successfull - - - Raises the RebakeAvatarRequested event - An RebakeAvatarTexturesEventArgs object containing the - data returned from the data server - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - - - - Obsolete method for setting appearance. This function no longer does anything. - Use RequestSetAppearance() to manually start the appearance thread - - Unused parameter - - - - Starts the appearance setting thread - - - - - Starts the appearance setting thread - - True to force rebaking, otherwise false - - - - Ask the server what textures our agent is currently wearing - - - - - Build hashes out of the texture assetIDs for each baking layer to - ask the simulator whether it has cached copies of each baked texture - - - - - Returns the AssetID of the asset that is currently being worn in a - given WearableType slot - - WearableType slot to get the AssetID for - The UUID of the asset being worn in the given slot, or - UUID.Zero if no wearable is attached to the given slot or wearables - have not been downloaded yet - - - - Add a wearable to the current outfit and set appearance - - Wearable to be added to the outfit - - - - Add a list of wearables to the current outfit and set appearance - - List of wearable inventory items to - be added to the outfit - - - - Remove a wearable from the current outfit and set appearance - - Wearable to be removed from the outfit - - - - Removes a list of wearables from the current outfit and set appearance - - List of wearable inventory items to - be removed from the outfit - - - - Replace the current outfit with a list of wearables and set appearance - - List of wearable inventory items that - define a new outfit - - - - Checks if an inventory item is currently being worn - - The inventory item to check against the agent - wearables - The WearableType slot that the item is being worn in, - or WearbleType.Invalid if it is not currently being worn - - - - Returns a copy of the agents currently worn wearables - - A copy of the agents currently worn wearables - Avoid calling this function multiple times as it will make - a copy of all of the wearable data each time - - - - Calls either or - depending on the value of - replaceItems - - List of wearable inventory items to add - to the outfit or become a new outfit - True to replace existing items with the - new list of items, false to add these items to the existing outfit - - - - Adds a list of attachments to our agent - - A List containing the attachments to add - If true, tells simulator to remove existing attachment - first - - - - Attach an item to our agent at a specific attach point - - A to attach - the on the avatar - to attach the item to - - - - Attach an item to our agent specifying attachment details - - The of the item to attach - The attachments owner - The name of the attachment - The description of the attahment - The to apply when attached - The of the attachment - The on the agent - to attach the item to - - - - Detach an item from our agent using an object - - An object - - - - Detach an item from our agent - - The inventory itemID of the item to detach - - - - Inform the sim which wearables are part of our current outfit - - - - - Replaces the Wearables collection with a list of new wearable items - - Wearable items to replace the Wearables collection with - - - - Calculates base color/tint for a specific wearable - based on its params - - All the color info gathered from wearable's VisualParams - passed as list of ColorParamInfo tuples - Base color/tint for the wearable - - - - Blocking method to populate the Wearables dictionary - - True on success, otherwise false - - - - Blocking method to populate the Textures array with cached bakes - - True on success, otherwise false - - - - Populates textures and visual params from a decoded asset - - Wearable to decode - - - - Blocking method to download and parse currently worn wearable assets - - True on success, otherwise false - - - - Get a list of all of the textures that need to be downloaded for a - single bake layer - - Bake layer to get texture AssetIDs for - A list of texture AssetIDs to download - - - - Helper method to lookup the TextureID for a single layer and add it - to a list if it is not already present - - - - - - - - - Blocking method to download all of the textures needed for baking - the given bake layers - - A list of layers that need baking - No return value is given because the baking will happen - whether or not all textures are successfully downloaded - - - - Blocking method to create and upload baked textures for all of the - missing bakes - - True on success, otherwise false - - - - Blocking method to create and upload a baked texture for a single - bake layer - - Layer to bake - True on success, otherwise false - - - - Blocking method to upload a baked texture - - Five channel JPEG2000 texture data to upload - UUID of the newly created asset on success, otherwise UUID.Zero - - - - Creates a dictionary of visual param values from the downloaded wearables - - A dictionary of visual param indices mapping to visual param - values for our agent that can be fed to the Baker class - - - - Create an AgentSetAppearance packet from Wearables data and the - Textures array and send it - - - - - Converts a WearableType to a bodypart or clothing WearableType - - A WearableType - AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - - - - Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex - - A BakeType - The AvatarTextureIndex slot that holds the given BakeType - - - - Gives the layer number that is used for morph mask - - >A BakeType - Which layer number as defined in BakeTypeToTextures is used for morph mask - - - - Converts a BakeType to a list of the texture slots that make up that bake - - A BakeType - A list of texture slots that are inputs for the given bake - - - Contains the Event data returned from the data server from an AgentWearablesRequest - - - Construct a new instance of the AgentWearablesReplyEventArgs class - - - Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Contains the Event data returned from an AppearanceSetRequest - - - - Triggered when appearance data is sent to the sim and - the main appearance thread is done. - Indicates whether appearance setting was successful - - - Indicates whether appearance setting was successful - - - Contains the Event data returned from the data server from an RebakeAvatarTextures - - - - Triggered when the simulator sends a request for this agent to rebake - its appearance - - The ID of the Texture Layer to bake - - - The ID of the Texture Layer to bake - - - - Class that handles the local asset cache - - - - - Default constructor - - A reference to the GridClient object - - - - Helper class for sorting files by their last accessed time - - - - - Allows setting weather to periodicale prune the cache if it grows too big - Default is enabled, when caching is enabled - - - - - How long (in ms) between cache checks (default is 5 min.) - - - - - Disposes cleanup timer - - - - - Only create timer when needed - - - - - Return bytes read from the local asset cache, null if it does not exist - - UUID of the asset we want to get - Raw bytes of the asset, or null on failure - - - - Returns ImageDownload object of the - image from the local image cache, null if it does not exist - - UUID of the image we want to get - ImageDownload object containing the image, or null on failure - - - - Constructs a file name of the cached asset - - UUID of the asset - String with the file name of the cahced asset - - - - Saves an asset to the local cache - - UUID of the asset - Raw bytes the asset consists of - Weather the operation was successfull - - - - Get the file name of the asset stored with gived UUID - - UUID of the asset - Null if we don't have that UUID cached on disk, file name if found in the cache folder - - - - Checks if the asset exists in the local cache - - UUID of the asset - True is the asset is stored in the cache, otherwise false - - - - Wipes out entire cache - - - - - Brings cache size to the 90% of the max size - - - - - Asynchronously brings cache size to the 90% of the max size - - - - - Adds up file sizes passes in a FileInfo array - - - - - Checks whether caching is enabled - - - - - Periodically prune the cache - - - - - Nicely formats file sizes - - Byte size we want to output - String with humanly readable file size - - - - - - - OK - - - Transfer completed - - - - - - - - - - - Unknown error occurred - - - Equivalent to a 404 error - - - Client does not have permission for that resource - - - Unknown status - - - - - - - - - - - Unknown - - - Virtually all asset transfers use this channel - - - - - - - - - - - Asset from the asset server - - - Inventory item - - - Estate asset, such as an estate covenant - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Image file format - - - - - - - - Number of milliseconds passed since the last transfer - packet was received - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Default constructor - - A reference to the GridClient object - - - - Callback used for various asset download requests - - Transfer information - Downloaded asset, null on fail - - - - Callback used upon competition of baked texture upload - - Asset UUID of the newly uploaded baked texture - - - Number of milliseconds to wait for a transfer header packet if out of order data was received - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Texture download cache - - - Raised when the simulator responds sends - - - Raised during upload completes - - - Raised during upload with progres update - - - Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Fired when a texture is in the process of being downloaded by the TexturePipeline class - - - Raises the XferReceived event - A XferReceivedEventArgs object containing the - data returned from the simulator - - - Raises the AssetUploaded event - A AssetUploadedEventArgs object containing the - data returned from the simulator - - - Raises the UploadProgress event - A UploadProgressEventArgs object containing the - data returned from the simulator - - - Raises the InitiateDownload event - A InitiateDownloadEventArgs object containing the - data returned from the simulator - - - Raises the ImageReceiveProgress event - A ImageReceiveProgressEventArgs object containing the - data returned from the simulator - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - The callback to fire when the simulator responds with the asset data - - - - Request an asset download - - Asset UUID - Asset type, must be correct for the transfer to succeed - Whether to give this transfer an elevated priority - Source location of the requested asset - UUID of the transaction - The callback to fire when the simulator responds with the asset data - - - - Request an asset download through the almost deprecated Xfer system - - Filename of the asset to request - Whether or not to delete the asset - off the server after it is retrieved - Use large transfer packets or not - UUID of the file to request, if filename is - left empty - Asset type of vFileID, or - AssetType.Unknown if filename is not empty - Sets the FilePath in the request to Cache - (4) if true, otherwise Unknown (0) is used - - - - - - - Use UUID.Zero if you do not have the - asset ID but have all the necessary permissions - The item ID of this asset in the inventory - Use UUID.Zero if you are not requesting an - asset from an object inventory - The owner of this asset - Asset type - Whether to prioritize this asset download or not - - - - - - Used to force asset data into the PendingUpload property, ie: for raw terrain uploads - - An AssetUpload object containing the data to upload to the simulator - - - - Request an asset be uploaded to the simulator - - The Object containing the asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - The of the asset being uploaded - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Request an asset be uploaded to the simulator - - - - Asset type to upload this data as - A byte array containing the encoded asset data - If True, the asset once uploaded will be stored on the simulator - in which the client was connected in addition to being stored on the asset server - The of the transfer, can be used to correlate the upload with - events being fired - - - - Initiate an asset upload - - The ID this asset will have if the - upload succeeds - Asset type to upload this data as - Raw asset data to upload - Whether to store this asset on the local - simulator or the grid-wide asset server - The tranaction id for the upload - The transaction ID of this transfer - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress - transfer. - A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority - indicating an off-by-one error. - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - Request an image and fire a callback when the request is complete - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - - Request an image and use an inline anonymous method to handle the downloaded texture data - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", - asset.AssetID, - asset.AssetData.Length); - } - } - ); - - Request a texture, decode the texture to a bitmap image and apply it to a imagebox - - Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); - private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) - { - if(state == TextureRequestState.Finished) - { - ManagedImage imgData; - Image bitmap; - if (state == TextureRequestState.Finished) - { - OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); - picInsignia.Image = bitmap; - } - } - } - - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - - - - Overload: Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Cancel a texture request - - The texture assets - - - - Lets TexturePipeline class fire the progress event - - The texture ID currently being downloaded - the number of bytes transferred - the total number of bytes expected - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Xfer data - - - Upload data - - - Filename used on the simulator - - - Filename used by the client - - - UUID of the image that is in progress - - - Number of bytes received so far - - - Image size in bytes - - - - Avatar profile flags - - - - - Represents an avatar (other than your own) - - - - - Default constructor - - - - - Positive and negative ratings - - - - Positive ratings for Behavior - - - Negative ratings for Behavior - - - Positive ratings for Appearance - - - Negative ratings for Appearance - - - Positive ratings for Building - - - Negative ratings for Building - - - Positive ratings given by this avatar - - - Negative ratings given by this avatar - - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - - First Life about text - - - First Life image ID - - - - - - - - - - - - - - - - - - - Profile image ID - - - Flags of the profile - - - Web URL for this profile - - - Should this profile be published on the web - - - Avatar Online Status - - - Is this a mature profile - - - - - - - - - - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - - Languages profile field - - - - - - - - - - - - - - - - - - - Groups that this avatar is a member of - - - Positive and negative ratings - - - Avatar properties including about text, profile URL, image IDs and - publishing settings - - - Avatar interests including spoken languages, skills, and "want to" - choices - - - Movement control flags for avatars. Typically not set or used by - clients. To move your avatar, use Client.Self.Movement instead - - - - Contains the visual parameters describing the deformation of the avatar - - - - First name - - - Last name - - - Full name - - - Active group - - - - Holds group information for Avatars such as those you might find in a profile - - - - true of Avatar accepts group notices - - - Groups Key - - - Texture Key for groups insignia - - - Name of the group - - - Powers avatar has in the group - - - Avatars Currently selected title - - - true of Avatar has chosen to list this in their profile - - - - Contains an animation currently being played by an agent - - - - The ID of the animation asset - - - A number to indicate start order of currently playing animations - On Linden Grids this number is unique per region, with OpenSim it is per client - - - - - - - - Holds group information on an individual profile pick - - - - - Retrieve friend status notifications, and retrieve avatar names and - profiles - - - - - Represents other avatars - - - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - an agents animation playlist - - - Raised when the simulator sends us data containing - the appearance information for an agent - - - Raised when the simulator sends us data containing - agent names/id values - - - Raised when the simulator sends us data containing - the interests listed in an agents profile - - - Raised when the simulator sends us data containing - profile property information for an agent - - - Raised when the simulator sends us data containing - the group membership an agent is a member of - - - Raised when the simulator sends us data containing - name/id pair - - - Raised when the simulator sends us data containing - the objects and effect when an agent is pointing at - - - Raised when the simulator sends us data containing - the objects and effect when an agent is looking at - - - Raised when the simulator sends us data containing - an agents viewer effect information - - - Raised when the simulator sends us data containing - the top picks from an agents profile - - - Raised when the simulator sends us data containing - the Pick details - - - Raised when the simulator sends us data containing - the classified ads an agent has placed - - - Raised when the simulator sends us data containing - the details of a classified ad - - - Raises the AvatarAnimation Event - An AvatarAnimationEventArgs object containing - the data sent from the simulator - - - Raises the AvatarAppearance Event - A AvatarAppearanceEventArgs object containing - the data sent from the simulator - - - Raises the UUIDNameReply Event - A UUIDNameReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarInterestsReply Event - A AvatarInterestsReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarPropertiesReply Event - A AvatarPropertiesReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarGroupsReply Event - A AvatarGroupsReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarPickerReply Event - A AvatarPickerReplyEventArgs object containing - the data sent from the simulator - - - Raises the ViewerEffectPointAt Event - A ViewerEffectPointAtEventArgs object containing - the data sent from the simulator - - - Raises the ViewerEffectLookAt Event - A ViewerEffectLookAtEventArgs object containing - the data sent from the simulator - - - Raises the ViewerEffect Event - A ViewerEffectEventArgs object containing - the data sent from the simulator - - - Raises the AvatarPicksReply Event - A AvatarPicksReplyEventArgs object containing - the data sent from the simulator - - - Raises the PickInfoReply Event - A PickInfoReplyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarClassifiedReply Event - A AvatarClassifiedReplyEventArgs object containing - the data sent from the simulator - - - Raises the ClassifiedInfoReply Event - A ClassifiedInfoReplyEventArgs object containing - the data sent from the simulator - - - Tracks the specified avatar on your map - Avatar ID to track - - - - Request a single avatar name - - The avatar key to retrieve a name for - - - - Request a list of avatar names - - The avatar keys to retrieve names for - - - - Start a request for Avatar Properties - - - - - - - Search for an avatar (first name, last name) - - The name to search for - An ID to associate with this query - - - - Start a request for Avatar Picks - - UUID of the avatar - - - - Start a request for Avatar Classifieds - - UUID of the avatar - - - - Start a request for details of a specific profile pick - - UUID of the avatar - UUID of the profile pick - - - - Start a request for details of a specific profile classified - - UUID of the avatar - UUID of the profile classified - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Crossed region handler for message that comes across the EventQueue. Sent to an agent - when the agent crosses a sim border into a new region. - - The message key - the IMessage object containing the deserialized data sent from the simulator - The which originated the packet - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Provides data for the event - The event occurs when the simulator sends - the animation playlist for an agent - - The following code example uses the and - properties to display the animation playlist of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; - private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) - { - // create a dictionary of "known" animations from the Animations class using System.Reflection - Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); - Type type = typeof(Animations); - System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); - foreach (System.Reflection.FieldInfo field in fields) - { - systemAnimations.Add((UUID)field.GetValue(type), field.Name); - } - // find out which animations being played are known animations and which are assets - foreach (Animation animation in e.Animations) - { - if (systemAnimations.ContainsKey(animation.AnimationID)) - { - Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, - systemAnimations[animation.AnimationID], animation.AnimationSequence); - } - else - { - Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, - animation.AnimationID, animation.AnimationSequence); - } - } - } - - - - - Construct a new instance of the AvatarAnimationEventArgs class - - The ID of the agent - The list of animations to start - - - Get the ID of the agent - - - Get the list of animations to start - - - Provides data for the event - The event occurs when the simulator sends - the appearance data for an avatar - - The following code example uses the and - properties to display the selected shape of an avatar on the window. - - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - - - - - Construct a new instance of the AvatarAppearanceEventArgs class - - The simulator request was from - The ID of the agent - true of the agent is a trial account - The default agent texture - The agents appearance layer textures - The for the agent - - - Get the Simulator this request is from of the agent - - - Get the ID of the agent - - - true if the agent is a trial account - - - Get the default agent texture - - - Get the agents appearance layer textures - - - Get the for the agent - - - Represents the interests from the profile of an agent - - - Get the ID of the agent - - - The properties of an agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the agent - - - Get the ID of the avatar - - - - Reads in a byte array of an Animation Asset created by the SecondLife(tm) client. - - - - - Searialize an animation asset into it's joints/keyframes/meta data - - - - - - - Rotation Keyframe count (used internally) - - - - - Position Keyframe count (used internally) - - - - - Animation Priority - - - - - The animation length in seconds. - - - - - Expression set in the client. Null if [None] is selected - - - - - The time in seconds to start the animation - - - - - The time in seconds to end the animation - - - - - Loop the animation - - - - - Meta data. Ease in Seconds. - - - - - Meta data. Ease out seconds. - - - - - Meta Data for the Hand Pose - - - - - Number of joints defined in the animation - - - - - Contains an array of joints - - - - - Variable length strings seem to be null terminated in the animation asset.. but.. - use with caution, home grown. - advances the index. - - The animation asset byte array - The offset to start reading - a string - - - - Read in a Joint from an animation asset byte array - Variable length Joint fields, yay! - Advances the index - - animation asset byte array - Byte Offset of the start of the joint - The Joint data serialized into the binBVHJoint structure - - - - Read Keyframes of a certain type - advance i - - Animation Byte array - Offset in the Byte Array. Will be advanced - Number of Keyframes - Scaling Min to pass to the Uint16ToFloat method - Scaling Max to pass to the Uint16ToFloat method - - - - - - A Joint and it's associated meta data and keyframes - - - - - Name of the Joint. Matches the avatar_skeleton.xml in client distros - - - - - Joint Animation Override? Was the same as the Priority in testing.. - - - - - Array of Rotation Keyframes in order from earliest to latest - - - - - Array of Position Keyframes in order from earliest to latest - This seems to only be for the Pelvis? - - - - - A Joint Keyframe. This is either a position or a rotation. - - - - - Either a Vector3 position or a Vector3 Euler rotation - - - - - Poses set in the animation metadata for the hands. - - - - - Wrapper around a byte array that allows bit to be packed and unpacked - one at a time or by a variable amount. Useful for very tightly packed - data like LayerData packets - - - - - Default constructor, initialize the bit packer / bit unpacker - with a byte array and starting position - - Byte array to pack bits in to or unpack from - Starting position in the byte array - - - - - - - - - - - - - - - - Pack a floating point value in to the data - - Floating point value to pack - - - - Pack part or all of an integer in to the data - - Integer containing the data to pack - Number of bits of the integer to pack - - - - Pack part or all of an unsigned integer in to the data - - Unsigned integer containing the data to pack - Number of bits of the integer to pack - - - - Pack a single bit in to the data - - Bit to pack - - - - - - - - - - - - - - - - - - - - - - - - - - - - Unpacking a floating point value from the data - - Unpacked floating point value - - - - Unpack a variable number of bits from the data in to integer format - - Number of bits to unpack - An integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a variable number of bits from the data in to unsigned - integer format - - Number of bits to unpack - An unsigned integer containing the unpacked bits - This function is only useful up to 32 bits - - - - Unpack a 16-bit signed integer - - 16-bit signed integer - - - - Unpack a 16-bit unsigned integer - - 16-bit unsigned integer - - - - Unpack a 32-bit signed integer - - 32-bit signed integer - - - - Unpack a 32-bit unsigned integer - - 32-bit unsigned integer - - - - Capabilities is the name of the bi-directional HTTP REST protocol - used to communicate non real-time transactions such as teleporting or - group messaging - - - - - Default constructor - - - - - - - - - Triggered when an event is received via the EventQueueGet - capability - - Event name - Decoded event data - The simulator that generated the event - - - Reference to the simulator this system is connected to - - - Capabilities URI this system was initialized with - - - Whether the capabilities event queue is connected and - listening for incoming events - - - - Request the URI of a named capability - - Name of the capability to request - The URI of the requested capability, or String.Empty if - the capability does not exist - - - - Process any incoming events, check to see if we have a message created for the event, - - - - - - - - - Attempts to convert an LLSD structure to a known Packet type - - Event name, this must match an actual - packet name for a Packet to be successfully built - LLSD to convert to a Packet - A Packet on success, otherwise null - - - Origin position of this coordinate frame - - - X axis of this coordinate frame, or Forward/At in grid terms - - - Y axis of this coordinate frame, or Left in grid terms - - - Z axis of this coordinate frame, or Up in grid terms - - - - - Looking direction, must be a normalized vector - Up direction, must be a normalized vector - - - - Align the coordinate frame X and Y axis with a given rotation - around the Z axis in radians - - Absolute rotation around the Z axis in - radians - - - - Access to the data server which allows searching for land, events, people, etc - - - - - Constructs a new instance of the DirectoryManager class - - An instance of GridClient - - - Classified Ad categories - - - Classified is listed in the Any category - - - Classified is shopping related - - - Classified is - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Event Categories - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Query Flags used in many of the DirectoryManager methods to specify which query to execute and how to return the results. - Flags can be combined using the | (pipe) character, not all flags are available in all queries - - - - Query the People database - - - - - - - - - - - Query the Groups database - - - Query the Events database - - - Query the land holdings database for land owned by the currently connected agent - - - - - - - Query the land holdings database for land which is owned by a Group - - - Specifies the query should pre sort the results based upon traffic - when searching the Places database - - - - - - - - - - - - - - - - - - - Specifies the query should pre sort the results in an ascending order when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the SalePrice field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results by calculating the average price/sq.m (SalePrice / Area) when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the ParcelSize field when searching the land sales database. - This flag is only used when searching the land sales database - - - Specifies the query should pre sort the results using the Name field when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels less than the specified Price will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - When set, only parcels greater than the specified Size will be included when searching the land sales database. - This flag is only used when searching the land sales database - - - - - - - - - - - Include PG land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Mature land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - Include Adult land in results. This flag is used when searching both the Groups, Events and Land sales databases - - - - - - - - Land types to search dataserver for - - - - Search Auction, Mainland and Estate - - - Land which is currently up for auction - - - Parcels which are on the mainland (Linden owned) continents - - - Parcels which are on privately owned simulators - - - - The content rating of the event - - - - Event is PG - - - Event is Mature - - - Event is Adult - - - - Classified Ad Options - - There appear to be two formats the flags are packed in. - This set of flags is for the newer style - - - - - - - - - - - - - - - - - - - - - - - - Classified ad query options - - - - Include all ads in results - - - Include PG ads in results - - - Include Mature ads in results - - - Include Adult ads in results - - - - The For Sale flag in PlacesReplyData - - - - Parcel is not listed for sale - - - Parcel is For Sale - - - - A classified ad on the grid - - - - UUID for this ad, useful for looking up detailed - information about it - - - The title of this classified ad - - - Flags that show certain options applied to the classified - - - Creation date of the ad - - - Expiration date of the ad - - - Price that was paid for this ad - - - Print the struct data as a string - A string containing the field name, and field value - - - - A parcel retrieved from the dataserver such as results from the - "For-Sale" listings or "Places" Search - - - - The unique dataserver parcel ID - This id is used to obtain additional information from the entry - by using the method - - - A string containing the name of the parcel - - - The size of the parcel - This field is not returned for Places searches - - - The price of the parcel - This field is not returned for Places searches - - - If True, this parcel is flagged to be auctioned - - - If true, this parcel is currently set for sale - - - Parcel traffic - - - Print the struct data as a string - A string containing the field name, and field value - - - - An Avatar returned from the dataserver - - - - Online status of agent - This field appears to be obsolete and always returns false - - - The agents first name - - - The agents last name - - - The agents - - - Print the struct data as a string - A string containing the field name, and field value - - - - Response to a "Groups" Search - - - - The Group ID - - - The name of the group - - - The current number of members - - - Print the struct data as a string - A string containing the field name, and field value - - - - Parcel information returned from a request - - Represents one of the following: - A parcel of land on the grid that has its Show In Search flag set - A parcel of land owned by the agent making the request - A parcel of land owned by a group the agent making the request is a member of - - In a request for Group Land, the First record will contain an empty record - - Note: This is not the same as searching the land for sale data source - - - - The ID of the Agent of Group that owns the parcel - - - The name - - - The description - - - The Size of the parcel - - - The billable Size of the parcel, for mainland - parcels this will match the ActualArea field. For Group owned land this will be 10 percent smaller - than the ActualArea. For Estate land this will always be 0 - - - Indicates the ForSale status of the parcel - - - The Gridwide X position - - - The Gridwide Y position - - - The Z position of the parcel, or 0 if no landing point set - - - The name of the Region the parcel is located in - - - The Asset ID of the parcels Snapshot texture - - - The calculated visitor traffic - - - The billing product SKU - Known values are: - 023Mainland / Full Region024Estate / Full Region027Estate / Openspace029Estate / Homestead129Mainland / Homestead (Linden Owned) - - - No longer used, will always be 0 - - - Get a SL URL for the parcel - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - - An "Event" Listing summary - - - - The ID of the event creator - - - The name of the event - - - The events ID - - - A string containing the short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) - - - The events maturity rating - - - Print the struct data as a string - A string containing the field name, and field value - - - - The details of an "Event" - - - - The events ID - - - The ID of the event creator - - - The name of the event - - - The category - - - The events description - - - The short date/time the event will begin - - - The event start time in Unixtime (seconds since epoch) UTC adjusted - - - The length of the event in minutes - - - 0 if no cover charge applies - - - The cover charge amount in L$ if applicable - - - The name of the region where the event is being held - - - The gridwide location of the event - - - The maturity rating - - - Get a SL URL for the parcel where the event is hosted - A string, containing a standard SLURL - - - Print the struct data as a string - A string containing the field name, and field value - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raises the EventInfoReply event - An EventInfoReplyEventArgs object containing the - data returned from the data server - - - Raises the DirEventsReply event - An DirEventsReplyEventArgs object containing the - data returned from the data server - - - Raises the PlacesReply event - A PlacesReplyEventArgs object containing the - data returned from the data server - - - Raises the DirPlacesReply event - A DirPlacesReplyEventArgs object containing the - data returned from the data server - - - Raises the DirClassifiedsReply event - A DirClassifiedsReplyEventArgs object containing the - data returned from the data server - - - Raises the DirGroupsReply event - A DirGroupsReplyEventArgs object containing the - data returned from the data server - - - Raises the DirPeopleReply event - A DirPeopleReplyEventArgs object containing the - data returned from the data server - - - Raises the DirLandReply event - A DirLandReplyEventArgs object containing the - data returned from the data server - - - - Query the data server for a list of classified ads containing the specified string. - Defaults to searching for classified placed in any category, and includes PG, Adult and Mature - results. - Responses are sent 16 per response packet, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - A UUID to correlate the results when the event is raised - - - - Query the data server for a list of classified ads which contain specified keywords (Overload) - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for - The category to search - A set of flags which can be ORed to modify query options - such as classified maturity rating. - A UUID to correlate the results when the event is raised - - Search classified ads containing the key words "foo" and "bar" in the "Any" category that are either PG or Mature - - UUID searchID = StartClassifiedSearch("foo bar", ClassifiedCategories.Any, ClassifiedQueryFlags.PG | ClassifiedQueryFlags.Mature); - - - Responses are sent 16 at a time, there is no way to know how many results a query reply will contain however assuming - the reply packets arrived ordered, a response with less than 16 entries would indicate all results have been received - - - - - Starts search for places (Overloaded) - The event is raised when a response is received from the simulator - - Search text - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - - - Queries the dataserver for parcels of land which are flagged to be shown in search - The event is raised when a response is received from the simulator - - A string containing a list of keywords to search for separated by a space character - A set of flags which can be ORed to modify query options - such as classified maturity rating. - The category to search - Each request is limited to 100 places - being returned. To get the first 100 result entries of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - A UUID to correlate the results when the event is raised - - Search places containing the key words "foo" and "bar" in the "Any" category that are either PG or Adult - - UUID searchID = StartDirPlacesSearch("foo bar", DirFindFlags.DwellSort | DirFindFlags.IncludePG | DirFindFlags.IncludeAdult, ParcelCategory.Any, 0); - - - Additional information on the results can be obtained by using the ParcelManager.InfoRequest method - - - - - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Starts a search for land sales using the directory - The event is raised when a response is received from the simulator - - What type of land to search for. Auction, - estate, mainland, "first land", etc - Maximum price to search for - Maximum area to search for - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 1, 200-299 use 2, etc. - The OnDirLandReply event handler must be registered before - calling this function. There is no way to determine how many - results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each query. - - - - Send a request to the data server for land sales listings - - Flags sent to specify query options - Available flags: - Specify the parcel rating with one or more of the following: - IncludePG IncludeMature IncludeAdult - Specify the field to pre sort the results with ONLY ONE of the following: - PerMeterSort NameSort AreaSort PricesSort - Specify the order the results are returned in, if not specified the results are pre sorted in a Descending Order - SortAsc - Specify additional filters to limit the results with one or both of the following: - LimitByPrice LimitByArea - Flags can be combined by separating them with the | (pipe) character - Additional details can be found in - What type of land to search for. Auction, - Estate or Mainland - Maximum price to search for when the - DirFindFlags.LimitByPrice flag is specified in findFlags - Maximum area to search for when the - DirFindFlags.LimitByArea flag is specified in findFlags - Each request is limited to 100 parcels - being returned. To get the first 100 parcels of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - - The event will be raised with the response from the simulator - There is no way to determine how many results will be returned, or how many times the callback will be - fired other than you won't get more than 100 total parcels from - each reply. - Any land set for sale to either anybody or specific to the connected agent will be included in the - results if the land is included in the query - - - - // request all mainland, any maturity rating that is larger than 512 sq.m - StartLandSearch(DirFindFlags.SortAsc | DirFindFlags.PerMeterSort | DirFindFlags.LimitByArea | DirFindFlags.IncludePG | DirFindFlags.IncludeMature | DirFindFlags.IncludeAdult, SearchTypeFlags.Mainland, 0, 512, 0); - - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - - - - - - Search for Groups - - The name or portion of the name of the group you wish to search for - Start from the match number - Search flags - - - - - - Search the People directory for other avatars - - The name or portion of the name of the avatar you wish to search for - - - - - - - - Search Places for parcels of land you personally own - - - - - Searches Places for land owned by the specified group - - ID of the group you want to recieve land list for (You must be a member of the group) - Transaction (Query) ID which can be associated with results from your request. - - - - Search the Places directory for parcels that are listed in search and contain the specified keywords - - A string containing the keywords to search for - Transaction (Query) ID which can be associated with results from your request. - - - - Search Places - All Options - - One of the Values from the DirFindFlags struct, ie: AgentOwned, GroupOwned, etc. - One of the values from the SearchCategory Struct, ie: Any, Linden, Newcomer - A string containing a list of keywords to search for separated by a space character - String Simulator Name to search in - LLUID of group you want to recieve results for - Transaction (Query) ID which can be associated with results from your request. - Transaction (Query) ID which can be associated with results from your request. - - - - Search All Events with specifid searchText in all categories, includes PG, Mature and Adult - - A string containing a list of keywords to search for separated by a space character - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - UUID of query to correlate results in callback. - - - - Search Events - - A string containing a list of keywords to search for separated by a space character - One or more of the following flags: DateEvents, IncludePG, IncludeMature, IncludeAdult - from the Enum - Multiple flags can be combined by separating the flags with the | (pipe) character - "u" for in-progress and upcoming events, -or- number of days since/until event is scheduled - For example "0" = Today, "1" = tomorrow, "2" = following day, "-1" = yesterday, etc. - Each request is limited to 100 entries - being returned. To get the first group of entries of a request use 0, - from 100-199 use 100, 200-299 use 200, etc. - EventCategory event is listed under. - UUID of query to correlate results in callback. - - - Requests Event Details - ID of Event returned from the method - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming event message - The Unique Capabilities Key - The event message containing the data - The simulator the message originated from - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the Event data returned from the data server from an EventInfoRequest - - - Construct a new instance of the EventInfoReplyEventArgs class - A single EventInfo object containing the details of an event - - - - A single EventInfo object containing the details of an event - - - - Contains the "Event" detail data returned from the data server - - - Construct a new instance of the DirEventsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Events" returned by the search query - - - The ID returned by - - - A list of "Events" returned by the data server - - - Contains the "Event" list data returned from the data server - - - Construct a new instance of PlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing the "Places" returned by the data server query - - - The ID returned by - - - A list of "Places" returned by the data server - - - Contains the places data returned from the data server - - - Construct a new instance of the DirPlacesReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list containing land data returned by the data server - - - The ID returned by - - - A list containing Places data returned by the data server - - - Contains the classified data returned from the data server - - - Construct a new instance of the DirClassifiedsReplyEventArgs class - A list of classified ad data returned from the data server - - - A list containing Classified Ads returned by the data server - - - Contains the group data returned from the data server - - - Construct a new instance of the DirGroupsReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of groups data returned by the data server - - - The ID returned by - - - A list containing Groups data returned by the data server - - - Contains the people data returned from the data server - - - Construct a new instance of the DirPeopleReplyEventArgs class - The ID of the query returned by the data server. - This will correlate to the ID returned by the method - A list of people data returned by the data server - - - The ID returned by - - - A list containing People data returned by the data server - - - Contains the land sales data returned from the data server - - - Construct a new instance of the DirLandReplyEventArgs class - A list of parcels for sale returned by the data server - - - A list containing land forsale data returned by the data server - - - - Represends individual HTTP Download request - - - - Default constructor - - - Constructor - - - URI of the item to fetch - - - Timout specified in milliseconds - - - Download progress callback - - - Download completed callback - - - Accept the following content type - - - - Manages async HTTP downloads with a limit on maximum - concurrent downloads - - - - Default constructor - - - Maximum number of parallel downloads from a single endpoint - - - Client certificate - - - Cleanup method - - - Setup http download request - - - Check the queue for pending work - - - Enqueue a new HTPP download - - - Describes tasks returned in LandStatReply - - - - Estate level administration and utilities - - - - - Constructor for EstateTools class - - - - - - Used in the ReportType field of a LandStatRequest - - - Used by EstateOwnerMessage packets - - - Used by EstateOwnerMessage packets - - - - - - - No flags set - - - Only return targets scripted objects - - - Only return targets objects if on others land - - - Returns target's scripted objects and objects on other parcels - - - Ground texture settings for each corner of the region - - - Used by GroundTextureHeightSettings - - - The high and low texture thresholds for each corner of the sim - - - Textures for each of the four terrain height levels - - - Upper/lower texture boundaries for each corner of the sim - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raised when the data server responds to a request. - - - Raises the TopCollidersReply event - A TopCollidersReplyEventArgs object containing the - data returned from the data server - - - Raises the TopScriptsReply event - A TopScriptsReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateUsersReply event - A EstateUsersReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateGroupsReply event - A EstateGroupsReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateManagersReply event - A EstateManagersReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateBansReply event - A EstateBansReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateCovenantReply event - A EstateCovenantReplyEventArgs object containing the - data returned from the data server - - - Raises the EstateUpdateInfoReply event - A EstateUpdateInfoReplyEventArgs object containing the - data returned from the data server - - - - Requests estate information such as top scripts and colliders - - - - - - - - - - - - Requests estate settings, including estate manager and access/ban lists - - - Requests the "Top Scripts" list for the current region - - - Requests the "Top Colliders" list for the current region - - - - Set several estate specific configuration variables - - The Height of the waterlevel over the entire estate. Defaults to 20 - The maximum height change allowed above the baked terrain. Defaults to 4 - The minimum height change allowed below the baked terrain. Defaults to -4 - true to use - if True forces the sun position to the position in SunPosition - The current position of the sun on the estate, or when FixedSun is true the static position - the sun will remain. 6.0 = Sunrise, 30.0 = Sunset - - - - Request return of objects owned by specified avatar - - The Agents owning the primitives to return - specify the coverage and type of objects to be included in the return - true to perform return on entire estate - - - - - - - - - - - - Used for setting and retrieving various estate panel settings - - EstateOwnerMessage Method field - List of parameters to include - - - - Kick an avatar from an estate - - Key of Agent to remove - - - - Ban an avatar from an estate - Key of Agent to remove - Ban user from this estate and all others owned by the estate owner - - - Unban an avatar from an estate - Key of Agent to remove - /// Unban user from this estate and all others owned by the estate owner - - - Send a message dialog to everyone in an entire estate - - Message to send all users in the estate - - - - Send a message dialog to everyone in a simulator - - Message to send all users in the simulator - - - - Send an avatar back to their home location - - Key of avatar to send home - - - - Begin the region restart process - - - - - Cancels a region restart - - - - Estate panel "Region" tab settings - - - Estate panel "Debug" tab settings - - - Used for setting the region's terrain textures for its four height levels - - - - - - - - - - - Used for setting sim terrain texture heights - - - Requests the estate covenant - - - - Upload a terrain RAW file - - A byte array containing the encoded terrain data - The name of the file being uploaded - The Id of the transfer request - - - - Teleports all users home in current Estate - - - - - Remove estate manager - Key of Agent to Remove - removes manager to this estate and all others owned by the estate owner - - - - Add estate manager - Key of Agent to Add - Add agent as manager to this estate and all others owned by the estate owner - - - - Add's an agent to the estate Allowed list - Key of Agent to Add - Add agent as an allowed reisdent to All estates if true - - - - Removes an agent from the estate Allowed list - Key of Agent to Remove - Removes agent as an allowed reisdent from All estates if true - - - - Add's a group to the estate Allowed list - Key of Group to Add - Add Group as an allowed group to All estates if true - - - - Removes a group from the estate Allowed list - Key of Group to Remove - Removes Group as an allowed Group from All estates if true - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Raised on LandStatReply when the report type is for "top colliders" - - - Construct a new instance of the TopCollidersReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - The number of returned items in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Raised on LandStatReply when the report type is for "top Scripts" - - - Construct a new instance of the TopScriptsReplyEventArgs class - The number of returned items in LandStatReply - Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - The number of scripts returned in LandStatReply - - - - - A Dictionary of Object UUIDs to tasks returned in LandStatReply - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateBansReplyEventArgs class - The estate's identifier on the grid - The number of returned items in LandStatReply - User UUIDs banned - - - - The identifier of the estate - - - - - The number of returned itmes - - - - - List of UUIDs of Banned Users - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUsersReplyEventArgs class - The estate's identifier on the grid - The number of users - Allowed users UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Users - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateGroupsReplyEventArgs class - The estate's identifier on the grid - The number of Groups - Allowed Groups UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of Allowed Groups - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateManagersReplyEventArgs class - The estate's identifier on the grid - The number of Managers - Managers UUIDs - - - - The identifier of the estate - - - - - The number of returned items - - - - - List of UUIDs of the Estate's Managers - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateCovenantReplyEventArgs class - The Covenant ID - The timestamp - The estate's name - The Estate Owner's ID (can be a GroupID) - - - - The Covenant - - - - - The timestamp - - - - - The Estate name - - - - - The Estate Owner's ID (can be a GroupID) - - - - Returned, along with other info, upon a successful .RequestInfo() - - - Construct a new instance of the EstateUpdateInfoReplyEventArgs class - The estate's name - The Estate Owners ID (can be a GroupID) - The estate's identifier on the grid - - - - - - The estate's name - - - - - The Estate Owner's ID (can be a GroupID) - - - - - The identifier of the estate on the grid - - - - - - - - - Registers, unregisters, and fires events generated by incoming packets - - - - - Default constructor - - - - - - - Object that is passed to worker threads in the ThreadPool for - firing packet callbacks - - - - Callback to fire for this packet - - - Reference to the simulator that this packet came from - - - The packet that needs to be processed - - - Reference to the GridClient object - - - - Register an event handler - - Use PacketType.Default to fire this event on every - incoming packet - Packet type to register the handler for - Callback to be fired - True if this callback should be ran - asynchronously, false to run it synchronous - - - - Unregister an event handler - - Packet type to unregister the handler for - Callback to be unregistered - - - - Fire the events registered for this packet type - - Incoming packet type - Incoming packet - Simulator this packet was received from - - - - Registers, unregisters, and fires events generated by the Capabilities - event queue - - - - - Default constructor - - Reference to the GridClient object - - - - Object that is passed to worker threads in the ThreadPool for - firing CAPS callbacks - - - - Callback to fire for this packet - - - Name of the CAPS event - - - Strongly typed decoded data - - - Reference to the simulator that generated this event - - - Reference to the GridClient object - - - - Register an new event handler for a capabilities event sent via the EventQueue - - Use String.Empty to fire this event on every CAPS event - Capability event name to register the - handler for - Callback to fire - - - - Unregister a previously registered capabilities handler - - Capability event name unregister the - handler for - Callback to unregister - - - - Fire the events registered for this event type synchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - Fire the events registered for this event type asynchronously - - Capability name - Decoded event body - Reference to the simulator that - generated this event - - - - - - - The avatar has no rights - - - The avatar can see the online status of the target avatar - - - The avatar can see the location of the target avatar on the map - - - The avatar can modify the ojects of the target avatar - - - - This class holds information about an avatar in the friends list. There are two ways - to interface to this class. The first is through the set of boolean properties. This is the typical - way clients of this class will use it. The second interface is through two bitflag properties, - TheirFriendsRights and MyFriendsRights - - - - - Used internally when building the initial list of friends at login time - - System ID of the avatar being prepesented - Rights the friend has to see you online and to modify your objects - Rights you have to see your friend online and to modify their objects - - - - System ID of the avatar - - - - - full name of the avatar - - - - - True if the avatar is online - - - - - True if the friend can see if I am online - - - - - True if the friend can see me on the map - - - - - True if the freind can modify my objects - - - - - True if I can see if my friend is online - - - - - True if I can see if my friend is on the map - - - - - True if I can modify my friend's objects - - - - - My friend's rights represented as bitmapped flags - - - - - My rights represented as bitmapped flags - - - - - FriendInfo represented as a string - - A string reprentation of both my rights and my friends rights - - - - This class is used to add and remove avatars from your friends list and to manage their permission. - - - - - Internal constructor - - A reference to the GridClient Object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - - A dictionary of key/value pairs containing known friends of this avatar. - The Key is the of the friend, the value is a - object that contains detailed information including permissions you have and have given to the friend - - - - - A Dictionary of key/value pairs containing current pending frienship offers. - The key is the of the avatar making the request, - the value is the of the request which is used to accept - or decline the friendship offer - - - - Raised when the simulator sends notification one of the members in our friends list comes online - - - Raised when the simulator sends notification one of the members in our friends list goes offline - - - Raised when the simulator sends notification one of the members in our friends list grants or revokes permissions - - - Raised when the simulator sends us the names on our friends list - - - Raised when the simulator sends notification another agent is offering us friendship - - - Raised when a request we sent to friend another agent is accepted or declined - - - Raised when the simulator sends notification one of the members in our friends list has terminated - our friendship - - - Raised when the simulator sends the location of a friend we have - requested map location info for - - - Raises the FriendOnline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendOffline event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendRightsUpdate event - A FriendInfoEventArgs object containing the - data returned from the data server - - - Raises the FriendNames event - A FriendNamesEventArgs object containing the - data returned from the data server - - - Raises the FriendshipOffered event - A FriendshipOfferedEventArgs object containing the - data returned from the data server - - - Raises the FriendshipResponse event - A FriendshipResponseEventArgs object containing the - data returned from the data server - - - Raises the FriendshipTerminated event - A FriendshipTerminatedEventArgs object containing the - data returned from the data server - - - Raises the FriendFoundReply event - A FriendFoundReplyEventArgs object containing the - data returned from the data server - - - - Accept a friendship request - - agentID of avatatar to form friendship with - imSessionID of the friendship request message - - - - Decline a friendship request - - - of friend - imSessionID of the friendship request message - - - - Overload: Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - - - - Offer friendship to an avatar. - - System ID of the avatar you are offering friendship to - A message to send with the request - - - - Terminate a friendship with an avatar - - System ID of the avatar you are terminating the friendship with - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Change the rights of a friend avatar. - - the of the friend - the new rights to give the friend - This method will implicitly set the rights to those passed in the rights parameter. - - - - Use to map a friends location on the grid. - - Friends UUID to find - - - - - - - Use to track a friends movement on the grid - - Friends Key - - - - Ask for a notification of friend's online status - - Friend's UUID - - - - This handles the asynchronous response of a RequestAvatarNames call. - - - - names cooresponding to the the list of IDs sent the the RequestAvatarNames call. - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Populate FriendList with data from the login reply - - true if login was successful - true if login request is requiring a redirect - A string containing the response to the login request - A string containing the reason for the request - A object containing the decoded - reply from the login server - - - Contains information on a member of our friends list - - - - Construct a new instance of the FriendInfoEventArgs class - - The FriendInfo - - - Get the FriendInfo - - - Contains Friend Names - - - - Construct a new instance of the FriendNamesEventArgs class - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - A dictionary where the Key is the ID of the Agent, - and the Value is a string containing their name - - - Sent when another agent requests a friendship with our agent - - - - Construct a new instance of the FriendshipOfferedEventArgs class - - The ID of the agent requesting friendship - The name of the agent requesting friendship - The ID of the session, used in accepting or declining the - friendship offer - - - Get the ID of the agent requesting friendship - - - Get the name of the agent requesting friendship - - - Get the ID of the session, used in accepting or declining the - friendship offer - - - A response containing the results of our request to form a friendship with another agent - - - - Construct a new instance of the FriendShipResponseEventArgs class - - The ID of the agent we requested a friendship with - The name of the agent we requested a friendship with - true if the agent accepted our friendship offer - - - Get the ID of the agent we requested a friendship with - - - Get the name of the agent we requested a friendship with - - - true if the agent accepted our friendship offer - - - Contains data sent when a friend terminates a friendship with us - - - - Construct a new instance of the FrindshipTerminatedEventArgs class - - The ID of the friend who terminated the friendship with us - The name of the friend who terminated the friendship with us - - - Get the ID of the agent that terminated the friendship with us - - - Get the name of the agent that terminated the friendship with us - - - - Data sent in response to a request which contains the information to allow us to map the friends location - - - - - Construct a new instance of the FriendFoundReplyEventArgs class - - The ID of the agent we have requested location information for - The region handle where our friend is located - The simulator local position our friend is located - - - Get the ID of the agent we have received location information for - - - Get the region handle where our mapped friend is located - - - Get the simulator local position where our friend is located - - - - Main class to expose grid functionality to clients. All of the - classes needed for sending and receiving data are accessible through - this class. - - - - // Example minimum code required to instantiate class and - // connect to a simulator. - using System; - using System.Collections.Generic; - using System.Text; - using OpenMetaverse; - namespace FirstBot - { - class Bot - { - public static GridClient Client; - static void Main(string[] args) - { - Client = new GridClient(); // instantiates the GridClient class - // to the global Client object - // Login to Simulator - Client.Network.Login("FirstName", "LastName", "Password", "FirstBot", "1.0"); - // Wait for a Keypress - Console.ReadLine(); - // Logout of simulator - Client.Network.Logout(); - } - } - } - - - - - - Default constructor - - - - Networking subsystem - - - Settings class including constant values and changeable - parameters for everything - - - Parcel (subdivided simulator lots) subsystem - - - Our own avatars subsystem - - - Other avatars subsystem - - - Estate subsystem - - - Friends list subsystem - - - Grid (aka simulator group) subsystem - - - Object subsystem - - - Group subsystem - - - Asset subsystem - - - Appearance subsystem - - - Inventory subsystem - - - Directory searches including classifieds, people, land - sales, etc - - - Handles land, wind, and cloud heightmaps - - - Handles sound-related networking - - - Throttling total bandwidth usage, or allocating bandwidth - for specific data stream types - - - - Return the full name of this instance - - Client avatars full name - - - - Map layer request type - - - - Objects and terrain are shown - - - Only the terrain is shown, no objects - - - Overlay showing land for sale and for auction - - - - Type of grid item, such as telehub, event, populator location, etc. - - - - Telehub - - - PG rated event - - - Mature rated event - - - Popular location - - - Locations of avatar groups in a region - - - Land for sale - - - Classified ad - - - Adult rated event - - - Adult land for sale - - - - Information about a region on the grid map - - - - Sim X position on World Map - - - Sim Y position on World Map - - - Sim Name (NOTE: In lowercase!) - - - - - - - Appears to always be zero (None) - - - Sim's defined Water Height - - - - - - - UUID of the World Map image - - - Unique identifier for this region, a combination of the X - and Y position - - - - - - - - - - - - - - - - - - - - - - - - Visual chunk of the grid map - - - - - Base class for Map Items - - - - The Global X position of the item - - - The Global Y position of the item - - - Get the Local X position of the item - - - Get the Local Y position of the item - - - Get the Handle of the region - - - - Represents an agent or group of agents location - - - - - Represents a Telehub location - - - - - Represents a non-adult parcel of land for sale - - - - - Represents an Adult parcel of land for sale - - - - - Represents a PG Event - - - - - Represents a Mature event - - - - - Represents an Adult event - - - - - Manages grid-wide tasks such as the world map - - - - - Constructor - - Instance of GridClient object to associate with this GridManager instance - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - A dictionary of all the regions, indexed by region name - - - A dictionary of all the regions, indexed by region handle - - - Raised when the simulator sends a - containing the location of agents in the simulator - - - Raised when the simulator sends a Region Data in response to - a Map request - - - Raised when the simulator sends GridLayer object containing - a map tile coordinates and texture information - - - Raised when the simulator sends GridItems object containing - details on events, land sales at a specific location - - - Raised in response to a Region lookup - - - Unknown - - - Current direction of the sun - - - Current angular velocity of the sun - - - Current world time - - - Raises the CoarseLocationUpdate event - A CoarseLocationUpdateEventArgs object containing the - data sent by simulator - - - Raises the GridRegion event - A GridRegionEventArgs object containing the - data sent by simulator - - - Raises the GridLayer event - A GridLayerEventArgs object containing the - data sent by simulator - - - Raises the GridItems event - A GridItemEventArgs object containing the - data sent by simulator - - - Raises the RegionHandleReply event - A RegionHandleReplyEventArgs object containing the - data sent by simulator - - - - - - - - - - Request a map layer - - The name of the region - The type of layer - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request data for all mainland (Linden managed) simulators - - - - - Request the region handle for the specified region UUID - - UUID of the region to look up - - - - Get grid region information using the region name, this function - will block until it can find the region or gives up - - Name of sim you're looking for - Layer that you are requesting - Will contain a GridRegion for the sim you're - looking for if successful, otherwise an empty structure - True if the GridRegion was successfully fetched, otherwise - false - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Avatar group management - - - - Key of Group Member - - - Total land contribution - - - Online status information - - - Abilities that the Group Member has - - - Current group title - - - Is a group owner - - - - Role manager for a group - - - - Key of the group - - - Key of Role - - - Name of Role - - - Group Title associated with Role - - - Description of Role - - - Abilities Associated with Role - - - Returns the role's title - The role's title - - - - Class to represent Group Title - - - - Key of the group - - - ID of the role title belongs to - - - Group Title - - - Whether title is Active - - - Returns group title - - - - Represents a group on the grid - - - - Key of Group - - - Key of Group Insignia - - - Key of Group Founder - - - Key of Group Role for Owners - - - Name of Group - - - Text of Group Charter - - - Title of "everyone" role - - - Is the group open for enrolement to everyone - - - Will group show up in search - - - - - - - - - - - - - - - Is the group Mature - - - Cost of group membership - - - - - - - - - - - The total number of current members this group has - - - The number of roles this group has configured - - - Show this group in agent's profile - - - Returns the name of the group - A string containing the name of the group - - - - A group Vote - - - - Key of Avatar who created Vote - - - Text of the Vote proposal - - - Total number of votes - - - - A group proposal - - - - The Text of the proposal - - - The minimum number of members that must vote before proposal passes or failes - - - The required ration of yes/no votes required for vote to pass - The three options are Simple Majority, 2/3 Majority, and Unanimous - TODO: this should be an enum - - The duration in days votes are accepted - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice - - - - - - - - - - - - - - - - - - - - - - - - - - - Struct representing a group notice list entry - - - - Notice ID - - - Creation timestamp of notice - - - Agent name who created notice - - - Notice subject - - - Is there an attachment? - - - Attachment Type - - - - Struct representing a member of a group chat session and their settings - - - - The of the Avatar - - - True if user has voice chat enabled - - - True of Avatar has moderator abilities - - - True if a moderator has muted this avatars chat - - - True if a moderator has muted this avatars voice - - - - Role update flags - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Can send invitations to groups default role - - - Can eject members from group - - - Can toggle 'Open Enrollment' and change 'Signup fee' - - - Member is visible in the public member list - - - Can create new roles - - - Can delete existing roles - - - Can change Role names, titles and descriptions - - - Can assign other members to assigners role - - - Can assign other members to any role - - - Can remove members from roles - - - Can assign and remove abilities in roles - - - Can change group Charter, Insignia, 'Publish on the web' and which - members are publicly visible in group member listings - - - Can buy land or deed land to group - - - Can abandon group owned land to Governor Linden on mainland, or Estate owner for - private estates - - - Can set land for-sale information on group owned parcels - - - Can subdivide and join parcels - - - Can join group chat sessions - - - Can use voice chat in Group Chat sessions - - - Can moderate group chat sessions - - - Can toggle "Show in Find Places" and set search category - - - Can change parcel name, description, and 'Publish on web' settings - - - Can set the landing point and teleport routing on group land - - - Can change music and media settings - - - Can toggle 'Edit Terrain' option in Land settings - - - Can toggle various About Land > Options settings - - - Can always terraform land, even if parcel settings have it turned off - - - Can always fly while over group owned land - - - Can always rez objects on group owned land - - - Can always create landmarks for group owned parcels - - - Can set home location on any group owned parcel - - - Can modify public access settings for group owned parcels - - - Can manager parcel ban lists on group owned land - - - Can manage pass list sales information - - - Can eject and freeze other avatars on group owned land - - - Can return objects set to group - - - Can return non-group owned/set objects - - - Can return group owned objects - - - Can landscape using Linden plants - - - Can deed objects to group - - - Can move group owned objects - - - Can set group owned objects for-sale - - - Pay group liabilities and receive group dividends - - - Can send group notices - - - Can receive group notices - - - Can create group proposals - - - Can vote on group proposals - - - - Handles all network traffic related to reading and writing group - information - - - - - Construct a new instance of the GroupManager class - - A reference to the current instance - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - A reference to the current instance - - - Currently-active group members requests - - - Currently-active group roles requests - - - Currently-active group role-member requests - - - Dictionary keeping group members while request is in progress - - - Dictionary keeping mebmer/role mapping while request is in progress - - - Dictionary keeping GroupRole information while request is in progress - - - Caches group name lookups - - - Raised when the simulator sends us data containing - our current group membership - - - Raised when the simulator responds to a RequestGroupName - or RequestGroupNames request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when a response to a RequestGroupAccountSummary is returned - by the simulator - - - Raised when a request to create a group is successful - - - Raised when a request to join a group either - fails or succeeds - - - Raised when a request to leave a group either - fails or succeeds - - - Raised when A group is removed from the group server - - - Raised when a request to eject a member from a group either - fails or succeeds - - - Raised when the simulator sends us group notices - - - - Raised when another agent invites our avatar to join a group - - - Raises the CurrentGroups event - A CurrentGroupsEventArgs object containing the - data sent from the simulator - - - Raises the GroupNamesReply event - A GroupNamesEventArgs object containing the - data response from the simulator - - - Raises the GroupProfile event - An GroupProfileEventArgs object containing the - data returned from the simulator - - - Raises the GroupMembers event - A GroupMembersEventArgs object containing the - data returned from the simulator - - - Raises the GroupRolesDataReply event - A GroupRolesDataReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupRoleMembersReply event - A GroupRolesRoleMembersReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupTitlesReply event - A GroupTitlesReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupAccountSummary event - A GroupAccountSummaryReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupCreated event - An GroupCreatedEventArgs object containing the - data returned from the simulator - - - Raises the GroupJoined event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Raises the GroupLeft event - A GroupOperationEventArgs object containing the - result of the operation returned from the simulator - - - Raises the GroupDropped event - An GroupDroppedEventArgs object containing the - the group your agent left - - - Raises the GroupMemberEjected event - An GroupMemberEjectedEventArgs object containing the - data returned from the simulator - - - Raises the GroupNoticesListReply event - An GroupNoticesListReplyEventArgs object containing the - data returned from the simulator - - - Raises the GroupInvitation event - An GroupInvitationEventArgs object containing the - data returned from the simulator - - - - Request a current list of groups the avatar is a member of. - - CAPS Event Queue must be running for this to work since the results - come across CAPS. - - - - Lookup name of group based on groupID - - groupID of group to lookup name for. - - - - Request lookup of multiple group names - - List of group IDs to request. - - - Lookup group profile data such as name, enrollment, founder, logo, etc - Subscribe to OnGroupProfile event to receive the results. - group ID (UUID) - - - Request a list of group members. - Subscribe to OnGroupMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request group roles - Subscribe to OnGroupRoles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request members (members,role) role mapping for a group. - Subscribe to OnGroupRolesMembers event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Request a groups Titles - Subscribe to OnGroupTitles event to receive the results. - group ID (UUID) - UUID of the request, use to index into cache - - - Begin to get the group account summary - Subscribe to the OnGroupAccountSummary event to receive the results. - group ID (UUID) - How long of an interval - Which interval (0 for current, 1 for last) - - - Invites a user to a group - The group to invite to - A list of roles to invite a person to - Key of person to invite - - - Set a group as the current active group - group ID (UUID) - - - Change the role that determines your active title - Group ID to use - Role ID to change to - - - Set this avatar's tier contribution - Group ID to change tier in - amount of tier to donate - - - - Save wheather agent wants to accept group notices and list this group in their profile - - Group - Accept notices from this group - List this group in the profile - - - Request to join a group - Subscribe to OnGroupJoined event for confirmation. - group ID (UUID) to join. - - - - Request to create a new group. If the group is successfully - created, L$100 will automatically be deducted - - Subscribe to OnGroupCreated event to receive confirmation. - Group struct containing the new group info - - - Update a group's profile and other information - Groups ID (UUID) to update. - Group struct to update. - - - Eject a user from a group - Group ID to eject the user from - Avatar's key to eject - - - Update role information - Modified role to be updated - - - Create a new group role - Group ID to update - Role to create - - - Delete a group role - Group ID to update - Role to delete - - - Remove an avatar from a role - Group ID to update - Role ID to be removed from - Avatar's Key to remove - - - Assign an avatar to a role - Group ID to update - Role ID to assign to - Avatar's ID to assign to role - - - Request the group notices list - Group ID to fetch notices for - - - Request a group notice by key - ID of group notice - - - Send out a group notice - Group ID to update - - GroupNotice structure containing notice data - - - Start a group proposal (vote) - The Group ID to send proposal to - - GroupProposal structure containing the proposal - - - Request to leave a group - Subscribe to OnGroupLeft event to receive confirmation - The group to leave - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Contains the current groups your agent is a member of - - - Construct a new instance of the CurrentGroupsEventArgs class - The current groups your agent is a member of - - - Get the current groups your agent is a member of - - - A Dictionary of group names, where the Key is the groups ID and the value is the groups name - - - Construct a new instance of the GroupNamesEventArgs class - The Group names dictionary - - - Get the Group Names dictionary - - - Represents the members of a group - - - - Construct a new instance of the GroupMembersReplyEventArgs class - - The ID of the request - The ID of the group - The membership list of the group - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary of members - - - Represents the roles associated with a group - - - Construct a new instance of the GroupRolesDataReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The dictionary containing the roles - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the dictionary containing the roles - - - Represents the Role to Member mappings for a group - - - Construct a new instance of the GroupRolesMembersReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The member to roles map - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the member to roles map - - - Represents the titles for a group - - - Construct a new instance of the GroupTitlesReplyEventArgs class - The ID as returned by the request to correlate - this result set and the request - The ID of the group - The titles - - - Get the ID as returned by the request to correlate - this result set and the request - - - Get the ID of the group - - - Get the titles - - - Represents the summary data for a group - - - Construct a new instance of the GroupAccountSummaryReplyEventArgs class - The ID of the group - The summary data - - - Get the ID of the group - - - Get the summary data - - - A response to a group create request - - - Construct a new instance of the GroupCreatedReplyEventArgs class - The ID of the group - the success or faulure of the request - A string containing additional information - - - Get the ID of the group - - - true of the group was created successfully - - - A string containing the message - - - Represents a response to a request - - - Construct a new instance of the GroupOperationEventArgs class - The ID of the group - true of the request was successful - - - Get the ID of the group - - - true of the request was successful - - - Represents your agent leaving a group - - - Construct a new instance of the GroupDroppedEventArgs class - The ID of the group - - - Get the ID of the group - - - Represents a list of active group notices - - - Construct a new instance of the GroupNoticesListReplyEventArgs class - The ID of the group - The list containing active notices - - - Get the ID of the group - - - Get the notices list - - - Represents the profile of a group - - - Construct a new instance of the GroupProfileEventArgs class - The group profile - - - Get the group profile - - - - Provides notification of a group invitation request sent by another Avatar - - The invitation is raised when another avatar makes an offer for our avatar - to join a group. - - - The ID of the Avatar sending the group invitation - - - The name of the Avatar sending the group invitation - - - A message containing the request information which includes - the name of the group, the groups charter and the fee to join details - - - The Simulator - - - Set to true to accept invitation, false to decline - - - - Static helper functions and global variables - - - - - Passed to Logger.Log() to identify the severity of a log entry - - - - No logging information will be output - - - Non-noisy useful information, may be helpful in - debugging a problem - - - A non-critical error occurred. A warning will not - prevent the rest of the library from operating as usual, - although it may be indicative of an underlying issue - - - A critical error has occurred. Generally this will - be followed by the network layer shutting down, although the - stability of the library after an error is uncertain - - - Used for internal testing, this logging level can - generate very noisy (long and/or repetitive) messages. Don't - pass this to the Log() function, use DebugLog() instead. - - - - This header flag signals that ACKs are appended to the packet - - - This header flag signals that this packet has been sent before - - - This header flags signals that an ACK is expected for this packet - - - This header flag signals that the message is compressed using zerocoding - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Given an X/Y location in absolute (grid-relative) terms, a region - handle is returned along with the local X/Y location in that region - - The absolute X location, a number such as - 255360.35 - The absolute Y location, a number such as - 255360.35 - The sim-local X position of the global X - position, a value from 0.0 to 256.0 - The sim-local Y position of the global Y - position, a value from 0.0 to 256.0 - A 64-bit region handle that can be used to teleport to - - - - Converts a floating point number to a terse string format used for - transmitting numbers in wearable asset files - - Floating point number to convert to a string - A terse string representation of the input number - - - - Convert a variable length field (byte array) to a string, with a - field name prepended to each line of the output - - If the byte array has unprintable characters in it, a - hex dump will be written instead - The StringBuilder object to write to - The byte array to convert to a string - A field name to prepend to each line of output - - - - Decode a zerocoded byte array, used to decompress packets marked - with the zerocoded flag - - Any time a zero is encountered, the next byte is a count - of how many zeroes to expand. One zero is encoded with 0x00 0x01, - two zeroes is 0x00 0x02, three zeroes is 0x00 0x03, etc. The - first four bytes are copied directly to the output buffer. - - The byte array to decode - The length of the byte array to decode. This - would be the length of the packet up to (but not including) any - appended ACKs - The output byte array to decode to - The length of the output buffer - - - - Encode a byte array with zerocoding. Used to compress packets marked - with the zerocoded flag. Any zeroes in the array are compressed down - to a single zero byte followed by a count of how many zeroes to expand - out. A single zero becomes 0x00 0x01, two zeroes becomes 0x00 0x02, - three zeroes becomes 0x00 0x03, etc. The first four bytes are copied - directly to the output buffer. - - The byte array to encode - The length of the byte array to encode - The output byte array to encode to - The length of the output buffer - - - - Calculates the CRC (cyclic redundancy check) needed to upload inventory. - - Creation date - Sale type - Inventory type - Type - Asset ID - Group ID - Sale price - Owner ID - Creator ID - Item ID - Folder ID - Everyone mask (permissions) - Flags - Next owner mask (permissions) - Group mask (permissions) - Owner mask (permissions) - The calculated CRC - - - - Attempts to load a file embedded in the assembly - - The filename of the resource to load - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Attempts to load a file either embedded in the assembly or found in - a given search path - - The filename of the resource to load - An optional path that will be searched if - the asset is not found embedded in the assembly - A Stream for the requested file, or null if the resource - was not successfully loaded - - - - Converts a list of primitives to an object that can be serialized - with the LLSD system - - Primitives to convert to a serializable object - An object that can be serialized with LLSD - - - - Deserializes OSD in to a list of primitives - - Structure holding the serialized primitive list, - must be of the SDMap type - A list of deserialized primitives - - - - Converts a struct or class object containing fields only into a key value separated string - - The struct object - A string containing the struct fields as the keys, and the field value as the value separated - - - // Add the following code to any struct or class containing only fields to override the ToString() - // method to display the values of the passed object - /// Print the struct data as a string - ///A string containing the field name, and field value - public override string ToString() - { - return Helpers.StructToString(this); - } - - - - - - The InternalDictionary class is used through the library for storing key/value pairs. - It is intended to be a replacement for the generic Dictionary class and should - be used in its place. It contains several methods for allowing access to the data from - outside the library that are read only and thread safe. - - Key - Value - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, has its initial valies copied from the specified - - - - to copy initial values from - - - // initialize a new InternalDictionary named testAvName with a UUID as the key and an string as the value. - // populates with copied values from example KeyNameCache Dictionary. - // create source dictionary - Dictionary<UUID, string> KeyNameCache = new Dictionary<UUID, string>(); - KeyNameCache.Add("8300f94a-7970-7810-cf2c-fc9aa6cdda24", "Jack Avatar"); - KeyNameCache.Add("27ba1e40-13f7-0708-3e98-5819d780bd62", "Jill Avatar"); - // Initialize new dictionary. - public InternalDictionary<UUID, string> testAvName = new InternalDictionary<UUID, string>(KeyNameCache); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new InternalDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public InternalDictionary<string, int> testDict = new InternalDictionary<string, int>(10); - - - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - on this member - - - - Indexer for the dictionary - - The key - The value - - - - Gets the number of Key/Value pairs contained in the - - - - Try to get entry from with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars InternalDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives InternalDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - Perform an on each entry in an - - to perform - - - // Iterates over the ObjectsPrimitives InternalDictionary and prints out some information. - Client.Network.CurrentSim.ObjectsPrimitives.ForEach( - delegate(Primitive prim) - { - if (prim.Text != null) - { - Console.WriteLine("NAME={0} ID = {1} TEXT = '{2}'", - prim.PropertiesFamily.Name, prim.ID, prim.Text); - } - }); - - - - - Perform an on each key of an - - to perform - - - - Perform an on each KeyValuePair of an - - to perform - - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise - - - - Exception class to identify inventory exceptions - - - - - Responsible for maintaining inventory structure. Inventory constructs nodes - and manages node children as is necessary to maintain a coherant hirarchy. - Other classes should not manipulate or create InventoryNodes explicitly. When - A node's parent changes (when a folder is moved, for example) simply pass - Inventory the updated InventoryFolder and it will make the appropriate changes - to its internal representation. - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - - By using the bracket operator on this class, the program can get the - InventoryObject designated by the specified uuid. If the value for the corresponding - UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). - If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), - the uuid parameter is ignored. - - The UUID of the InventoryObject to get or set, ignored if set to non-null value. - The InventoryObject corresponding to uuid. - - - - The root folder of this avatars inventory - - - - - The default shared library folder - - - - - The root node of the avatars inventory - - - - - The root node of the default shared library - - - - Raises the InventoryObjectUpdated Event - A InventoryObjectUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectRemoved Event - A InventoryObjectRemovedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectAdded Event - A InventoryObjectAddedEventArgs object containing - the data sent from the simulator - - - - Returns the contents of the specified folder - - A folder's UUID - The contents of the folder corresponding to folder - When folder does not exist in the inventory - - - - Updates the state of the InventoryNode and inventory data structure that - is responsible for the InventoryObject. If the item was previously not added to inventory, - it adds the item, and updates structure accordingly. If it was, it updates the - InventoryNode, changing the parent node if item.parentUUID does - not match node.Parent.Data.UUID. - You can not set the inventory root folder using this method - - The InventoryObject to store - - - - Removes the InventoryObject and all related node data from Inventory. - - The InventoryObject to remove. - - - - Used to find out if Inventory contains the InventoryObject - specified by uuid. - - The UUID to check. - true if inventory contains uuid, false otherwise - - - - Saves the current inventory structure to a cache file - - Name of the cache file to save to - - - - Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. - - Name of the cache file to load - The number of inventory items sucessfully reconstructed into the inventory node tree - - - Sort by name - - - Sort by date - - - Sort folders by name, regardless of whether items are - sorted by name or date - - - Place system folders at the top - - - - Possible destinations for DeRezObject request - - - - - - - - Copy from in-world to agent inventory - - - Derez to TaskInventory - - - - - - - Take Object - - - - - - - Delete Object - - - Put an avatar attachment into agent inventory - - - - - - - Return an object back to the owner's inventory - - - Return a deeded object back to the last owner's inventory - - - - Upper half of the Flags field for inventory items - - - - Indicates that the NextOwner permission will be set to the - most restrictive set of permissions found in the object set - (including linkset items and object inventory items) on next rez - - - Indicates that the object sale information has been - changed - - - If set, and a slam bit is set, indicates BaseMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates OwnerMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates GroupMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates EveryoneMask will be overwritten on Rez - - - If set, and a slam bit is set, indicates NextOwnerMask will be overwritten on Rez - - - Indicates whether this object is composed of multiple - items or not - - - Indicates that the asset is only referenced by this - inventory item. If this item is deleted or updated to reference a - new assetID, the asset can be deleted - - - - Base Class for Inventory Items - - - - - Constructor, takes an itemID as a parameter - - The of the item - - - - - - - - - - of item/folder - - - - of parent folder - - - Name of item/folder - - - Item/Folder Owners - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table, - suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryBase fields - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - InventoryBase object to compare against - true if objects are the same - - - - An Item in Inventory - - - - - Construct a new InventoryItem object - - The of the item - - - - Construct a new InventoryItem object of a specific Type - - The type of item from - - of the item - - - - - - - - - The of this item - - - The combined of this item - - - The type of item from - - - The type of item from the enum - - - The of the creator of this item - - - A Description of this item - - - The s this item is set to or owned by - - - If true, item is owned by a group - - - The price this item can be purchased for - - - The type of sale from the enum - - - Combined flags from - - - Time and date this inventory item was created, stored as - UTC (Coordinated Universal Time) - - - Used to update the AssetID in requests sent to the server - - - The of the previous owner of the item - - - - Indicates inventory item is a link - - True if inventory item is a link to another inventory item - - - - - - - - - - Generates a number corresponding to the value of the object to support the use of a hash table. - Suitable for use in hashing algorithms and data structures such as a hash table - - A Hashcode of all the combined InventoryItem fields - - - - Compares an object - - The object to compare - true if comparison object matches - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - Determine whether the specified object is equal to the current object - - The object to compare against - true if objects are the same - - - - InventoryTexture Class representing a graphical image - - - - - - Construct an InventoryTexture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryTexture object from a serialization stream - - - - - InventorySound Class representing a playable sound - - - - - Construct an InventorySound object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySound object from a serialization stream - - - - - InventoryCallingCard Class, contains information on another avatar - - - - - Construct an InventoryCallingCard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCallingCard object from a serialization stream - - - - - InventoryLandmark Class, contains details on a specific location - - - - - Construct an InventoryLandmark object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLandmark object from a serialization stream - - - - - Landmarks use the InventoryItemFlags struct and will have a flag of 1 set if they have been visited - - - - - InventoryObject Class contains details on a primitive or coalesced set of primitives - - - - - Construct an InventoryObject object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryObject object from a serialization stream - - - - - Gets or sets the upper byte of the Flags value - - - - - Gets or sets the object attachment point, the lower byte of the Flags value - - - - - InventoryNotecard Class, contains details on an encoded text document - - - - - Construct an InventoryNotecard object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryNotecard object from a serialization stream - - - - - InventoryCategory Class - - TODO: Is this even used for anything? - - - - Construct an InventoryCategory object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryCategory object from a serialization stream - - - - - InventoryLSL Class, represents a Linden Scripting Language object - - - - - Construct an InventoryLSL object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryLSL object from a serialization stream - - - - - InventorySnapshot Class, an image taken with the viewer - - - - - Construct an InventorySnapshot object - - A which becomes the - objects AssetUUID - - - - Construct an InventorySnapshot object from a serialization stream - - - - - InventoryAttachment Class, contains details on an attachable object - - - - - Construct an InventoryAttachment object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAttachment object from a serialization stream - - - - - Get the last AttachmentPoint this object was attached to - - - - - InventoryWearable Class, details on a clothing item or body part - - - - - Construct an InventoryWearable object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryWearable object from a serialization stream - - - - - The , Skin, Shape, Skirt, Etc - - - - - InventoryAnimation Class, A bvh encoded object which animates an avatar - - - - - Construct an InventoryAnimation object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryAnimation object from a serialization stream - - - - - InventoryGesture Class, details on a series of animations, sounds, and actions - - - - - Construct an InventoryGesture object - - A which becomes the - objects AssetUUID - - - - Construct an InventoryGesture object from a serialization stream - - - - - A folder contains s and has certain attributes specific - to itself - - - - - Constructor - - UUID of the folder - - - - Construct an InventoryFolder object from a serialization stream - - - - The Preferred for a folder. - - - The Version of this folder - - - Number of child items this folder contains. - - - - - - - - - - Get Serilization data for this InventoryFolder object - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Tools for dealing with agents inventory - - - - - Default constructor - - Reference to the GridClient object - - - - Callback for inventory item creation finishing - - Whether the request to create an inventory - item succeeded or not - Inventory item being created. If success is - false this will be null - - - - Callback for an inventory item being create from an uploaded asset - - true if inventory item creation was successful - - - - - - - - - - - - - - - - Reply received when uploading an inventory asset - - Has upload been successful - Error message if upload failed - Inventory asset UUID - New asset UUID - - - - Delegate that is invoked when script upload is completed - - Has upload succeded (note, there still might be compile errors) - Upload status message - Is compilation successful - If compilation failed, list of error messages, null on compilation success - Script inventory UUID - Script's new asset UUID - - - Used for converting shadow_id to asset_id - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Partial mapping of AssetTypes to folder names - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - an inventory object sent by another avatar or primitive - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - - Get this agents Inventory data - - - - Raises the ItemReceived Event - A ItemReceivedEventArgs object containing - the data sent from the simulator - - - Raises the FolderUpdated Event - A FolderUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the InventoryObjectOffered Event - A InventoryObjectOfferedEventArgs object containing - the data sent from the simulator - - - Raises the TaskItemReceived Event - A TaskItemReceivedEventArgs object containing - the data sent from the simulator - - - Raises the FindObjectByPath Event - A FindObjectByPathEventArgs object containing - the data sent from the simulator - - - Raises the TaskInventoryReply Event - A TaskInventoryReplyEventArgs object containing - the data sent from the simulator - - - Raises the SaveAssetToInventory Event - A SaveAssetToInventoryEventArgs object containing - the data sent from the simulator - - - Raises the ScriptRunningReply Event - A ScriptRunningReplyEventArgs object containing - the data sent from the simulator - - - - Fetch an inventory item from the dataserver - - The items - The item Owners - a integer representing the number of milliseconds to wait for results - An object on success, or null if no item was found - Items will also be sent to the event - - - - Request A single inventory item - - The items - The item Owners - - - - - Request inventory items - - Inventory items to request - Owners of the inventory items - - - - - Get contents of a folder - - The of the folder to search - The of the folders owner - true to retrieve folders - true to retrieve items - sort order to return results in - a integer representing the number of milliseconds to wait for results - A list of inventory items matching search criteria within folder - - InventoryFolder.DescendentCount will only be accurate if both folders and items are - requested - - - - Request the contents of an inventory folder - - The folder to search - The folder owners - true to return s contained in folder - true to return s containd in folder - the sort order to return items in - - - - - Returns the UUID of the folder (category) that defaults to - containing 'type'. The folder is not necessarily only for that - type - - This will return the root folder if one does not exist - - - The UUID of the desired folder if found, the UUID of the RootFolder - if not found, or UUID.Zero on failure - - - - Find an object in inventory using a specific path to search - - The folder to begin the search in - The object owners - A string path to search - milliseconds to wait for a reply - Found items or if - timeout occurs or item is not found - - - - Find inventory items by path - - The folder to begin the search in - The object owners - A string path to search, folders/objects separated by a '/' - Results are sent to the event - - - - Search inventory Store object for an item or folder - - The folder to begin the search in - An array which creates a path to search - Number of levels below baseFolder to conduct searches - if True, will stop searching after first match is found - A list of inventory items found - - - - Move an inventory item or folder to a new location - - The item or folder to move - The to move item or folder to - - - - Move an inventory item or folder to a new location and change its name - - The item or folder to move - The to move item or folder to - The name to change the item or folder to - - - - Move and rename a folder - - The source folders - The destination folders - The name to change the folder to - - - - Update folder properties - - - of the folder to update - Sets folder's parent to - Folder name - Folder type - - - - Move a folder - - The source folders - The destination folders - - - - Move multiple folders, the keys in the Dictionary parameter, - to a new parents, the value of that folder's key. - - A Dictionary containing the - of the source as the key, and the - of the destination as the value - - - - Move an inventory item to a new folder - - The of the source item to move - The of the destination folder - - - - Move and rename an inventory item - - The of the source item to move - The of the destination folder - The name to change the folder to - - - - Move multiple inventory items to new locations - - A Dictionary containing the - of the source item as the key, and the - of the destination folder as the value - - - - Remove descendants of a folder - - The of the folder - - - - Remove a single item from inventory - - The of the inventory item to remove - - - - Remove a folder from inventory - - The of the folder to remove - - - - Remove multiple items or folders from inventory - - A List containing the s of items to remove - A List containing the s of the folders to remove - - - - Empty the Lost and Found folder - - - - - Empty the Trash folder - - - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - - - - - - - - Proper use is to upload the inventory's asset first, then provide the Asset's TransactionID here. - - - - - - - - - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - The UUID of the newly created folder - - - - Creates a new inventory folder - - ID of the folder to put this folder in - Name of the folder to create - Sets this folder as the default folder - for new assets of the specified type. Use AssetType.Unknown - to create a normal folder, otherwise it will likely create a - duplicate of an existing folder type - The UUID of the newly created folder - If you specify a preferred type of AsseType.Folder - it will create a new root folder which may likely cause all sorts - of strange problems - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Delegate that will receive feedback on success or failure - - - - Create an inventory item and upload asset data - - Asset data - Inventory item name - Inventory item description - Asset type - Inventory type - Put newly created inventory in this folder - Permission of the newly created item - (EveryoneMask, GroupMask, and NextOwnerMask of Permissions struct are supported) - Delegate that will receive feedback on success or failure - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Inventory item or folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item - - Put newly created link in folder with this UUID - Original inventory item - Method to call upon creation of the link - - - - Creates inventory link to another inventory folder - - Put newly created link in folder with this UUID - Original inventory folder - Method to call upon creation of the link - - - - Creates inventory link to another inventory item or folder - - Put newly created link in folder with this UUID - Original item's UUID - Name - Description - Asset Type - Inventory Type - Transaction UUID - Method to call upon creation of the link - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Request a copy of an asset embedded within a notecard - - Usually UUID.Zero for copying an asset from a notecard - UUID of the notecard to request an asset from - Target folder for asset to go to in your inventory - UUID of the embedded asset - callback to run when item is copied to inventory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Save changes to notecard embedded in object contents - - Encoded notecard asset data - Notecard UUID - Object's UUID - Called upon finish of the upload with status information - - - - Upload new gesture asset for an inventory gesture item - - Encoded gesture asset - Gesture inventory UUID - Callback whick will be called when upload is complete - - - - Update an existing script in an agents Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - if true, sets the script content to run on the mono interpreter - - - - - - Update an existing script in an task Inventory - - A byte[] array containing the encoded scripts contents - the itemID of the script - UUID of the prim containting the script - if true, sets the script content to run on the mono interpreter - if true, sets the script to running - - - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - - - - Rez an object from inventory - - Simulator to place object in - Rotation of the object when rezzed - Vector of where to place object - InventoryItem object containing item details - UUID of group to own the object - User defined queryID to correlate replies - If set to true, the CreateSelected flag - will be set on the rezzed object - - - - DeRez an object from the simulator to the agents Objects folder in the agents Inventory - - The simulator Local ID of the object - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - DeRez an object from the simulator and return to inventory - - The simulator Local ID of the object - The type of destination from the enum - The destination inventory folders -or- - if DeRezzing object to a tasks Inventory, the Tasks - The transaction ID for this request which - can be used to correlate this request with other packets - If objectLocalID is a child primitive in a linkset, the entire linkset will be derezzed - - - - Rez an item from inventory to its previous simulator location - - - - - - - - - - - - - Give an inventory item to another avatar - - The of the item to give - The name of the item - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Give an inventory Folder with contents to another avatar - - The of the Folder to give - The name of the folder - The type of the item from the enum - The of the recipient - true to generate a beameffect during transfer - - - - Copy or move an from agent inventory to a task (primitive) inventory - - The target object - The item to copy or move from inventory - - - For items with copy permissions a copy of the item is placed in the tasks inventory, - for no-copy items the object is moved to the tasks inventory - - - - Retrieve a listing of the items contained in a task (Primitive) - - The tasks - The tasks simulator local ID - milliseconds to wait for reply from simulator - A list containing the inventory items inside the task or null - if a timeout occurs - This request blocks until the response from the simulator arrives - or timeoutMS is exceeded - - - - Request the contents of a tasks (primitives) inventory from the - current simulator - - The LocalID of the object - - - - - Request the contents of a tasks (primitives) inventory - - The simulator Local ID of the object - A reference to the simulator object that contains the object - - - - - Move an item from a tasks (Primitive) inventory to the specified folder in the avatars inventory - - LocalID of the object in the simulator - UUID of the task item to move - The ID of the destination folder in this agents inventory - Simulator Object - Raises the event - - - - Remove an item from an objects (Prim) Inventory - - LocalID of the object in the simulator - UUID of the task item to remove - Simulator Object - You can confirm the removal by comparing the tasks inventory serial before and after the - request with the request combined with - the event - - - - Copy an InventoryScript item from the Agents Inventory into a primitives task inventory - - An unsigned integer representing a primitive being simulated - An which represents a script object from the agents inventory - true to set the scripts running state to enabled - A Unique Transaction ID - - The following example shows the basic steps necessary to copy a script from the agents inventory into a tasks inventory - and assumes the script exists in the agents inventory. - - uint primID = 95899503; // Fake prim ID - UUID scriptID = UUID.Parse("92a7fe8a-e949-dd39-a8d8-1681d8673232"); // Fake Script UUID in Inventory - Client.Inventory.FolderContents(Client.Inventory.FindFolderForType(AssetType.LSLText), Client.Self.AgentID, - false, true, InventorySortOrder.ByName, 10000); - Client.Inventory.RezScript(primID, (InventoryItem)Client.Inventory.Store[scriptID]); - - - - - Request the running status of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - The event can be used to obtain the results of the - request - - - - - Send a request to set the running state of a script contained in a task (primitive) inventory - - The ID of the primitive containing the script - The ID of the script - true to set the script running, false to stop a running script - To verify the change you can use the method combined - with the event - - - - Create a CRC from an InventoryItem - - The source InventoryItem - A uint representing the source InventoryItem as a CRC - - - - Reverses a cheesy XORing with a fixed UUID to convert a shadow_id to an asset_id - - Obfuscated shadow_id value - Deobfuscated asset_id value - - - - Does a cheesy XORing with a fixed UUID to convert an asset_id to a shadow_id - - asset_id value to obfuscate - Obfuscated shadow_id value - - - - Wrapper for creating a new object - - The type of item from the enum - The of the newly created object - An object with the type and id passed - - - - Parse the results of a RequestTaskInventory() response - - A string which contains the data from the task reply - A List containing the items contained within the tasks inventory - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - UpdateCreateInventoryItem packets are received when a new inventory item - is created. This may occur when an object that's rezzed in world is - taken into inventory, when an item is created using the CreateInventoryItem - packet, or when an object is purchased - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Set to true to accept offer, false to decline it - - - The folder to accept the inventory into, if null default folder for will be used - - - - Callback when an inventory object is accepted and received from a - task inventory. This is the callback in which you actually get - the ItemID, as in ObjectOfferedCallback it is null when received - from a task. - - - - - - - - - - - - - - - De-serialization constructor for the InventoryNode Class - - - - - De-serialization handler for the InventoryNode Class - - - - - - - - - - - - - - - - - - - - - For inventory folder nodes specifies weather the folder needs to be - refreshed from the server - - - - - Serialization handler for the InventoryNode Class - - - - - - - - - - - Singleton logging class for the entire library - - - - - Default constructor - - - - - Callback used for client apps to receive log messages from - the library - - Data being logged - The severity of the log entry from - - - log4net logging engine - - - Triggered whenever a message is logged. If this is left - null, log messages will go to the console - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Exception that was raised - - - - Send a log message to the logging engine - - The log message - The severity of the log entry - Instance of the client - Exception that was raised - - - - If the library is compiled with DEBUG defined, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - - - - If the library is compiled with DEBUG defined and - GridClient.Settings.DEBUG is true, an event will be - fired if an OnLogMessage handler is registered and the - message will be sent to the logging engine - - The message to log at the DEBUG level to the - current logging engine - Instance of the client - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Login Request Parameters - - - - - Default constuctor, initializes sane default values - - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - - - - Instantiates new LoginParams object and fills in the values - - Instance of GridClient to read settings from - Login first name - Login last name - Password - Login channnel (application name) - Client version, should be application name + version number - URI of the login server - - - The URL of the Login Server - - - The number of milliseconds to wait before a login is considered - failed due to timeout - - - The request method - login_to_simulator is currently the only supported method - - - The Agents First name - - - The Agents Last name - - - A md5 hashed password - plaintext password will be automatically hashed - - - The agents starting location once logged in - Either "last", "home", or a string encoded URI - containing the simulator name and x/y/z coordinates e.g: uri:hooper&128&152&17 - - - A string containing the client software channel information - Second Life Release - - - The client software version information - The official viewer uses: Second Life Release n.n.n.n - where n is replaced with the current version of the viewer - - - A string containing the platform information the agent is running on - - - A string hash of the network cards Mac Address - - - Unknown or deprecated - - - A string hash of the first disk drives ID used to identify this clients uniqueness - - - A string containing the viewers Software, this is not directly sent to the login server but - instead is used to generate the Version string - - - A string representing the software creator. This is not directly sent to the login server but - is used by the library to generate the Version information - - - If true, this agent agrees to the Terms of Service of the grid its connecting to - - - Unknown - - - An array of string sent to the login server to enable various options - - - A randomly generated ID to distinguish between login attempts. This value is only used - internally in the library and is never sent over the wire - - - - The decoded data returned from the login server after a successful login - - - - true, false, indeterminate - - - Login message of the day - - - M or PG, also agent_region_access and agent_access_max - - - - Parse LLSD Login Reply Data - - An - contaning the login response data - XML-RPC logins do not require this as XML-RPC.NET - automatically populates the struct properly using attributes - - - - Login Routines - - - NetworkManager is responsible for managing the network layer of - OpenMetaverse. It tracks all the server connections, serializes - outgoing traffic and deserializes incoming traffic, and provides - instances of delegates for network-related events. - - - - - Default constructor - - Reference to the GridClient object - - - - Explains why a simulator or the grid disconnected from us - - - - The client requested the logout or simulator disconnect - - - The server notified us that it is disconnecting - - - Either a socket was closed or network traffic timed out - - - The last active simulator shut down - - - - Holds a simulator reference and a decoded packet, these structs are put in - the packet inbox for event handling - - - - Reference to the simulator that this packet came from - - - Packet that needs to be processed - - - - Holds a simulator reference and a serialized packet, these structs are put in - the packet outbox for sending - - - - Reference to the simulator this packet is destined for - - - Packet that needs to be sent - - - Sequence number of the wrapped packet - - - Number of times this packet has been resent - - - Environment.TickCount when this packet was last sent over the wire - - - - - - - - - - - - - - - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Seed CAPS URL returned from the login server - - - A list of packets obtained during the login process which - networkmanager will log but not process - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - All of the simulators we are currently connected to - - - Handlers for incoming capability events - - - Handlers for incoming packets - - - Incoming packets that are awaiting handling - - - Outgoing packets that are awaiting handling - - - Raised when the simulator sends us data containing - ... - - - Called when a reply is received from the login server, the - login sequence will block until this event returns - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Raised when the simulator sends us data containing - ... - - - Current state of logging in - - - Upon login failure, contains a short string key for the - type of login error that occurred - - - The raw XML-RPC reply from the login server, exactly as it - was received (minus the HTTP header) - - - During login this contains a descriptive version of - LoginStatusCode. After a successful login this will contain the - message of the day, and after a failed login a descriptive error - message will be returned - - - Unique identifier associated with our connections to - simulators - - - The simulator that the logged in avatar is currently - occupying - - - Shows whether the network layer is logged in to the - grid or not - - - Number of packets in the incoming queue - - - Number of packets in the outgoing queue - - - Raises the LoginProgress Event - A LoginProgressEventArgs object containing - the data sent from the simulator - - - - Generate sane default values for a login request - - Account first name - Account last name - Account password - Client application name - Client application version - A populated struct containing - sane defaults - - - - Simplified login that takes the most common and required fields - - Account first name - Account last name - Account password - Client application name - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Simplified login that takes the most common fields along with a - starting location URI, and can accept an MD5 string instead of a - plaintext password - - Account first name - Account last name - Account password or MD5 hash of the password - such as $1$1682a1e45e9f957dcdf0bb56eb43319c - Client application name - Starting location URI that can be built with - StartLocation() - Client application version - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Login that takes a struct of all the values that will be passed to - the login server - - The values that will be passed to the login - server, all fields must be set even if they are String.Empty - Whether the login was successful or not. On failure the - LoginErrorKey string will contain the error code and LoginMessage - will contain a description of the error - - - - Build a start location URI for passing to the Login function - - Name of the simulator to start in - X coordinate to start at - Y coordinate to start at - Z coordinate to start at - String with a URI that can be used to login to a specified - location - - - - Handles response from XML-RPC login replies - - - - - Handle response from LLSD login replies - - - - - - - - - - - Get current OS - - Either "Win" or "Linux" - - - - Get clients default Mac Address - - A string containing the first found Mac Address - - - Raises the PacketSent Event - A PacketSentEventArgs object containing - the data sent from the simulator - - - Raises the LoggedOut Event - A LoggedOutEventArgs object containing - the data sent from the simulator - - - Raises the SimConnecting Event - A SimConnectingEventArgs object containing - the data sent from the simulator - - - Raises the SimConnected Event - A SimConnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimDisconnected Event - A SimDisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the Disconnected Event - A DisconnectedEventArgs object containing - the data sent from the simulator - - - Raises the SimChanged Event - A SimChangedEventArgs object containing - the data sent from the simulator - - - Raises the EventQueueRunning Event - A EventQueueRunningEventArgs object containing - the data sent from the simulator - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - - - - Register an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type to trigger events for - Callback to fire when a packet of this type - is received - True if the callback should be ran - asynchronously. Only set this to false (synchronous for callbacks - that will always complete quickly) - If any callback for a packet type is marked as - asynchronous, all callbacks for that packet type will be fired - asynchronously - - - - Unregister an event handler for a packet. This is a low level event - interface and should only be used if you are doing something not - supported in the library - - Packet type this callback is registered with - Callback to stop firing events for - - - - Register a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event to register a handler for - Callback to fire when a CAPS event is received - - - - Unregister a CAPS event handler. This is a low level event interface - and should only be used if you are doing something not supported in - the library - - Name of the CAPS event this callback is - registered with - Callback to stop firing events for - - - - Send a packet to the simulator the avatar is currently occupying - - Packet to send - - - - Send a packet to a specified simulator - - Packet to send - Simulator to send the packet to - - - - Connect to a simulator - - IP address to connect to - Port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Connect to a simulator - - IP address and port to connect to - Handle for this simulator, to identify its - location in the grid - Whether to set CurrentSim to this new - connection, use this if the avatar is moving in to this simulator - URL of the capabilities server to use for - this sim connection - A Simulator object on success, otherwise null - - - - Initiate a blocking logout request. This will return when the logout - handshake has completed or when Settings.LOGOUT_TIMEOUT - has expired and the network layer is manually shut down - - - - - Initiate the logout process. Check if logout succeeded with the - OnLogoutReply event, and if this does not fire the - Shutdown() function needs to be manually called - - - - - Close a connection to the given simulator - - - - - - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown - - - - Shutdown will disconnect all the sims except for the current sim - first, and then kill the connection to CurrentSim. This should only - be called if the logout process times out on RequestLogout - Type of shutdown - Shutdown message - - - - Searches through the list of currently connected simulators to find - one attached to the given IPEndPoint - - IPEndPoint of the Simulator to search for - A Simulator reference on success, otherwise null - - - - Fire an event when an event queue connects for capabilities - - Simulator the event queue is attached to - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A Name Value pair with additional settings, used in the protocol - primarily to transmit avatar names and active group in object packets - - - - - Constructor that takes all the fields as parameters - - - - - - - - - - - - - - - Constructor that takes a single line from a NameValue field - - - - - - Type of the value - - - Unknown - - - String value - - - - - - - - - - - - - - - - - - - Deprecated - - - String value, but designated as an asset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - No report - - - Unknown report type - - - Bug report - - - Complaint report - - - Customer service report - - - - Bitflag field for ObjectUpdateCompressed data blocks, describing - which options are present for each object - - - - Unknown - - - Whether the object has a TreeSpecies - - - Whether the object has floating text ala llSetText - - - Whether the object has an active particle system - - - Whether the object has sound attached to it - - - Whether the object is attached to a root object or not - - - Whether the object has texture animation settings - - - Whether the object has an angular velocity - - - Whether the object has a name value pairs string - - - Whether the object has a Media URL set - - - - Specific Flags for MultipleObjectUpdate requests - - - - None - - - Change position of prims - - - Change rotation of prims - - - Change size of prims - - - Perform operation on link set - - - Scale prims uniformly, same as selecing ctrl+shift in the - viewer. Used in conjunction with Scale - - - - Special values in PayPriceReply. If the price is not one of these - literal value of the price should be use - - - - - Indicates that this pay option should be hidden - - - - - Indicates that this pay option should have the default value - - - - - Contains the variables sent in an object update packet for objects. - Used to track position and movement of prims and avatars - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Handles all network traffic related to prims and avatar positions and - movement. - - - - - Construct a new instance of the ObjectManager class - - A reference to the instance - - - - Callback for getting object media data via CAP - - Indicates if the operation was succesfull - Object media version string - Array indexed on prim face of media entry data - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - The event subscribers, null of no subscribers - - - Thread sync lock object - - - Reference to the GridClient object - - - Does periodic dead reckoning calculation to convert - velocity and acceleration to new positions for objects - - - Raised when the simulator sends us data containing - A , Foliage or Attachment - - - - - Raised when the simulator sends us data containing - additional information - - - - - Raised when the simulator sends us data containing - Primitive.ObjectProperties for an object we are currently tracking - - - Raised when the simulator sends us data containing - additional and details - - - - Raised when the simulator sends us data containing - updated information for an - - - Raised when the simulator sends us data containing - and movement changes - - - Raised when the simulator sends us data containing - updates to an Objects DataBlock - - - Raised when the simulator informs us an - or is no longer within view - - - Raised when the simulator sends us data containing - updated sit information for our - - - Raised when the simulator sends us data containing - purchase price information for a - - - Raises the ObjectProperties Event - A ObjectPropertiesEventArgs object containing - the data sent from the simulator - - - Raises the ObjectPropertiesUpdated Event - A ObjectPropertiesUpdatedEventArgs object containing - the data sent from the simulator - - - Raises the ObjectPropertiesFamily Event - A ObjectPropertiesFamilyEventArgs object containing - the data sent from the simulator - - - Raises the AvatarUpdate Event - A AvatarUpdateEventArgs object containing - the data sent from the simulator - - - Raises the ObjectDataBlockUpdate Event - A ObjectDataBlockUpdateEventArgs object containing - the data sent from the simulator - - - Raises the KillObject Event - A KillObjectEventArgs object containing - the data sent from the simulator - - - Raises the AvatarSitChanged Event - A AvatarSitChangedEventArgs object containing - the data sent from the simulator - - - Raises the PayPriceReply Event - A PayPriceReplyEventArgs object containing - the data sent from the simulator - - - - Request information for a single object from a - you are currently connected to - - The the object is located - The Local ID of the object - - - - Request information for multiple objects contained in - the same simulator - - The the objects are located - An array containing the Local IDs of the objects - - - - Attempt to purchase an original object, a copy, or the contents of - an object - - The the object is located - The Local ID of the object - Whether the original, a copy, or the object - contents are on sale. This is used for verification, if the this - sale type is not valid for the object the purchase will fail - Price of the object. This is used for - verification, if it does not match the actual price the purchase - will fail - Group ID that will be associated with the new - purchase - Inventory folder UUID where the object or objects - purchased should be placed - - - BuyObject(Client.Network.CurrentSim, 500, SaleType.Copy, - 100, UUID.Zero, Client.Self.InventoryRootFolderUUID); - - - - - - Request prices that should be displayed in pay dialog. This will triggger the simulator - to send us back a PayPriceReply which can be handled by OnPayPriceReply event - - The the object is located - The ID of the object - The result is raised in the event - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - - - - - Select a single object. This will cause the to send us - an which will raise the event - - The the object is located - The Local ID of the object - if true, a call to is - made immediately following the request - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - Should objects be deselected immediately after selection - - - - - Select multiple objects. This will cause the to send us - an which will raise the event - - The the objects are located - An array containing the Local IDs of the objects - - - - - Update the properties of an object - - The the object is located - The Local ID of the object - true to turn the objects physical property on - true to turn the objects temporary property on - true to turn the objects phantom property on - true to turn the objects cast shadows property on - - - - Sets the sale properties of a single object - - The the object is located - The Local ID of the object - One of the options from the enum - The price of the object - - - - Sets the sale properties of multiple objects - - The the objects are located - An array containing the Local IDs of the objects - One of the options from the enum - The price of the object - - - - Deselect a single object - - The the object is located - The Local ID of the object - - - - Deselect multiple objects. - - The the objects are located - An array containing the Local IDs of the objects - - - - Perform a click action on an object - - The the object is located - The Local ID of the object - - - - Perform a click action (Grab) on a single object - - The the object is located - The Local ID of the object - The texture coordinates to touch - The surface coordinates to touch - The face of the position to touch - The region coordinates of the position to touch - The surface normal of the position to touch (A normal is a vector perpindicular to the surface) - The surface binormal of the position to touch (A binormal is a vector tangen to the surface - pointing along the U direction of the tangent space - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Create (rez) a new prim object in a simulator - - A reference to the object to place the object in - Data describing the prim object to rez - Group ID that this prim will be set to, or UUID.Zero if you - do not want the object to be associated with a specific group - An approximation of the position at which to rez the prim - Scale vector to size this prim - Rotation quaternion to rotate this prim - Specify the - Due to the way client prim rezzing is done on the server, - the requested position for an object is only close to where the prim - actually ends up. If you desire exact placement you'll need to - follow up by moving the object after it has been created. This - function will not set textures, light and flexible data, or other - extended primitive properties - - - - Rez a Linden tree - - A reference to the object where the object resides - The size of the tree - The rotation of the tree - The position of the tree - The Type of tree - The of the group to set the tree to, - or UUID.Zero if no group is to be set - true to use the "new" Linden trees, false to use the old - - - - Rez grass and ground cover - - A reference to the object where the object resides - The size of the grass - The rotation of the grass - The position of the grass - The type of grass from the enum - The of the group to set the tree to, - or UUID.Zero if no group is to be set - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - - - - Set the textures to apply to the faces of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The texture data to apply - A media URL (not used) - - - - Set the Light data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the flexible data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Set the sculptie texture and data on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A object containing the data to set - - - - Unset additional primitive parameters on an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The extra parameters to set - - - - Link multiple prims into a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to link - The last object in the array will be the root object of the linkset TODO: Is this true? - - - - Delink/Unlink multiple prims from a linkset - - A reference to the object where the objects reside - An array which contains the IDs of the objects to delink - - - - Change the rotation of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation of the object - - - - Set the name of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new name of the object - - - - Set the name of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the name of - An array which contains the new names of the objects - - - - Set the description of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - A string containing the new description of the object - - - - Set the descriptions of multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to change the description of - An array which contains the new descriptions of the objects - - - - Attach an object to this avatar - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The point on the avatar the object will be attached - The rotation of the attached object - - - - Drop an attached object from this avatar - - A reference to the - object where the objects reside. This will always be the simulator the avatar is currently in - - The object's ID which is local to the simulator the object is in - - - - Detach an object from yourself - - A reference to the - object where the objects reside - This will always be the simulator the avatar is currently in - - An array which contains the IDs of the objects to detach - - - - Change the position of an object, Will change position of entire linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - - - - Change the position of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new position of the object - if true, will change position of (this) child prim only, not entire linkset - - - - Change the Scale (size) of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change scale of this prim only, not entire linkset - True to resize prims uniformly - - - - Change the Rotation of an object that is either a child or a whole linkset - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new scale of the object - If true, will change rotation of this prim only, not entire linkset - - - - Send a Multiple Object Update packet to change the size, scale or rotation of a primitive - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new rotation, size, or position of the target object - The flags from the Enum - - - - Deed an object (prim) to a group, Object must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The of the group to deed the object to - - - - Deed multiple objects (prims) to a group, Objects must be shared with group which - can be accomplished with SetPermissions() - - A reference to the object where the object resides - An array which contains the IDs of the objects to deed - The of the group to deed the object to - - - - Set the permissions on multiple objects - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the permissions on - The new Who mask to set - The new Permissions mark to set - TODO: What does this do? - - - - Request additional properties for an object - - A reference to the object where the object resides - - - - - - Request additional properties for an object - - A reference to the object where the object resides - Absolute UUID of the object - Whether to require server acknowledgement of this request - - - - Set the ownership of a list of objects to the specified group - - A reference to the object where the objects reside - An array which contains the IDs of the objects to set the group id on - The Groups ID - - - - Update current URL of the previously set prim media - - UUID of the prim - Set current URL to this - Prim face number - Simulator in which prim is located - - - - Set object media - - UUID of the prim - Array the length of prims number of faces. Null on face indexes where there is - no media, on faces which contain the media - Simulatior in which prim is located - - - - Retrieve information about object media - - UUID of the primitive - Simulator where prim is located - Call this callback when done - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - A terse object update, used when a transformation matrix or - velocity/acceleration for an object changes but nothing else - (scale/position/rotation/acceleration/velocity) - - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - - Setup construction data for a basic primitive shape - - Primitive shape to construct - Construction data that can be plugged into a - - - - - - - - - - - - - - - - - - - - - - - - Set the Shape data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - Data describing the prim shape - - - - Set the Material data of an object - - A reference to the object where the object resides - The objects ID which is local to the simulator the object is in - The new material of the object - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides data for the event - - The event occurs when the simulator sends - an containing a Primitive, Foliage or Attachment data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same object if for example the primitive moved to a new simulator, then returned to the current simulator or - if an Avatar crosses the border into a new simulator and returns to the current simulator - - - The following code example uses the , , and - properties to display new Primitives and Attachments on the window. - - // Subscribe to the event that gives us prim and foliage information - Client.Objects.ObjectUpdate += Objects_ObjectUpdate; - private void Objects_ObjectUpdate(object sender, PrimEventArgs e) - { - Console.WriteLine("Primitive {0} {1} in {2} is an attachment {3}", e.Prim.ID, e.Prim.LocalID, e.Simulator.Name, e.IsAttachment); - } - - - - - - - - Construct a new instance of the PrimEventArgs class - - The simulator the object originated from - The Primitive - The simulator time dilation - The prim was not in the dictionary before this update - true if the primitive represents an attachment to an agent - - - Get the simulator the originated from - - - Get the details - - - true if the did not exist in the dictionary before this update (always true if object tracking has been disabled) - - - true if the is attached to an - - - Get the simulator Time Dilation - - - Provides data for the event - - The event occurs when the simulator sends - an containing Avatar data - Note 1: The event will not be raised when the object is an Avatar - Note 2: It is possible for the to be - raised twice for the same avatar if for example the avatar moved to a new simulator, then returned to the current simulator - - - The following code example uses the property to make a request for the top picks - using the method in the class to display the names - of our own agents picks listings on the window. - - // subscribe to the AvatarUpdate event to get our information - Client.Objects.AvatarUpdate += Objects_AvatarUpdate; - Client.Avatars.AvatarPicksReply += Avatars_AvatarPicksReply; - private void Objects_AvatarUpdate(object sender, AvatarUpdateEventArgs e) - { - // we only want our own data - if (e.Avatar.LocalID == Client.Self.LocalID) - { - // Unsubscribe from the avatar update event to prevent a loop - // where we continually request the picks every time we get an update for ourselves - Client.Objects.AvatarUpdate -= Objects_AvatarUpdate; - // make the top picks request through AvatarManager - Client.Avatars.RequestAvatarPicks(e.Avatar.ID); - } - } - private void Avatars_AvatarPicksReply(object sender, AvatarPicksReplyEventArgs e) - { - // we'll unsubscribe from the AvatarPicksReply event since we now have the data - // we were looking for - Client.Avatars.AvatarPicksReply -= Avatars_AvatarPicksReply; - // loop through the dictionary and extract the names of the top picks from our profile - foreach (var pickName in e.Picks.Values) - { - Console.WriteLine(pickName); - } - } - - - - - - - Construct a new instance of the AvatarUpdateEventArgs class - - The simulator the packet originated from - The data - The simulator time dilation - The avatar was not in the dictionary before this update - - - Get the simulator the object originated from - - - Get the data - - - Get the simulator time dilation - - - true if the did not exist in the dictionary before this update (always true if avatar tracking has been disabled) - - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment data - The event is also raised when a request is - made. - - - The following code example uses the , and - - properties to display new attachments and send a request for additional properties containing the name of the - attachment then display it on the window. - - // Subscribe to the event that provides additional primitive details - Client.Objects.ObjectProperties += Objects_ObjectProperties; - // handle the properties data that arrives - private void Objects_ObjectProperties(object sender, ObjectPropertiesEventArgs e) - { - Console.WriteLine("Primitive Properties: {0} Name is {1}", e.Properties.ObjectID, e.Properties.Name); - } - - - - - Construct a new instance of the ObjectPropertiesEventArgs class - - The simulator the object is located - The primitive Properties - - - Get the simulator the object is located - - - Get the primitive properties - - - Provides additional primitive data for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive or Foliage data that is currently - being tracked in the dictionary - The event is also raised when a request is - made and is enabled - - - - - Construct a new instance of the ObjectPropertiesUpdatedEvenrArgs class - - The simulator the object is located - The Primitive - The primitive Properties - - - Get the simulator the object is located - - - Get the primitive details - - - Get the primitive properties - - - Provides additional primitive data, permissions and sale info for the event - - The event occurs when the simulator sends - an containing additional details for a Primitive, Foliage data or Attachment. This includes - Permissions, Sale info, and other basic details on an object - The event is also raised when a request is - made, the viewer equivalent is hovering the mouse cursor over an object - - - - Get the simulator the object is located - - - - - - - - - - - Provides primitive data containing updated location, velocity, rotation, textures for the event - - The event occurs when the simulator sends updated location, velocity, rotation, etc - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - - Get the simulator the object is located - - - Get the primitive details - - - - - - - - - - - - - - - - - - - Provides notification when an Avatar, Object or Attachment is DeRezzed or moves out of the avatars view for the - event - - - Get the simulator the object is located - - - The LocalID of the object - - - - Provides updates sit position data - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - - - - Get the simulator the object is located - - - - - - - - - - - - - - - - Indicates if the operation was successful - - - - - Media version string - - - - - Array of media entries indexed by face number - - - - - Create an allocated UDP packet buffer for receiving a packet - - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - - - - Create an allocated UDP packet buffer for sending a packet - - EndPoint of the remote host - Size of the buffer to allocate for packet data - - - Size of the byte array used to store raw packet data - - - Raw packet data buffer - - - Length of the data to transmit - - - EndPoint of the remote host - - - - Object pool for packet buffers. This is used to allocate memory for all - incoming and outgoing packets, and zerocoding buffers for those packets - - - - - Initialize the object pool in client mode - - Server to connect to - - - - - - - - Initialize the object pool in server mode - - - - - - - - - Returns a packet buffer with EndPoint set if the buffer is in - client mode, or with EndPoint set to null in server mode - - Initialized UDPPacketBuffer object - - - - Default constructor - - - - - Check a packet buffer out of the pool - - A packet buffer object - - - - Returns an instance of the class that has been checked out of the Object Pool. - - - - - Checks the instance back into the object pool - - - - - Creates a new instance of the ObjectPoolBase class. Initialize MUST be called - after using this constructor. - - - - - Creates a new instance of the ObjectPool Base class. - - The object pool is composed of segments, which - are allocated whenever the size of the pool is exceeded. The number of items - in a segment should be large enough that allocating a new segmeng is a rare - thing. For example, on a server that will have 10k people logged in at once, - the receive buffer object pool should have segment sizes of at least 1000 - byte arrays per segment. - - The minimun number of segments that may exist. - Perform a full GC.Collect whenever a segment is allocated, and then again after allocation to compact the heap. - The frequency which segments are checked to see if they're eligible for cleanup. - - - - The total number of segments created. Intended to be used by the Unit Tests. - - - - - The number of items that are in a segment. Items in a segment - are all allocated at the same time, and are hopefully close to - each other in the managed heap. - - - - - The minimum number of segments. When segments are reclaimed, - this number of segments will always be left alone. These - segments are allocated at startup. - - - - - The age a segment must be before it's eligible for cleanup. - This is used to prevent thrash, and typical values are in - the 5 minute range. - - - - - The frequence which the cleanup thread runs. This is typically - expected to be in the 5 minute range. - - - - - Forces the segment cleanup algorithm to be run. This method is intended - primarly for use from the Unit Test libraries. - - - - - Responsible for allocate 1 instance of an object that will be stored in a segment. - - An instance of whatever objec the pool is pooling. - - - - Checks in an instance of T owned by the object pool. This method is only intended to be called - by the WrappedObject class. - - The segment from which the instance is checked out. - The instance of T to check back into the segment. - - - - Checks an instance of T from the pool. If the pool is not sufficient to - allow the checkout, a new segment is created. - - A WrappedObject around the instance of T. To check - the instance back into the segment, be sureto dispose the WrappedObject - when finished. - - - - - - - - - - - - - - - - - - - - The ObservableDictionary class is used for storing key/value pairs. It has methods for firing - events to subscribers when items are added, removed, or changed. - - Key - Value - - - - Initializes a new instance of the Class - with the specified key/value, has the default initial capacity. - - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(); - - - - - - Initializes a new instance of the Class - with the specified key/value, With its initial capacity specified. - - Initial size of dictionary - - - // initialize a new ObservableDictionary named testDict with a string as the key and an int as the value, - // initially allocated room for 10 entries. - public ObservableDictionary<string, int> testDict = new ObservableDictionary<string, int>(10); - - - - - - A dictionary of callbacks to fire when specified action occurs - - - - Internal dictionary that this class wraps around. Do not - modify or enumerate the contents of this dictionary without locking - - - - Indexer for the dictionary - - The key - The value - - - - Gets the number of Key/Value pairs contained in the - - - - Register a callback to be fired when an action occurs - - The action - The callback to fire - - - - Unregister a callback - - The action - The callback to fire - - - - - - - - - - - - Try to get entry from the with specified key - - Key to use for lookup - Value returned - - if specified key exists, if not found - - - // find your avatar using the Simulator.ObjectsAvatars ObservableDictionary: - Avatar av; - if (Client.Network.CurrentSim.ObjectsAvatars.TryGetValue(Client.Self.AgentID, out av)) - Console.WriteLine("Found Avatar {0}", av.Name); - - - - - - - Finds the specified match. - - The match. - Matched value - - - // use a delegate to find a prim in the ObjectsPrimitives ObservableDictionary - // with the ID 95683496 - uint findID = 95683496; - Primitive findPrim = sim.ObjectsPrimitives.Find( - delegate(Primitive prim) { return prim.ID == findID; }); - - - - - Find All items in an - return matching items. - a containing found items. - - Find All prims within 20 meters and store them in a List - - int radius = 20; - List<Primitive> prims = Client.Network.CurrentSim.ObjectsPrimitives.FindAll( - delegate(Primitive prim) { - Vector3 pos = prim.Position; - return ((prim.ParentID == 0) && (pos != Vector3.Zero) && (Vector3.Distance(pos, location) < radius)); - } - ); - - - - Find All items in an - return matching keys. - a containing found keys. - - Find All keys which also exist in another dictionary - - List<UUID> matches = myDict.FindAll( - delegate(UUID id) { - return myOtherDict.ContainsKey(id); - } - ); - - - - Check if Key exists in Dictionary - Key to check for - - if found, otherwise - - - Check if Value exists in Dictionary - Value to check for - - if found, otherwise - - - - Adds the specified key to the dictionary, dictionary locking is not performed, - - The key - The value - - - - Removes the specified key, dictionary locking is not performed - - The key. - - if successful, otherwise - - - - Clear the contents of the dictionary - - - - - Enumerator for iterating dictionary entries - - - - - - - A custom decoder callback - - The key of the object - the data to decode - A string represending the fieldData - - - - Add a custom decoder callback - - The key of the field to decode - The custom decode handler - - - - Remove a custom decoder callback - - The key of the field to decode - The custom decode handler - - - - Creates a formatted string containing the values of a Packet - - The Packet - A formatted string of values of the nested items in the Packet object - - - - Decode an IMessage object into a beautifully formatted string - - The IMessage object - Recursion level (used for indenting) - A formatted string containing the names and values of the source object - - - - Type of return to use when returning objects from a parcel - - - - - - - - Return objects owned by parcel owner - - - Return objects set to group - - - Return objects not owned by parcel owner or set to group - - - Return a specific list of objects on parcel - - - Return objects that are marked for-sale - - - - Blacklist/Whitelist flags used in parcels Access List - - - - Agent is denied access - - - Agent is granted access - - - - The result of a request for parcel properties - - - - No matches were found for the request - - - Request matched a single parcel - - - Request matched multiple parcels - - - - Flags used in the ParcelAccessListRequest packet to specify whether - we want the access list (whitelist), ban list (blacklist), or both - - - - Request the access list - - - Request the ban list - - - Request both White and Black lists - - - - Sequence ID in ParcelPropertiesReply packets (sent when avatar - tries to cross a parcel border) - - - - Parcel is currently selected - - - Parcel restricted to a group the avatar is not a - member of - - - Avatar is banned from the parcel - - - Parcel is restricted to an access list that the - avatar is not on - - - Response to hovering over a parcel - - - - The tool to use when modifying terrain levels - - - - Level the terrain - - - Raise the terrain - - - Lower the terrain - - - Smooth the terrain - - - Add random noise to the terrain - - - Revert terrain to simulator default - - - - The tool size to use when changing terrain levels - - - - Small - - - Medium - - - Large - - - - Reasons agent is denied access to a parcel on the simulator - - - - Agent is not denied, access is granted - - - Agent is not a member of the group set for the parcel, or which owns the parcel - - - Agent is not on the parcels specific allow list - - - Agent is on the parcels ban list - - - Unknown - - - Agent is not age verified and parcel settings deny access to non age verified avatars - - - - Parcel overlay type. This is used primarily for highlighting and - coloring which is why it is a single integer instead of a set of - flags - - These values seem to be poorly thought out. The first three - bits represent a single value, not flags. For example Auction (0x05) is - not a combination of OwnedByOther (0x01) and ForSale(0x04). However, - the BorderWest and BorderSouth values are bit flags that get attached - to the value stored in the first three bits. Bits four, five, and six - are unused - - - Public land - - - Land is owned by another avatar - - - Land is owned by a group - - - Land is owned by the current avatar - - - Land is for sale - - - Land is being auctioned - - - To the west of this area is a parcel border - - - To the south of this area is a parcel border - - - - Various parcel properties - - - - No flags set - - - Allow avatars to fly (a client-side only restriction) - - - Allow foreign scripts to run - - - This parcel is for sale - - - Allow avatars to create a landmark on this parcel - - - Allows all avatars to edit the terrain on this parcel - - - Avatars have health and can take damage on this parcel. - If set, avatars can be killed and sent home here - - - Foreign avatars can create objects here - - - All objects on this parcel can be purchased - - - Access is restricted to a group - - - Access is restricted to a whitelist - - - Ban blacklist is enabled - - - Unknown - - - List this parcel in the search directory - - - Allow personally owned parcels to be deeded to group - - - If Deeded, owner contributes required tier to group parcel is deeded to - - - Restrict sounds originating on this parcel to the - parcel boundaries - - - Objects on this parcel are sold when the land is - purchsaed - - - Allow this parcel to be published on the web - - - The information for this parcel is mature content - - - The media URL is an HTML page - - - The media URL is a raw HTML string - - - Restrict foreign object pushes - - - Ban all non identified/transacted avatars - - - Allow group-owned scripts to run - - - Allow object creation by group members or group - objects - - - Allow all objects to enter this parcel - - - Only allow group and owner objects to enter this parcel - - - Voice Enabled on this parcel - - - Use Estate Voice channel for Voice on this parcel - - - Deny Age Unverified Users - - - - Parcel ownership status - - - - Placeholder - - - Parcel is leased (owned) by an avatar or group - - - Parcel is in process of being leased (purchased) by an avatar or group - - - Parcel has been abandoned back to Governor Linden - - - - Category parcel is listed in under search - - - - No assigned category - - - Linden Infohub or public area - - - Adult themed area - - - Arts and Culture - - - Business - - - Educational - - - Gaming - - - Hangout or Club - - - Newcomer friendly - - - Parks and Nature - - - Residential - - - Shopping - - - Not Used? - - - Other - - - Not an actual category, only used for queries - - - - Type of teleport landing for a parcel - - - - Unset, simulator default - - - Specific landing point set for this parcel - - - No landing point set, direct teleports enabled for - this parcel - - - - Parcel Media Command used in ParcelMediaCommandMessage - - - - Stop the media stream and go back to the first frame - - - Pause the media stream (stop playing but stay on current frame) - - - Start the current media stream playing and stop when the end is reached - - - Start the current media stream playing, - loop to the beginning when the end is reached and continue to play - - - Specifies the texture to replace with video - If passing the key of a texture, it must be explicitly typecast as a key, - not just passed within double quotes. - - - Specifies the movie URL (254 characters max) - - - Specifies the time index at which to begin playing - - - Specifies a single agent to apply the media command to - - - Unloads the stream. While the stop command sets the texture to the first frame of the movie, - unload resets it to the real texture that the movie was replacing. - - - Turn on/off the auto align feature, similar to the auto align checkbox in the parcel media properties - (NOT to be confused with the "align" function in the textures view of the editor!) Takes TRUE or FALSE as parameter. - - - Allows a Web page or image to be placed on a prim (1.19.1 RC0 and later only). - Use "text/html" for HTML. - - - Resizes a Web page to fit on x, y pixels (1.19.1 RC0 and later only). - This might still not be working - - - Sets a description for the media being displayed (1.19.1 RC0 and later only). - - - - Some information about a parcel of land returned from a DirectoryManager search - - - - Global Key of record - - - Parcel Owners - - - Name field of parcel, limited to 128 characters - - - Description field of parcel, limited to 256 characters - - - Total Square meters of parcel - - - Total area billable as Tier, for group owned land this will be 10% less than ActualArea - - - True of parcel is in Mature simulator - - - Grid global X position of parcel - - - Grid global Y position of parcel - - - Grid global Z position of parcel (not used) - - - Name of simulator parcel is located in - - - Texture of parcels display picture - - - Float representing calculated traffic based on time spent on parcel by avatars - - - Sale price of parcel (not used) - - - Auction ID of parcel - - - - Parcel Media Information - - - - A byte, if 0x1 viewer should auto scale media to fit object - - - A boolean, if true the viewer should loop the media - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A string which contains the mime type of the media - - - - Parcel of land, a portion of virtual real estate in a simulator - - - - - Defalt constructor - - Local ID of this parcel - - - The total number of contiguous 4x4 meter blocks your agent owns within this parcel - - - The total number of contiguous 4x4 meter blocks contained in this parcel owned by a group or agent other than your own - - - Deprecated, Value appears to always be 0 - - - Simulator-local ID of this parcel - - - UUID of the owner of this parcel - - - Whether the land is deeded to a group or not - - - - - - - Date land was claimed - - - Appears to always be zero - - - This field is no longer used - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - Total parcel land area - - - - - - - Maximum primitives across the entire simulator owned by the same agent or group that owns this parcel that can be used - - - Total primitives across the entire simulator calculated by combining the allowed prim counts for each parcel - owned by the agent or group that owns this parcel - - - Maximum number of primitives this parcel supports - - - Total number of primitives on this parcel - - - For group-owned parcels this indicates the total number of prims deeded to the group, - for parcels owned by an individual this inicates the number of prims owned by the individual - - - Total number of primitives owned by the parcel group on - this parcel, or for parcels owned by an individual with a group set the - total number of prims set to that group. - - - Total number of prims owned by other avatars that are not set to group, or not the parcel owner - - - A bonus multiplier which allows parcel prim counts to go over times this amount, this does not affect - the max prims per simulator. e.g: 117 prim parcel limit x 1.5 bonus = 175 allowed - - - Autoreturn value in minutes for others' objects - - - - - - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - Parcel Name - - - Parcel Description - - - URL For Music Stream - - - - - - - Price for a temporary pass - - - How long is pass valid for - - - - - - - Key of authorized buyer - - - Key of parcel snapshot - - - The landing point location - - - The landing point LookAt - - - The type of landing enforced from the enum - - - - - - - - - - - - - - - Access list of who is whitelisted on this - parcel - - - Access list of who is blacklisted on this - parcel - - - TRUE of region denies access to age unverified users - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - A struct containing media details - - - - Displays a parcel object in string format - - string containing key=value pairs of a parcel object - - - - Update the simulator with any local changes to this Parcel object - - Simulator to send updates to - Whether we want the simulator to confirm - the update with a reply packet or not - - - - Set Autoreturn time - - Simulator to send the update to - - - - Parcel (subdivided simulator lots) subsystem - - - - - Default constructor - - A reference to the GridClient object - - - - Parcel Accesslist - - - - Agents - - - - - - - Flags for specific entry in white/black lists - - - - Owners of primitives on parcel - - - - Prim Owners - - - True of owner is group - - - Total count of prims owned by OwnerID - - - true of OwnerID is currently online and is not a group - - - The date of the most recent prim left by OwnerID - - - - Called once parcel resource usage information has been collected - - Indicates if operation was successfull - Parcel resource usage information - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - The event subscribers. null if no subcribers - - - Thread sync lock object - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a request - - - Raised when the simulator responds to a Parcel Update request - - - Raised when the parcel your agent is located sends a ParcelMediaCommand - - - Raises the ParcelDwellReply event - A ParcelDwellReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelInfoReply event - A ParcelInfoReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelProperties event - A ParcelPropertiesEventArgs object containing the - data returned from the simulator - - - Raises the ParcelAccessListReply event - A ParcelAccessListReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelObjectOwnersReply event - A ParcelObjectOwnersReplyEventArgs object containing the - data returned from the simulator - - - Raises the SimParcelsDownloaded event - A SimParcelsDownloadedEventArgs object containing the - data returned from the simulator - - - Raises the ForceSelectObjectsReply event - A ForceSelectObjectsReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelMediaUpdateReply event - A ParcelMediaUpdateReplyEventArgs object containing the - data returned from the simulator - - - Raises the ParcelMediaCommand event - A ParcelMediaCommandEventArgs object containing the - data returned from the simulator - - - - Request basic information for a single parcel - - Simulator-local ID of the parcel - - - - Request properties of a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - multiple simultaneous requests - - - - Request the access list for a single parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - An arbitrary integer that will be returned - with the ParcelAccessList reply, useful for distinguishing between - multiple simultaneous requests - - - - - - Request properties of parcels using a bounding box selection - - Simulator containing the parcel - Northern boundary of the parcel selection - Eastern boundary of the parcel selection - Southern boundary of the parcel selection - Western boundary of the parcel selection - An arbitrary integer that will be returned - with the ParcelProperties reply, useful for distinguishing between - different types of parcel property requests - A boolean that is returned with the - ParcelProperties reply, useful for snapping focus to a single - parcel - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - - - - Request all simulator parcel properties (used for populating the Simulator.Parcels - dictionary) - - Simulator to request parcels from (must be connected) - If TRUE, will force a full refresh - Number of milliseconds to pause in between each request - - - - Request the dwell value for a parcel - - Simulator containing the parcel - Simulator-local ID of the parcel - - - - Send a request to Purchase a parcel of land - - The Simulator the parcel is located in - The parcels region specific local ID - true if this parcel is being purchased by a group - The groups - true to remove tier contribution if purchase is successful - The parcels size - The purchase price of the parcel - - - - - - Reclaim a parcel of land - - The simulator the parcel is in - The parcels region specific local ID - - - - Deed a parcel to a group - - The simulator the parcel is in - The parcels region specific local ID - The groups - - - - Request prim owners of a parcel of land. - - Simulator parcel is in - The parcels region specific local ID - - - - Return objects from a parcel - - Simulator parcel is in - The parcels region specific local ID - the type of objects to return, - A list containing object owners s to return - - - - Subdivide (split) a parcel - - - - - - - - - - - - - - - Join two parcels of land creating a single parcel - - - - - - - - - - - - - - - Get a parcels LocalID - - Simulator parcel is in - Vector3 position in simulator (Z not used) - 0 on failure, or parcel LocalID on success. - A call to Parcels.RequestAllSimParcels is required to populate map and - dictionary. - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - true on successful request sent. - Settings.STORE_LAND_PATCHES must be true, - Parcel information must be downloaded using RequestAllSimParcels() - - - - Terraform (raise, lower, etc) an area or whole parcel of land - - Simulator land area is in. - LocalID of parcel, or -1 if using bounding box - west border of area to modify - south border of area to modify - east border of area to modify - north border of area to modify - From Enum, Raise, Lower, Level, Smooth, Etc. - Size of area to modify - How many meters + or - to lower, 1 = 1 meter - Height at which the terraform operation is acting at - - - - Sends a request to the simulator to return a list of objects owned by specific owners - - Simulator local ID of parcel - Owners, Others, Etc - List containing keys of avatars objects to select; - if List is null will return Objects of type selectType - Response data is returned in the event - - - - Eject and optionally ban a user from a parcel - - target key of avatar to eject - true to also ban target - - - - Freeze or unfreeze an avatar over your land - - target key to freeze - true to freeze, false to unfreeze - - - - Abandon a parcel of land - - Simulator parcel is in - Simulator local ID of parcel - - - - Requests the UUID of the parcel in a remote region at a specified location - - Location of the parcel in the remote region - Remote region handle - Remote region UUID - If successful UUID of the remote parcel, UUID.Zero otherwise - - - - Retrieves information on resources used by the parcel - - UUID of the parcel - Should per object resource usage be requested - Callback invoked when the request is complete - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Raises the event - - - Contains a parcels dwell data returned from the simulator in response to an - - - - Construct a new instance of the ParcelDwellReplyEventArgs class - - The global ID of the parcel - The simulator specific ID of the parcel - The calculated dwell for the parcel - - - Get the global ID of the parcel - - - Get the simulator specific ID of the parcel - - - Get the calculated dwell - - - Contains basic parcel information data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelInfoReplyEventArgs class - - The object containing basic parcel info - - - Get the object containing basic parcel info - - - Contains basic parcel information data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelPropertiesEventArgs class - - The object containing the details - The object containing the details - The result of the request - The number of primitieves your agent is - currently selecting and or sitting on in this parcel - The user assigned ID used to correlate a request with - these results - TODO: - - - Get the simulator the parcel is located in - - - Get the object containing the details - If Result is NoData, this object will not contain valid data - - - Get the result of the request - - - Get the number of primitieves your agent is - currently selecting and or sitting on in this parcel - - - Get the user assigned ID used to correlate a request with - these results - - - TODO: - - - Contains blacklist and whitelist data returned from the simulator in response to an request - - - - Construct a new instance of the ParcelAccessListReplyEventArgs class - - The simulator the parcel is located in - The user assigned ID used to correlate a request with - these results - The simulator specific ID of the parcel - TODO: - The list containing the white/blacklisted agents for the parcel - - - Get the simulator the parcel is located in - - - Get the user assigned ID used to correlate a request with - these results - - - Get the simulator specific ID of the parcel - - - TODO: - - - Get the list containing the white/blacklisted agents for the parcel - - - Contains blacklist and whitelist data returned from the - simulator in response to an request - - - - Construct a new instance of the ParcelObjectOwnersReplyEventArgs class - - The simulator the parcel is located in - The list containing prim ownership counts - - - Get the simulator the parcel is located in - - - Get the list containing prim ownership counts - - - Contains the data returned when all parcel data has been retrieved from a simulator - - - - Construct a new instance of the SimParcelsDownloadedEventArgs class - - The simulator the parcel data was retrieved from - The dictionary containing the parcel data - The multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Get the simulator the parcel data was retrieved from - - - A dictionary containing the parcel data where the key correlates to the ParcelMap entry - - - Get the multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - Contains the data returned when a request - - - - Construct a new instance of the ForceSelectObjectsReplyEventArgs class - - The simulator the parcel data was retrieved from - The list of primitive IDs - true if the list is clean and contains the information - only for a given request - - - Get the simulator the parcel data was retrieved from - - - Get the list of primitive IDs - - - true if the list is clean and contains the information - only for a given request - - - Contains data when the media data for a parcel the avatar is on changes - - - - Construct a new instance of the ParcelMediaUpdateReplyEventArgs class - - the simulator the parcel media data was updated in - The updated media information - - - Get the simulator the parcel media data was updated in - - - Get the updated media information - - - Contains the media command for a parcel the agent is currently on - - - - Construct a new instance of the ParcelMediaCommandEventArgs class - - The simulator the parcel media command was issued in - - - - - The media command that was sent - - - - - Get the simulator the parcel media command was issued in - - - - - - - - - - - Get the media command that was sent - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + If true, this step represents start of animation, otherwise animation stop - + + Animation asset - + + Animation inventory name - + + Returns what kind of gesture step this is - + + Describes sound step of a gesture - + + Sound asset - + + Sound inventory name - + + Returns what kind of gesture step this is - + + Describes sound step of a gesture - + + Text to output in chat - + + Returns what kind of gesture step this is - + + Describes sound step of a gesture - + + If true in this step we wait for all animations to finish - + + If true gesture player should wait for the specified amount of time - + + Time in seconds to wait if WaitForAnimation is false - + + Returns what kind of gesture step this is - - - - - + + Describes the final step of a gesture - + + Returns what kind of gesture step this is - + + Represents a sequence of animations, sounds, and chat actions - + + Keyboard key that triggers the gestyre - + + Modifier to the trigger key - + + String that triggers playing of the gesture sequence - - - - - + + Text that replaces trigger in chat once gesture is triggered - + + Sequence of gesture steps - + + Constructs guesture asset - + + Constructs guesture asset + A unique specific to this asset + A byte array containing the raw asset data - + + Encodes gesture asset suitable for uplaod - + + Decodes gesture assset into play sequence + true if the asset data was decoded successfully - + + Returns asset type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Class for controlling various system settings. - - Some values are readonly because they affect things that - happen when the GridClient object is initialized, so changing them at - runtime won't do any good. Non-readonly values may affect things that - happen at login or dynamically - - - Constructor - Reference to a GridClient object - - - Main grid login server - - - Beta grid login server - - - - InventoryManager requests inventory information on login, - GridClient initializes an Inventory store for main inventory. - - - - - InventoryManager requests library information on login, - GridClient initializes an Inventory store for the library. - - - - Number of milliseconds between sending pings to each sim - - - Number of milliseconds between sending camera updates - - - Number of milliseconds between updating the current - positions of moving, non-accelerating and non-colliding objects - - - Millisecond interval between ticks, where all ACKs are - sent out and the age of unACKed packets is checked - - - The initial size of the packet inbox, where packets are - stored before processing - - - Maximum size of packet that we want to send over the wire - - - The maximum value of a packet sequence number before it - rolls over back to one - - - The maximum size of the sequence number archive, used to - check for resent and/or duplicate packets - - - The relative directory where external resources are kept - - - Login server to connect to - - - IP Address the client will bind to - - - Use XML-RPC Login or LLSD Login, default is XML-RPC Login - - - Number of milliseconds before an asset transfer will time - out - - - Number of milliseconds before a teleport attempt will time - out - - - Number of milliseconds before NetworkManager.Logout() will - time out - - - Number of milliseconds before a CAPS call will time out - Setting this too low will cause web requests time out and - possibly retry repeatedly - - - Number of milliseconds for xml-rpc to timeout - - - Milliseconds before a packet is assumed lost and resent - - - Milliseconds without receiving a packet before the - connection to a simulator is assumed lost - - - Milliseconds to wait for a simulator info request through - the grid interface - - - Maximum number of queued ACKs to be sent before SendAcks() - is forced - - - Network stats queue length (seconds) - - - Enable/disable storing terrain heightmaps in the - TerrainManager - - - Enable/disable sending periodic camera updates - - - Enable/disable automatically setting agent appearance at - login and after sim crossing - - - Enable/disable automatically setting the bandwidth throttle - after connecting to each simulator - The default throttle uses the equivalent of the maximum - bandwidth setting in the official client. If you do not set a - throttle your connection will by default be throttled well below - the minimum values and you may experience connection problems - - - Enable/disable the sending of pings to monitor lag and - packet loss - - - Should we connect to multiple sims? This will allow - viewing in to neighboring simulators and sim crossings - (Experimental) - - - If true, all object update packets will be decoded in to - native objects. If false, only updates for our own agent will be - decoded. Registering an event handler will force objects for that - type to always be decoded. If this is disabled the object tracking - will have missing or partial prim and avatar information - - - If true, when a cached object check is received from the - server the full object info will automatically be requested - - - Whether to establish connections to HTTP capabilities - servers for simulators - - - Whether to decode sim stats - - - The capabilities servers are currently designed to - periodically return a 502 error which signals for the client to - re-establish a connection. Set this to true to log those 502 errors - - - If true, any reference received for a folder or item - the library is not aware of will automatically be fetched - - - If true, and SEND_AGENT_UPDATES is true, - AgentUpdate packets will continuously be sent out to give the bot - smoother movement and autopiloting - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectAvatars. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, currently visible avatars will be stored - in dictionaries inside Simulator.ObjectPrimitives. - If false, a new Avatar or Primitive object will be created - each time an object update packet is received - - - If true, position and velocity will periodically be - interpolated (extrapolated, technically) for objects and - avatars that are being tracked by the library. This is - necessary to increase the accuracy of speed and position - estimates for simulated objects - - - - If true, utilization statistics will be tracked. There is a minor penalty - in CPU time for enabling this option. - - - - If true, parcel details will be stored in the - Simulator.Parcels dictionary as they are received - - - - If true, an incoming parcel properties reply will automatically send - a request for the parcel access list - - - - - if true, an incoming parcel properties reply will automatically send - a request for the traffic count. - - - - - If true, images, and other assets downloaded from the server - will be cached in a local directory - - - - Path to store cached texture data - - - Maximum size cached files are allowed to take on disk (bytes) - - - Default color used for viewer particle effects - - - Maximum number of times to resend a failed packet - - - Throttle outgoing packet rate - - - UUID of a texture used by some viewers to indentify type of client used - - - - Download textures using GetTexture capability when available - - - - The maximum number of concurrent texture downloads allowed - Increasing this number will not necessarily increase texture retrieval times due to - simulator throttles - - - - The Refresh timer inteval is used to set the delay between checks for stalled texture downloads - - This is a static variable which applies to all instances - - - - Textures taking longer than this value will be flagged as timed out and removed from the pipeline - - - - - Get or set the minimum log level to output to the console by default - If the library is not compiled with DEBUG defined and this level is set to DEBUG - You will get no output on the console. This behavior can be overriden by creating - a logger configuration file for log4net - - - - Attach avatar names to log messages - - - Log packet retransmission info - - - Cost of uploading an asset - Read-only since this value is dynamically fetched at login - - - Process an incoming packet and raise the appropriate events - The sender - The EventArgs object containing the packet data - Simulator (region) properties @@ -16253,15 +22528,325 @@ + + + A public reference to the client that this Simulator object + is attached to + + + A Unique Cache identifier for this simulator + + + The capabilities for this simulator + + + + + + The current version of software this simulator is running + + + + + + A 64x64 grid of parcel coloring values. The values stored + in this array are of the type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + true if your agent has Estate Manager rights on this region + + + + + + + + + + + + Statistics information for this simulator and the + connection to the simulator, calculated by the simulator itself + and the library + + + The regions Unique ID + + + The physical data center the simulator is located + Known values are: + + Dallas + Chandler + SF + + + + + The CPU Class of the simulator + Most full mainland/estate sims appear to be 5, + Homesteads and Openspace appear to be 501 + + + The number of regions sharing the same CPU as this one + "Full Sims" appear to be 1, Homesteads appear to be 4 + + + The billing product name + Known values are: + + Mainland / Full Region (Sku: 023) + Estate / Full Region (Sku: 024) + Estate / Openspace (Sku: 027) + Estate / Homestead (Sku: 029) + Mainland / Homestead (Sku: 129) (Linden Owned) + Mainland / Linden Homes (Sku: 131) + + + + + The billing product SKU + Known values are: + + 023 Mainland / Full Region + 024 Estate / Full Region + 027 Estate / Openspace + 029 Estate / Homestead + 129 Mainland / Homestead (Linden Owned) + 131 Linden Homes / Full Region + + + + + The current sequence number for packets sent to this + simulator. Must be Interlocked before modifying. Only + useful for applications manipulating sequence numbers + + + + A thread-safe dictionary containing avatars in a simulator + + + + + A thread-safe dictionary containing primitives in a simulator + + + + + Provides access to an internal thread-safe dictionary containing parcel + information found in this simulator + + + + + Checks simulator parcel map to make sure it has downloaded all data successfully + + true if map is full (contains no 0's) + + + Used internally to track sim disconnections + + + Event that is triggered when the simulator successfully + establishes a connection + + + Whether this sim is currently connected or not. Hooked up + to the property Connected + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Sequence numbers of packets we've received + (for duplicate checking) + + + Packets we sent out that need ACKs from the simulator + + + Sequence number for pause/resume + + + Indicates if UDP connection to the sim is fully established + + Reference to the GridClient object IPEndPoint of the simulator handle of the simulator + + + Called when this Simulator object is being destroyed + + + + + Attempt to connect to this simulator + + Whether to move our agent in to this sim or not + True if the connection succeeded or connection status is + unknown, false if there was a failure + + + + Initiates connection to the simulator + + + + + Disconnect from this simulator + + + + + Instructs the simulator to stop sending update (and possibly other) packets + + + + + Instructs the simulator to resume sending update packets (unpause) + + + + + Retrieve the terrain height at a given coordinate + + Sim X coordinate, valid range is from 0 to 255 + Sim Y coordinate, valid range is from 0 to 255 + The terrain height at the given point if the + lookup was successful, otherwise 0.0f + True if the lookup was successful, otherwise false + + + + Sends a packet + + Packet to be sent + + + + + + + + + Returns Simulator Name as a String + + + + + + + + + + + + + + + + + + + Sends out pending acknowledgements + + Number of ACKs sent + + + + Resend unacknowledged packets + + + + + Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped + to each 64x64 parcel's LocalID. + + + + The IP address and port of the server + + + Whether there is a working connection to the simulator or + not + + + Coarse locations of avatars in this simulator + + + AvatarPositions key representing TrackAgent target + + + Indicates if UDP connection to the sim is fully established + Simulator Statistics @@ -16315,12 +22900,10 @@ ID of last Ping sent - - + - - + Current time dilation of this simulator @@ -16332,36 +22915,28 @@ Current Physics frames per second of simulator - - + - - + - - + - - + - - + - - + - - + - - + Total number of objects Simulator is simulating @@ -16379,16 +22954,13 @@ Number of Active scripts running in this simulator - - + - - + - - + Number of downloads pending @@ -16397,12 +22969,10 @@ Number of uploads pending - - + - - + Number of local uploads pending @@ -16410,5475 +22980,1183 @@ Unacknowledged bytes in queue - - A public reference to the client that this Simulator object - is attached to - - - A Unique Cache identifier for this simulator - - - The capabilities for this simulator - - + + Exception class to identify inventory exceptions - - The current version of software this simulator is running - - + + Responsible for maintaining inventory structure. Inventory constructs nodes + and manages node children as is necessary to maintain a coherant hirarchy. + Other classes should not manipulate or create InventoryNodes explicitly. When + A node's parent changes (when a folder is moved, for example) simply pass + Inventory the updated InventoryFolder and it will make the appropriate changes + to its internal representation. - - A 64x64 grid of parcel coloring values. The values stored - in this array are of the type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - true if your agent has Estate Manager rights on this region - - - - - - - - - - - - - - - Statistics information for this simulator and the - connection to the simulator, calculated by the simulator itself - and the library - - - The regions Unique ID - - - The physical data center the simulator is located - Known values are: - DallasChandlerSF - - - The CPU Class of the simulator - Most full mainland/estate sims appear to be 5, - Homesteads and Openspace appear to be 501 - - - The number of regions sharing the same CPU as this one - "Full Sims" appear to be 1, Homesteads appear to be 4 - - - The billing product name - Known values are: - Mainland / Full Region (Sku: 023)Estate / Full Region (Sku: 024)Estate / Openspace (Sku: 027)Estate / Homestead (Sku: 029)Mainland / Homestead (Sku: 129) (Linden Owned)Mainland / Linden Homes (Sku: 131) - - - The billing product SKU - Known values are: - 023 Mainland / Full Region024 Estate / Full Region027 Estate / Openspace029 Estate / Homestead129 Mainland / Homestead (Linden Owned)131 Linden Homes / Full Region - - - The current sequence number for packets sent to this - simulator. Must be Interlocked before modifying. Only - useful for applications manipulating sequence numbers - - - - A thread-safe dictionary containing avatars in a simulator - - - - - A thread-safe dictionary containing primitives in a simulator - - - - - Provides access to an internal thread-safe dictionary containing parcel - information found in this simulator - - - - Used internally to track sim disconnections - - - Event that is triggered when the simulator successfully - establishes a connection - - - Whether this sim is currently connected or not. Hooked up - to the property Connected - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Sequence numbers of packets we've received - (for duplicate checking) - - - Packets we sent out that need ACKs from the simulator - - - Sequence number for pause/resume - - - Indicates if UDP connection to the sim is fully established - - - - Provides access to an internal thread-safe multidimensional array containing a x,y grid mapped - to each 64x64 parcel's LocalID. - - - - The IP address and port of the server - - - Whether there is a working connection to the simulator or - not - - - Coarse locations of avatars in this simulator - - - AvatarPositions key representing TrackAgent target - - - Indicates if UDP connection to the sim is fully established - - - - Checks simulator parcel map to make sure it has downloaded all data successfully - - true if map is full (contains no 0's) - - - - Called when this Simulator object is being destroyed - - - - - Attempt to connect to this simulator - - Whether to move our agent in to this sim or not - True if the connection succeeded or connection status is - unknown, false if there was a failure - - - - Initiates connection to the simulator - - - - - Disconnect from this simulator - - - - - Instructs the simulator to stop sending update (and possibly other) packets - - - - - Instructs the simulator to resume sending update packets (unpause) - - - - - Retrieve the terrain height at a given coordinate - - Sim X coordinate, valid range is from 0 to 255 - Sim Y coordinate, valid range is from 0 to 255 - The terrain height at the given point if the - lookup was successful, otherwise 0.0f - True if the lookup was successful, otherwise false - - - - Sends a packet - - Packet to be sent - - - - - - - - Returns Simulator Name as a String - - - - - - - - - - - - - - - - - - - - - Sends out pending acknowledgements - - Number of ACKs sent - - - - Resend unacknowledged packets - - - - - - - - - Construct a new instance of the SoundManager class, used for playing and receiving - sound assets - - A reference to the current GridClient instance - - + The event subscribers, null of no subscribers - + + Raises the InventoryObjectUpdated Event + A InventoryObjectUpdatedEventArgs object containing + the data sent from the simulator + + Thread sync lock object - + The event subscribers, null of no subscribers - + + Raises the InventoryObjectRemoved Event + A InventoryObjectRemovedEventArgs object containing + the data sent from the simulator + + Thread sync lock object - + The event subscribers, null of no subscribers - + + Raises the InventoryObjectAdded Event + A InventoryObjectAddedEventArgs object containing + the data sent from the simulator + + Thread sync lock object - - The event subscribers, null of no subscribers + + + Returns the contents of the specified folder + + A folder's UUID + The contents of the folder corresponding to folder + When folder does not exist in the inventory - - Thread sync lock object + + + Updates the state of the InventoryNode and inventory data structure that + is responsible for the InventoryObject. If the item was previously not added to inventory, + it adds the item, and updates structure accordingly. If it was, it updates the + InventoryNode, changing the parent node if item.parentUUID does + not match node.Parent.Data.UUID. + + You can not set the inventory root folder using this method + + The InventoryObject to store - - Raised when the simulator sends us data containing - sound + + + Removes the InventoryObject and all related node data from Inventory. + + The InventoryObject to remove. - + + + Used to find out if Inventory contains the InventoryObject + specified by uuid. + + The UUID to check. + true if inventory contains uuid, false otherwise + + + + Saves the current inventory structure to a cache file + + Name of the cache file to save to + + + + Loads in inventory cache file into the inventory structure. Note only valid to call after login has been successful. + + Name of the cache file to load + The number of inventory items sucessfully reconstructed into the inventory node tree + + Raised when the simulator sends us data containing ... - + Raised when the simulator sends us data containing ... - + Raised when the simulator sends us data containing ... - - Raises the AttachedSound Event - A AttachedSoundEventArgs object containing - the data sent from the simulator - - - Raises the AttachedSoundGainChange Event - A AttachedSoundGainChangeEventArgs object containing - the data sent from the simulator - - - Raises the SoundTrigger Event - A SoundTriggerEventArgs object containing - the data sent from the simulator - - - Raises the PreloadSound Event - A PreloadSoundEventArgs object containing - the data sent from the simulator - - + - Plays a sound in the current region at full volume from avatar position + The root folder of this avatars inventory - UUID of the sound to be played - + - Plays a sound in the current region at full volume + The default shared library folder - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - + - Plays a sound in the current region + The root node of the avatars inventory - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - + - Plays a sound in the specified sim + The root node of the default shared library - UUID of the sound to be played. - UUID of the sound to be played. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 - + - Play a sound asset + By using the bracket operator on this class, the program can get the + InventoryObject designated by the specified uuid. If the value for the corresponding + UUID is null, the call is equivelant to a call to RemoveNodeFor(this[uuid]). + If the value is non-null, it is equivelant to a call to UpdateNodeFor(value), + the uuid parameter is ignored. - UUID of the sound to be played. - handle id for the sim to be played in. - position for the sound to be played at. Normally the avatar. - volume of the sound, from 0.0 to 1.0 + The UUID of the InventoryObject to get or set, ignored if set to non-null value. + The InventoryObject corresponding to uuid. - + + + Holds group information for Avatars such as those you might find in a profile + + + + true of Avatar accepts group notices + + + Groups Key + + + Texture Key for groups insignia + + + Name of the group + + + Powers avatar has in the group + + + Avatars Currently selected title + + + true of Avatar has chosen to list this in their profile + + + + Contains an animation currently being played by an agent + + + + The ID of the animation asset + + + A number to indicate start order of currently playing animations + On Linden Grids this number is unique per region, with OpenSim it is per client + + + + + + + Holds group information on an individual profile pick + + + + + Retrieve friend status notifications, and retrieve avatar names and + profiles + + + + The event subscribers, null of no subscribers + + + Raises the AvatarAnimation Event + An AvatarAnimationEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarAppearance Event + A AvatarAppearanceEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the UUIDNameReply Event + A UUIDNameReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarInterestsReply Event + A AvatarInterestsReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPropertiesReply Event + A AvatarPropertiesReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarGroupsReply Event + A AvatarGroupsReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPickerReply Event + A AvatarPickerReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffectPointAt Event + A ViewerEffectPointAtEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffectLookAt Event + A ViewerEffectLookAtEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ViewerEffect Event + A ViewerEffectEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarPicksReply Event + A AvatarPicksReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the PickInfoReply Event + A PickInfoReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the AvatarClassifiedReply Event + A AvatarClassifiedReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + The event subscribers, null of no subscribers + + + Raises the ClassifiedInfoReply Event + A ClassifiedInfoReplyEventArgs object containing + the data sent from the simulator + + + Thread sync lock object + + + + Represents other avatars + + + + + Tracks the specified avatar on your map + Avatar ID to track + + + + Request a single avatar name + + The avatar key to retrieve a name for + + + + Request a list of avatar names + + The avatar keys to retrieve names for + + + + Start a request for Avatar Properties + + + + + + Search for an avatar (first name, last name) + + The name to search for + An ID to associate with this query + + + + Start a request for Avatar Picks + + UUID of the avatar + + + + Start a request for Avatar Classifieds + + UUID of the avatar + + + + Start a request for details of a specific profile pick + + UUID of the avatar + UUID of the profile pick + + + + Start a request for details of a specific profile classified + + UUID of the avatar + UUID of the profile classified + + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - + Process an incoming packet and raise the appropriate events The sender The EventArgs object containing the packet data - - Provides data for the event - The event occurs when the simulator sends - the sound data which emits from an agents attachment - - The following code example shows the process to subscribe to the event - and a stub to handle the data passed from the simulator - - // Subscribe to the AttachedSound event - Client.Sound.AttachedSound += Sound_AttachedSound; - // process the data raised in the event here - private void Sound_AttachedSound(object sender, AttachedSoundEventArgs e) - { - // ... Process AttachedSoundEventArgs here ... - } - + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + - Construct a new instance of the SoundTriggerEventArgs class + Crossed region handler for message that comes across the EventQueue. Sent to an agent + when the agent crosses a sim border into a new region. - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The volume level - The + The message key + the IMessage object containing the deserialized data sent from the simulator + The which originated the packet - - Simulator where the event originated + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the sound asset id + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the ID of the owner + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the ID of the Object + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the volume level + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Get the + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - Provides data for the event - The event occurs when an attached sound - changes its volume level + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - + + Raised when the simulator sends us data containing + an agents animation playlist + + + Raised when the simulator sends us data containing + the appearance information for an agent + + + Raised when the simulator sends us data containing + agent names/id values + + + Raised when the simulator sends us data containing + the interests listed in an agents profile + + + Raised when the simulator sends us data containing + profile property information for an agent + + + Raised when the simulator sends us data containing + the group membership an agent is a member of + + + Raised when the simulator sends us data containing + name/id pair + + + Raised when the simulator sends us data containing + the objects and effect when an agent is pointing at + + + Raised when the simulator sends us data containing + the objects and effect when an agent is looking at + + + Raised when the simulator sends us data containing + an agents viewer effect information + + + Raised when the simulator sends us data containing + the top picks from an agents profile + + + Raised when the simulator sends us data containing + the Pick details + + + Raised when the simulator sends us data containing + the classified ads an agent has placed + + + Raised when the simulator sends us data containing + the details of a classified ad + + + Provides data for the event + The event occurs when the simulator sends + the animation playlist for an agent + + The following code example uses the and + properties to display the animation playlist of an avatar on the window. + + // subscribe to the event + Client.Avatars.AvatarAnimation += Avatars_AvatarAnimation; + + private void Avatars_AvatarAnimation(object sender, AvatarAnimationEventArgs e) + { + // create a dictionary of "known" animations from the Animations class using System.Reflection + Dictionary<UUID, string> systemAnimations = new Dictionary<UUID, string>(); + Type type = typeof(Animations); + System.Reflection.FieldInfo[] fields = type.GetFields(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Static); + foreach (System.Reflection.FieldInfo field in fields) + { + systemAnimations.Add((UUID)field.GetValue(type), field.Name); + } + + // find out which animations being played are known animations and which are assets + foreach (Animation animation in e.Animations) + { + if (systemAnimations.ContainsKey(animation.AnimationID)) + { + Console.WriteLine("{0} is playing {1} ({2}) sequence {3}", e.AvatarID, + systemAnimations[animation.AnimationID], animation.AnimationSequence); + } + else + { + Console.WriteLine("{0} is playing {1} (Asset) sequence {2}", e.AvatarID, + animation.AnimationID, animation.AnimationSequence); + } + } + } + + + + - Construct a new instance of the AttachedSoundGainChangedEventArgs class + Construct a new instance of the AvatarAnimationEventArgs class - Simulator where the event originated - The ID of the Object - The new volume level + The ID of the agent + The list of animations to start - - Simulator where the event originated + + Get the ID of the agent - - Get the ID of the Object + + Get the list of animations to start - - Get the volume level - - - Provides data for the event - - The event occurs when the simulator forwards - a request made by yourself or another agent to play either an asset sound or a built in sound - Requests to play sounds where the is not one of the built-in - will require sending a request to download the sound asset before it can be played - - - The following code example uses the , - and - properties to display some information on a sound request on the window. - - // subscribe to the event - Client.Sound.SoundTrigger += Sound_SoundTrigger; - // play the pre-defined BELL_TING sound - Client.Sound.SendSoundTrigger(Sounds.BELL_TING); - // handle the response data - private void Sound_SoundTrigger(object sender, SoundTriggerEventArgs e) - { - Console.WriteLine("{0} played the sound {1} at volume {2}", - e.OwnerID, e.SoundID, e.Gain); - } - - - - - Construct a new instance of the SoundTriggerEventArgs class - - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object - The ID of the objects parent - The volume level - The regionhandle - The source position - - - Simulator where the event originated - - - Get the sound asset id - - - Get the ID of the owner - - - Get the ID of the Object - - - Get the ID of the objects parent - - - Get the volume level - - - Get the regionhandle - - - Get the source position - - - Provides data for the event - The event occurs when the simulator sends + + Provides data for the event + The event occurs when the simulator sends the appearance data for an avatar - The following code example uses the and - properties to display the selected shape of an avatar on the window. + The following code example uses the and + properties to display the selected shape of an avatar on the window. - // subscribe to the event - Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; - // handle the data when the event is raised - void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) - { - Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") - } - + // subscribe to the event + Client.Avatars.AvatarAppearance += Avatars_AvatarAppearance; + + // handle the data when the event is raised + void Avatars_AvatarAppearance(object sender, AvatarAppearanceEventArgs e) + { + Console.WriteLine("The Agent {0} is using a {1} shape.", e.AvatarID, (e.VisualParams[31] > 0) : "male" ? "female") + } + + - + - Construct a new instance of the PreloadSoundEventArgs class + Construct a new instance of the AvatarAppearanceEventArgs class - Simulator where the event originated - The sound asset id - The ID of the owner - The ID of the object + The simulator request was from + The ID of the agent + true of the agent is a trial account + The default agent texture + The agents appearance layer textures + The for the agent - - Simulator where the event originated + + Get the Simulator this request is from of the agent - - Get the sound asset id + + Get the ID of the agent - - Get the ID of the owner + + true if the agent is a trial account - - Get the ID of the Object + + Get the default agent texture - + + Get the agents appearance layer textures + + + Get the for the agent + + + Represents the interests from the profile of an agent + + + Get the ID of the agent + + + The properties of an agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the agent + + + Get the ID of the avatar + + - pre-defined built in sounds + - + + OK + + + Transfer completed + + + + + + + + + Unknown error occurred + + + Equivalent to a 404 error + + + Client does not have permission for that resource + + + Unknown status + + + - + + + + + Unknown + + + Virtually all asset transfers use this channel + + + - + + + + + Asset from the asset server + + + Inventory item + + + Estate asset, such as an estate covenant + + + - + + + + + + + + + + + - + + + + + + + + Image file format - + + - + + Number of milliseconds passed since the last transfer + packet was received + + + - + + - - coins - - - cash register bell - - + + - + + - - rubber - - - plastic - - - flesh - - - wood splintering? - - - glass break - - - metal clunk - - - whoosh - - - shake - - + + - - ding - - + + + + + + + + + + + - - - + + Number of milliseconds to wait for a transfer header packet if out of order data was received - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A dictionary containing all pre-defined sounds - - A dictionary containing the pre-defined sounds, - where the key is the sounds ID, and the value is a string - containing a name to identify the purpose of the sound - - - X position of this patch - - - Y position of this patch - - - A 16x16 array of floats holding decompressed layer data - - - - Creates a LayerData packet for compressed land data given a full - simulator heightmap and an array of indices of patches to compress - - A 256 * 256 array of floating point values - specifying the height at each meter in the simulator - Array of indexes in the 16x16 grid of patches - for this simulator. For example if 1 and 17 are specified, patches - x=1,y=0 and x=1,y=1 are sent - - - - - - Add a patch of terrain to a BitPacker - - BitPacker to write the patch to - Heightmap of the simulator, must be a 256 * - 256 float array - X offset of the patch to create, valid values are - from 0 to 15 - Y offset of the patch to create, valid values are - from 0 to 15 - - - - Default constructor - - - - - + The event subscribers. null if no subcribers - - Thread sync lock object - - - Raised when the simulator responds sends - - - Raises the LandPatchReceived event - A LandPatchReceivedEventArgs object containing the + + Raises the XferReceived event + A XferReceivedEventArgs object containing the data returned from the simulator - - Simulator from that sent tha data + + Thread sync lock object - - Sim coordinate of the patch + + The event subscribers. null if no subcribers - - Sim coordinate of the patch + + Raises the AssetUploaded event + A AssetUploadedEventArgs object containing the + data returned from the simulator - - Size of tha patch + + Thread sync lock object - - Heightmap for the patch + + The event subscribers. null if no subcribers - - - The current status of a texture request as it moves through the pipeline or final result of a texture request. - + + Raises the UploadProgress event + A UploadProgressEventArgs object containing the + data returned from the simulator - - The initial state given to a request. Requests in this state - are waiting for an available slot in the pipeline + + Thread sync lock object - - A request that has been added to the pipeline and the request packet - has been sent to the simulator + + The event subscribers. null if no subcribers - - A request that has received one or more packets back from the simulator + + Raises the InitiateDownload event + A InitiateDownloadEventArgs object containing the + data returned from the simulator - - A request that has received all packets back from the simulator + + Thread sync lock object - - A request that has taken longer than - to download OR the initial packet containing the packet information was never received + + The event subscribers. null if no subcribers - - The texture request was aborted by request of the agent + + Raises the ImageReceiveProgress event + A ImageReceiveProgressEventArgs object containing the + data returned from the simulator - - The simulator replied to the request that it was not able to find the requested texture + + Thread sync lock object - - - Texture request download handler, allows a configurable number of download slots which manage multiple - concurrent texture downloads from the - This class makes full use of the internal - system for full texture downloads. + + Texture download cache - - - Default constructor, Instantiates a new copy of the TexturePipeline class - - Reference to the instantiated object - - - - A request task containing information and status of a request as it is processed through the - - - The current which identifies the current status of the request - - - The Unique Request ID, This is also the Asset ID of the texture being requested - - - The slot this request is occupying in the threadpoolSlots array - - - The ImageType of the request. - - - The callback to fire when the request is complete, will include - the and the - object containing the result data - - - If true, indicates the callback will be fired whenever new data is returned from the simulator. - This is used to progressively render textures as portions of the texture are received. - - - An object that maintains the data of an request thats in-process. - - - A dictionary containing all pending and in-process transfer requests where the Key is both the RequestID - and also the Asset Texture ID, and the value is an object containing the current state of the request and also - the asset data as it is being re-assembled - - - Holds the reference to the client object - - - Maximum concurrent texture requests allowed at a time - - - An array of objects used to manage worker request threads - - - An array of worker slots which shows the availablity status of the slot - - - The primary thread which manages the requests. - - - true if the TexturePipeline is currently running - - - A synchronization object used by the primary thread - - - A refresh timer used to increase the priority of stalled requests - - - Current number of pending and in-process transfers - - - - Initialize callbacks required for the TexturePipeline to operate - - - - - Shutdown the TexturePipeline and cleanup any callbacks or transfers - - - - - Request a texture asset from the simulator using the system to - manage the requests and re-assemble the image from the packets received from the simulator - - The of the texture asset to download - The of the texture asset. - Use for most textures, or for baked layer texture assets - A float indicating the requested priority for the transfer. Higher priority values tell the simulator - to prioritize the request before lower valued requests. An image already being transferred using the can have - its priority changed by resending the request with the new priority value - Number of quality layers to discard. - This controls the end marker of the data sent - The packet number to begin the request at. A value of 0 begins the request - from the start of the asset texture - The callback to fire when the image is retrieved. The callback - will contain the result of the request and the texture asset data - If true, the callback will be fired for each chunk of the downloaded image. - The callback asset parameter will contain all previously received chunks of the texture asset starting - from the beginning of the request - - - - Sends the actual request packet to the simulator - - The image to download - Type of the image to download, either a baked - avatar texture or a normal texture - Priority level of the download. Default is - 1,013,000.0f - Number of quality layers to discard. - This controls the end marker of the data sent - Packet number to start the download at. - This controls the start marker of the data sent - Sending a priority of 0 and a discardlevel of -1 aborts - download - - - - Cancel a pending or in process texture request - - The texture assets unique ID - - - - Master Download Thread, Queues up downloads in the threadpool - - - - - The worker thread that sends the request and handles timeouts - - A object containing the request details - - - - Handle responses from the simulator that tell us a texture we have requested is unable to be located - or no longer exists. This will remove the request from the pipeline and free up a slot if one is in use - - The sender - The EventArgs object containing the packet data - - - - Handles the remaining Image data that did not fit in the initial ImageData packet - - The sender - The EventArgs object containing the packet data - - - - Handle the initial ImageDataPacket sent from the simulator - - The sender - The EventArgs object containing the packet data - - - - - - - - Delegate to wrap another delegate and its arguments - - - - - - - - - An instance of DelegateWrapper which calls InvokeWrappedDelegate, - which in turn calls the DynamicInvoke method of the wrapped - delegate - - - - - Callback used to call EndInvoke on the asynchronously - invoked DelegateWrapper - - - - - Executes the specified delegate with the specified arguments - asynchronously on a thread pool thread - - - - - - - - - Invokes the wrapped delegate synchronously - - - - - - - - - Calls EndInvoke on the wrapper and Close on the resulting WaitHandle - to prevent resource leaks - - - - - - - - - - - Initialize the UDP packet handler in server mode - - Port to listening for incoming UDP packets on - - - - Initialize the UDP packet handler in client mode - - Remote UDP server to connect to - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Thrown when a packet could not be successfully deserialized - - - + Default constructor + A reference to the GridClient object - + - Constructor that takes an additional error message + Request an asset download - An error message to attach to this exception + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + The callback to fire when the simulator responds with the asset data - + - The header of a message template packet. Holds packet flags, sequence - number, packet ID, and any ACKs that will be appended at the end of - the packet + Request an asset download + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + The callback to fire when the simulator responds with the asset data - + - Convert the AckList to a byte array, used for packet serializing + Request an asset download - Reference to the target byte array - Beginning position to start writing to in the byte - array, will be updated with the ending position of the ACK list + Asset UUID + Asset type, must be correct for the transfer to succeed + Whether to give this transfer an elevated priority + Source location of the requested asset + UUID of the transaction + The callback to fire when the simulator responds with the asset data + + + + Request an asset download through the almost deprecated Xfer system + + Filename of the asset to request + Whether or not to delete the asset + off the server after it is retrieved + Use large transfer packets or not + UUID of the file to request, if filename is + left empty + Asset type of vFileID, or + AssetType.Unknown if filename is not empty + Sets the FilePath in the request to Cache + (4) if true, otherwise Unknown (0) is used + + + + + + + Use UUID.Zero if you do not have the + asset ID but have all the necessary permissions + The item ID of this asset in the inventory + Use UUID.Zero if you are not requesting an + asset from an object inventory + The owner of this asset + Asset type + Whether to prioritize this asset download or not + + + + + Used to force asset data into the PendingUpload property, ie: for raw terrain uploads + + An AssetUpload object containing the data to upload to the simulator + + + + Request an asset be uploaded to the simulator + + The Object containing the asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Request an asset be uploaded to the simulator + + The of the asset being uploaded + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Request an asset be uploaded to the simulator + + + Asset type to upload this data as + A byte array containing the encoded asset data + If True, the asset once uploaded will be stored on the simulator + in which the client was connected in addition to being stored on the asset server + The of the transfer, can be used to correlate the upload with + events being fired + + + + Initiate an asset upload + + The ID this asset will have if the + upload succeeds + Asset type to upload this data as + Raw asset data to upload + Whether to store this asset on the local + simulator or the grid-wide asset server + The tranaction id for the upload + The transaction ID of this transfer + + + + Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + A float indicating the requested priority for the transfer. Higher priority values tell the simulator + to prioritize the request before lower valued requests. An image already being transferred using the can have + its priority changed by resending the request with the new priority value + Number of quality layers to discard. + This controls the end marker of the data sent. Sending with value -1 combined with priority of 0 cancels an in-progress + transfer. + A bug exists in the Linden Simulator where a -1 will occasionally be sent with a non-zero priority + indicating an off-by-one error. + The packet number to begin the request at. A value of 0 begins the request + from the start of the asset texture + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + Request an image and fire a callback when the request is complete + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + + Request an image and use an inline anonymous method to handle the downloaded texture data + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, delegate(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + Console.WriteLine("Texture {0} ({1} bytes) has been successfully downloaded", + asset.AssetID, + asset.AssetData.Length); + } + } + ); + + Request a texture, decode the texture to a bitmap image and apply it to a imagebox + + Client.Assets.RequestImage(UUID.Parse("c307629f-e3a1-4487-5e88-0d96ac9d4965"), ImageType.Normal, TextureDownloader_OnDownloadFinished); + + private void TextureDownloader_OnDownloadFinished(TextureRequestState state, AssetTexture asset) + { + if(state == TextureRequestState.Finished) + { + ManagedImage imgData; + Image bitmap; + + if (state == TextureRequestState.Finished) + { + OpenJPEG.DecodeToImage(assetTexture.AssetData, out imgData, out bitmap); + picInsignia.Image = bitmap; + } + } + } + + + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + + + + Overload: Request a texture asset from the simulator using the system to + manage the requests and re-assemble the image from the packets received from the simulator + + The of the texture asset to download + The of the texture asset. + Use for most textures, or for baked layer texture assets + The callback to fire when the image is retrieved. The callback + will contain the result of the request and the texture asset data + If true, the callback will be fired for each chunk of the downloaded image. + The callback asset parameter will contain all previously received chunks of the texture asset starting + from the beginning of the request + + + + Cancel a texture request + + The texture assets + + + + Lets TexturePipeline class fire the progress event + + The texture ID currently being downloaded + the number of bytes transferred + the total number of bytes expected + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data + + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - - - - - - - - - - - - - - - - - - - - - - - A block of data in a packet. Packets are composed of one or more blocks, - each block containing one or more fields - - - - Current length of the data in this packet - - - - Create a block from a byte array - - Byte array containing the serialized block - Starting position of the block in the byte array. - This will point to the data after the end of the block when the - call returns - - - - Serialize this block into a byte array - - Byte array to serialize this block into - Starting position in the byte array to serialize to. - This will point to the position directly after the end of the - serialized block when the call returns - - - A generic value, not an actual packet type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Operation to apply when applying color to texture - - - - - Information needed to translate visual param value to RGBA color - - - - - Construct VisualColorParam - - Operation to apply when applying color to texture - Colors - - - - Represents alpha blending and bump infor for a visual parameter - such as sleive length - - - - - Create new alhpa information for a visual param - - Stregth of the alpha to apply - File containing the alpha channel - Skip blending if parameter value is 0 - Use miltiply insted of alpha blending - - - Stregth of the alpha to apply - - - File containing the alpha channel - - - Skip blending if parameter value is 0 - - - Use miltiply insted of alpha blending - - - - A single visual characteristic of an avatar mesh, such as eyebrow height - - - - - Set all the values through the constructor - - Index of this visual param - Internal name - - - - - Displayable label of this characteristic - Displayable label for the minimum value of this characteristic - Displayable label for the maximum value of this characteristic - Default value - Minimum value - Maximum value - Is this param used for creation of bump layer? - Array of param IDs that are drivers for this parameter - Alpha blending/bump info - Color information - - - Index of this visual param - - - Internal name - - - Group ID this parameter belongs to - - - Name of the wearable this parameter belongs to - - - Displayable label of this characteristic - - - Displayable label for the minimum value of this characteristic - - - Displayable label for the maximum value of this characteristic - - - Default value - - - Minimum value - - - Maximum value - - - Is this param used for creation of bump layer? - - - Alpha blending/bump info - - - Color information - - - Array of param IDs that are drivers for this parameter - - - - Holds the Params array of all the avatar appearance parameters - - - - - Base class for all Asset types - - - - - Construct a new Asset object - - - - - Construct a new Asset object - - A unique specific to this asset - A byte array containing the raw asset data - - - A byte array containing the raw asset data - - - True if the asset it only stored on the server temporarily - - - A unique ID - - - The assets unique ID - - - - The "type" of asset, Notecard, Animation, etc - - - - - Regenerates the AssetData byte array from the properties - of the derived class. - - - - - Decodes the AssetData, placing it in appropriate properties of the derived - class. - - True if the asset decoding succeeded, otherwise false - - - - Constants for the archiving module - - - - - The location of the archive control file - - - - - Path for the assets held in an archive - - - - - Path for the prims file - - - - - Path for terrains. Technically these may be assets, but I think it's quite nice to split them out. - - - - - Path for region settings. - - - - - The character the separates the uuid from extension information in an archived asset filename - - - - - Extensions used for asset types in the archive - - - - - Archives assets - - - - - Archive assets - - - - - Archive the assets given to this archiver to the given archive. - - - - - - - Write an assets metadata file to the given archive - - - - - - - Write asset data files to the given archive - - - - - - - Temporary code to do the bare minimum required to read a tar archive for our purposes - - - - - Generate a tar reader which reads from the given stream. - - - - - - - Binary reader for the underlying stream - - - - - Used to trim off null chars - - - - - Used to trim off space chars - - - - - Read the next entry in the tar file. - - - - - - the data for the entry. Returns null if there are no more entries - - - - Read the next 512 byte chunk of data as a tar header. - - A tar header struct. null if we have reached the end of the archive. - - - - Read data following a header - - - - - - - - - Convert octal bytes to a decimal representation - - - - - - - - - - - - - Temporary code to produce a tar archive in tar v7 format - - - - - Binary writer for the underlying stream - - - - - Write a directory entry to the tar archive. We can only handle one path level right now! - - - - - - - Write a file to the tar archive - - - - - - - - - Write a file to the tar archive - - - - - - - - - Finish writing the raw tar archive data to a stream. The stream will be closed on completion. - - - - - Write a particular entry - - - - - - - - - - - Represents an Animation - - - - Default Constructor - - - - Construct an Asset object of type Animation - - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Represents an that represents an avatars body ie: Hair, Etc. - - - - Initializes a new instance of an AssetBodyPart object - - - Initializes a new instance of an AssetBodyPart object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Represents an that can be worn on an avatar - such as a Shirt, Pants, etc. - - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - Type of gesture step - - - - - Base class for gesture steps - - - - - Retururns what kind of gesture step this is - - - - - Describes animation step of a gesture - - - - - If true, this step represents start of animation, otherwise animation stop - - - - - Animation asset - - - - Animation inventory name - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - Sound asset - - - - Sound inventory name - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - Text to output in chat - - - - - Returns what kind of gesture step this is - - - - - Describes sound step of a gesture - - - - - If true in this step we wait for all animations to finish - - - - - If true gesture player should wait for the specified amount of time - - - - - Time in seconds to wait if WaitForAnimation is false - - - - - Returns what kind of gesture step this is - - - - - Describes the final step of a gesture - - - - - Returns what kind of gesture step this is - - - - - Represents a sequence of animations, sounds, and chat actions - - - - - Constructs guesture asset - - - - - Constructs guesture asset - - A unique specific to this asset - A byte array containing the raw asset data - - - - Keyboard key that triggers the gestyre - - - - - Modifier to the trigger key - - - - - String that triggers playing of the gesture sequence - - - - - Text that replaces trigger in chat once gesture is triggered - - - - - Sequence of gesture steps - - - - - Returns asset type - - - - - Encodes gesture asset suitable for uplaod - - - - - Decodes gesture assset into play sequence - - true if the asset data was decoded successfully - - - - Represents a Landmark with RegionID and Position vector - - - - Construct an Asset of type Landmark - - - - Construct an Asset object of type Landmark - - A unique specific to this asset - A byte array containing the raw asset data - - - UUID of the Landmark target region - - - Local position of the target - - - Override the base classes AssetType - - - - Encode the raw contents of a string with the specific Landmark format - - - - - Decode the raw asset data, populating the RegionID and Position - - true if the AssetData was successfully decoded to a UUID and Vector - - - - Represents a string of characters encoded with specific formatting properties - - - - Construct an Asset of type Notecard - - - - Construct an Asset object of type Notecard - - A unique specific to this asset - A byte array containing the raw asset data - - - A text string containing main text of the notecard - - - List of s embedded on the notecard - - - Override the base classes AssetType - - - - Encode the raw contents of a string with the specific Linden Text properties - - - - - Decode the raw asset data including the Linden Text properties - - true if the AssetData was successfully decoded - - - - A linkset asset, containing a parent primitive and zero or more children - - - - Initializes a new instance of an AssetPrim object - - - - Initializes a new instance of an AssetPrim object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Only used internally for XML serialization/deserialization - - - - Override the base classes AssetType - - - - - - - - - - - - - - The deserialized form of a single primitive in a linkset asset - - - - - Represents an AssetScriptBinary object containing the - LSO compiled bytecode of an LSL script - - - - Initializes a new instance of an AssetScriptBinary object - - - Initializes a new instance of an AssetScriptBinary object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - TODO: Encodes a scripts contents into a LSO Bytecode file - - - - - TODO: Decode LSO Bytecode into a string - - true - - - - Represents an LSL Text object containing a string of UTF encoded characters - - - - Initializes a new AssetScriptText object - - - - Initializes a new AssetScriptText object with parameters - - A unique specific to this asset - A byte array containing the raw asset data - - - A string of characters represting the script contents - - - Override the base classes AssetType - - - - Encode a string containing the scripts contents into byte encoded AssetData - - - - - Decode a byte array containing the scripts contents into a string - - true if decoding is successful - - - - Represents a Sound Asset - - - - Initializes a new instance of an AssetSound object - - - Initializes a new instance of an AssetSound object with parameters - A unique specific to this asset - A byte array containing the raw asset data - - - Override the base classes AssetType - - - - TODO: Encodes a sound file - - - - - TODO: Decode a sound file - - true + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - Represents a texture - - - - Initializes a new instance of an AssetTexture object - - - - Initializes a new instance of an AssetTexture object - - A unique specific to this asset - A byte array containing the raw asset data - - - - Initializes a new instance of an AssetTexture object - - A object containing texture data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - A object containing image data + + Process an incoming packet and raise the appropriate events + The sender + The EventArgs object containing the packet data - - - + + Raised when the simulator responds sends - - - + + Raised during upload completes - - Override the base classes AssetType + + Raised during upload with progres update - - - Populates the byte array with a JPEG2000 - encoded image created from the data in + + Fired when the simulator sends an InitiateDownloadPacket, used to download terrain .raw files - - - Decodes the JPEG2000 data in AssetData to the - object - True if the decoding was successful, otherwise false + + Fired when a texture is in the process of being downloaded by the TexturePipeline class - + - Decodes the begin and end byte positions for each quality layer in - the image + Callback used for various asset download requests - - + Transfer information + Downloaded asset, null on fail - + - Represents a Wearable Asset, Clothing, Hair, Skin, Etc + Callback used upon competition of baked texture upload + Asset UUID of the newly uploaded baked texture - - Initializes a new instance of an AssetWearable object - - - Initializes a new instance of an AssetWearable object with parameters - A unique specific to this asset - A byte array containing the raw asset data + + Xfer data - - A string containing the name of the asset + + Upload data - - A string containing a short description of the asset + + Filename used on the simulator - - The Assets WearableType - - - The For-Sale status of the object - - - An Integer representing the purchase price of the asset - - - The of the assets creator - - - The of the assets current owner - - - The of the assets prior owner - - - The of the Group this asset is set to - - - True if the asset is owned by a - - - The Permissions mask of the asset - - - A Dictionary containing Key/Value pairs of the objects parameters - - - A Dictionary containing Key/Value pairs where the Key is the textures Index and the Value is the Textures - - - - Decode an assets byte encoded data to a string - - true if the asset data was decoded successfully - - - - Encode the assets string represantion into a format consumable by the asset server - + + Filename used by the client - - = + + UUID of the image that is in progress - - Number of times we've received an unknown CAPS exception in series. + + Number of bytes received so far - - For exponential backoff on error. + + Image size in bytes @@ -21886,12 +24164,6 @@ in to a single texture, for avatar appearances - - - Default constructor - - Bake type - Final baked texture @@ -21907,23 +24179,11 @@ Bake type - - Final baked texture - - - Component layers - - - Width of the final baked image and scratchpad - - - Height of the final baked image and scratchpad - - - Bake type - - - Is this one of the 3 skin bakes + + + Default constructor + + Bake type @@ -21948,3847 +24208,819 @@ - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if the image is a pure solid color Color of the base of this layer - Fills a baked layer as a solid *appearing* color. The colors are - subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from - compressing it too far since it seems to cause upload failures if + Fills a baked layer as a solid *appearing* color. The colors are + subtly dithered on a 16x16 grid to prevent the JPEG2000 stage from + compressing it too far since it seems to cause upload failures if the image is a pure solid color Red value Green value Blue value - - - Create a new blank image - - width - height - channel flags - - - - - - - - - - Image width - - - - - Image height - - - - - Image channel flags - - - - - Red channel data - - - - - Green channel data - - - - - Blue channel data - - - - - Alpha channel data - - - - - Bump channel data - - - - - Convert the channels in the image. Channels are created or destroyed as required. - - new channel flags - - - - Resize or stretch the image using nearest neighbor (ugly) resampling - - new width - new height - - - - Create a byte array containing 32-bit RGBA data with a bottom-left - origin, suitable for feeding directly into OpenGL - - A byte array containing raw texture data - - - - A Wrapper around openjpeg to encode and decode images to and from byte arrays - - - - - Defines the beginning and ending file positions of a layer in an - LRCP-progression JPEG2000 file - - - - - This structure is used to marshal both encoded and decoded images. - MUST MATCH THE STRUCT IN dotnet.h! - - - - - Information about a single packet in a JPEG2000 stream - - - - Packet start position - - - Packet header end position - - - Packet end position - - - TGA Header size - - - OpenJPEG is not threadsafe, so this object is used to lock - during calls into unmanaged code - - - - Encode a object into a byte array - - The object to encode - true to enable lossless conversion, only useful for small images ie: sculptmaps - A byte array containing the encoded Image object - - - - Encode a object into a byte array - - The object to encode - a byte array of the encoded image - - - - Decode JPEG2000 data to an and - - JPEG2000 encoded data - ManagedImage object to decode to - Image object to decode to - True if the decode succeeds, otherwise false - - - - - - - - - - - - - - - - - - - - - - - - - - Encode a object into a byte array - - The source object to encode - true to enable lossless decoding - A byte array containing the source Bitmap object - - - - Capability to load TGAs to Bitmap - - - - - Interface requirements for Messaging system - - - - - Abstract base for rendering plugins - - - - - Generates a basic mesh structure from a primitive - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a basic mesh structure from a sculpted primitive and - texture - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces, each face containing a mesh and - metadata - - Primitive to generate the mesh from - Level of detail to generate the mesh at - The generated mesh - - - - Generates a series of faces for a sculpted prim, each face - containing a mesh and metadata - - Sculpted primitive to generate the mesh from - Sculpt texture - Level of detail to generate the mesh at - The generated mesh - - - - Apply texture coordinate modifications from a - to a list of vertices - - Vertex list to modify texture coordinates for - Center-point of the face - Face texture parameters - - - - Sent to the client to indicate a teleport request has completed - - - - The of the agent - - - - - - - The simulators handle the agent teleported to - - - A Uri which contains a list of Capabilities the simulator supports - - - Indicates the level of access required - to access the simulator, or the content rating, or the simulators - map status - - - The IP Address of the simulator - - - The UDP Port the simulator will listen for UDP traffic on - - - Status flags indicating the state of the Agent upon arrival, Flying, etc. - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent to the viewer when a neighboring simulator is requesting the agent make a connection to it. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent to the client which indicates a teleport request has failed - and contains some information on why it failed - - - - - - - - A string key of the reason the teleport failed e.g. CouldntTPCloser - Which could be used to look up a value in a dictionary or enum - - - The of the Agent - - - A string human readable message containing the reason - An example: Could not teleport closer to destination - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Contains a list of prim owner information for a specific parcel in a simulator - - - A Simulator will always return at least 1 entry - If agent does not have proper permission the OwnerID will be UUID.Zero - If agent does not have proper permission OR there are no primitives on parcel - the DataBlocksExtended map will not be sent from the simulator - - - - - Prim ownership information for a specified owner on a single parcel - - - - The of the prim owner, - UUID.Zero if agent has no permission to view prim owner information - - - The total number of prims - - - True if the OwnerID is a - - - True if the owner is online - This is no longer used by the LL Simulators - - - The date the most recent prim was rezzed - - - An Array of objects - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - The details of a single parcel in a region, also contains some regionwide globals - - - - Simulator-local ID of this parcel - - - Maximum corner of the axis-aligned bounding box for this - parcel - - - Minimum corner of the axis-aligned bounding box for this - parcel - - - Total parcel land area - - - - - - - Key of authorized buyer - - - Bitmap describing land layout in 4x4m squares across the - entire region - - - - - - - Date land was claimed - - - Appears to always be zero - - - Parcel Description - - - - - - - - - - - Total number of primitives owned by the parcel group on - this parcel - - - Whether the land is deeded to a group or not - - - - - - - Maximum number of primitives this parcel supports - - - The Asset UUID of the Texture which when applied to a - primitive will display the media - - - A URL which points to any Quicktime supported media type - - - A byte, if 0x1 viewer should auto scale media to fit object - - - URL For Music Stream - - - Parcel Name - - - Autoreturn value in minutes for others' objects - - - - - - - Total number of other primitives on this parcel - - - UUID of the owner of this parcel - - - Total number of primitives owned by the parcel owner on - this parcel - - - - - - - How long is pass valid for - - - Price for a temporary pass - - - - - - - - - - - - - - - - - - - True if the region denies access to age unverified users - - - - - - - This field is no longer used - - - The result of a request for parcel properties - - Sale price of the parcel, only useful if ForSale is set - The SalePrice will remain the same after an ownership - transfer (sale), so it can be used to see the purchase price after - a sale if the new owner has not changed it - - - - Number of primitives your avatar is currently - selecting and sitting on in this parcel - - - - - - - - - A number which increments by 1, starting at 0 for each ParcelProperties request. - Can be overriden by specifying the sequenceID with the ParcelPropertiesRequest being sent. - a Negative number indicates the action in has occurred. - - - - Maximum primitives across the entire simulator - - - Total primitives across the entire simulator - - - - - - - Key of parcel snapshot - - - Parcel ownership status - - - Total number of primitives on this parcel - - - - - - - - - - - A description of the media - - - An Integer which represents the height of the media - - - An integer which represents the width of the media - - - A boolean, if true the viewer should loop the media - - - A string which contains the mime type of the media - - - true to obscure (hide) media url - - - true to obscure (hide) music url - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A message sent from the viewer to the simulator to updated a specific parcels settings - - - The of the agent authorized to purchase this - parcel of land or a NULL if the sale is authorized to anyone - - - true to enable auto scaling of the parcel media - - - The category of this parcel used when search is enabled to restrict - search results - - - A string containing the description to set - - - The of the which allows for additional - powers and restrictions. - - - The which specifies how avatars which teleport - to this parcel are handled - - - The LocalID of the parcel to update settings on - - - A string containing the description of the media which can be played - to visitors - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - Base class used for the RemoteParcelRequest message - - - - A message sent from the viewer to the simulator to request information - on a remote parcel - - - - Local sim position of the parcel we are looking up - - - Region handle of the parcel we are looking up - - - Region of the parcel we are looking up - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer in response to a - which will contain parcel information - - - - The grid-wide unique parcel ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing a request for a remote parcel from a viewer, or a response - from the simulator to that request - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to an agent which contains - the groups the agent is in - - - - Group Details specific to the agent - - - true of the agent accepts group notices - - - The agents tier contribution to the group - - - The Groups - - - The of the groups insignia - - - The name of the group - - - The aggregate permissions the agent has in the group for all roles the agent - is assigned - - - An optional block containing additional agent specific information - - - true of the agent allows this group to be - listed in their profile - - - The Agent receiving the message - - - An array containing information - for each the agent is a member of - - - An array containing information - for each the agent is a member of - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator which - specifies the language and permissions for others to detect - the language specified - - - - A string containng the default language - to use for the agent - - - true of others are allowed to - know the language setting - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent from the simulator to an agent when the agent - leaves a group - - - - An object containing the Agents UUID, and the Groups UUID - - - The ID of the Agent leaving the group - - - The GroupID the Agent is leaving - - - - An Array containing the AgentID and GroupID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Asset uploads/results via Capabilities - - - - The request state - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator to request a temporary upload capability - which allows an asset to be uploaded - - - - The Capability URL sent by the simulator to upload the baked texture to - - - - A message sent from the simulator that will inform the agent the upload is complete, - and the UUID of the uploaded asset - - - - The uploaded texture asset ID - - - - A message sent from the viewer to the simulator to request a temporary - capability URI which is used to upload an agents baked appearance textures - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator which indicates the minimum version required for - using voice chat - - - - Major Version Required - - - Minor version required - - - The name of the region sending the version requrements - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer containing the - voice server URI - - - - The Parcel ID which the voice server URI applies - - - The name of the region - - - A uri containing the server/channel information - which the viewer can utilize to participate in voice conversations - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - - - - - - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent by the viewer to the simulator to request a temporary - capability for a script contained with in a Tasks inventory to be updated - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer to indicate - a Tasks scripts status. - - - - The Asset ID of the script - - - True of the script is compiled/ran using the mono interpreter, false indicates it - uses the older less efficient lsl2 interprter - - - The Task containing the scripts - - - true of the script is in a running state - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a gesture - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message request/response which is used to update a notecard contained within - a tasks inventory - - - - The of the Task containing the notecard asset to update - - - The notecard assets contained in the tasks inventory - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A reusable class containing a message sent from the viewer to the simulator to request a temporary uploader capability - which is used to update an asset in an agents inventory - - - - - The Notecard AssetID to replace - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing the request/response used for updating a notecard - contained with an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the simulator to the viewer which indicates - an error occurred while attempting to update a script in an agents or tasks - inventory - - - - true of the script was successfully compiled by the simulator - - - A string containing the error which occured while trying - to update the script - - - A new AssetID assigned to the script - - - - A message sent from the viewer to the simulator - requesting the update of an existing script contained - within a tasks inventory - - - - if true, set the script mode to running - - - The scripts InventoryItem ItemID to update - - - A lowercase string containing either "mono" or "lsl2" which - specifies the script is compiled and ran on the mono runtime, or the older - lsl runtime - - - The tasks which contains the script to update - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - a tasks inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Response from the simulator to notify the viewer the upload is completed, and - the UUID of the script asset and its compiled status - - - - The uploaded texture asset ID - - - true of the script was compiled successfully - - - - A message sent from a viewer to the simulator requesting a temporary uploader capability - used to update a script contained in an agents inventory - - - - The existing asset if of the script in the agents inventory to replace - - - The language of the script - Defaults to lsl version 2, "mono" might be another possible option - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message containing either the request or response used in updating a script inside - an agents inventory - - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class for Map Layers via Capabilities - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent by an agent to the capabilities server to request map layers - - - - - A message sent from the simulator to the viewer which contains an array of map images and their grid coordinates - - - - - An object containing map location details - - - - The Asset ID of the regions tile overlay - - - The grid location of the southern border of the map tile - - - The grid location of the western border of the map tile - - - The grid location of the eastern border of the map tile - - - The grid location of the northern border of the map tile - - - An array containing LayerData items - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Object containing request or response - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - New as of 1.23 RC1, no details yet. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - A string containing the method used - - - - A request sent from an agent to the Simulator to begin a new conference. - Contains a list of Agents which will be included in the conference - - - - An array containing the of the agents invited to this conference - - - The conferences Session ID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A moderation request sent from a conference moderator - Contains an agent and an optional action to take - - - - The Session ID - - - - - - - A list containing Key/Value pairs, known valid values: - key: text value: true/false - allow/disallow specified agents ability to use text in session - key: voice value: true/false - allow/disallow specified agents ability to use voice in session - - "text" or "voice" - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the agent to the simulator which tells the - simulator we've accepted a conference invitation - - - - The conference SessionID - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Key of sender - - - Name of sender - - - Key of destination avatar - - - ID of originating estate - - - Key of originating region - - - Coordinates in originating region - - - Instant message type - - - Group IM session toggle - - - Key of IM session, for Group Messages, the groups UUID - - - Timestamp of the instant message - - - Instant message text - - - Whether this message is held for offline avatars - - - Context specific packed data - - - Is this invitation for voice group/conference chat - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Sent from the simulator to the viewer. - When an agent initially joins a session the AgentUpdatesBlock object will contain a list of session members including - a boolean indicating they can use voice chat in this session, a boolean indicating they are allowed to moderate - this session, and lastly a string which indicates another agent is entering the session with the Transition set to "ENTER" - During the session lifetime updates on individuals are sent. During the update the booleans sent during the initial join are - excluded with the exception of the Transition field. This indicates a new user entering or exiting the session with - the string "ENTER" or "LEAVE" respectively. - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - An EventQueue message sent when the agent is forcibly removed from a chatterbox session - - - - - A string containing the reason the agent was removed - - - - - The ChatterBoxSession's SessionID - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - - A message sent from the viewer to the simulator which - specifies that the user has changed current URL - of the specific media on a prim face - - - - - New URL - - - - - Prim UUID where navigation occured - - - - - Face index - - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Base class used for the ObjectMedia message + + Final baked texture - - - Message used to retrive prim media data - - - - - Prim UUID - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Media version string - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message used to update prim media data - - - - - Prim UUID - - - - - Array of media entries indexed by face number - - - - - Requested operation, either GET or UPDATE - - - - - Serialize object - - Serialized object as OSDMap - - - - Deserialize the message - - An containing the data - - - - Message for setting or getting per face MediaEntry - - - - The request or response details block - - - - Serialize the object - - An containing the objects data - - - - Deserialize the message - - An containing the data - - - Details about object resource usage - - - Object UUID - - - Object name - - - Indicates if object is group owned + + Component layers - - Locatio of the object + + Width of the final baked image and scratchpad - - Object owner + + Height of the final baked image and scratchpad - - Resource usage, keys are resource names, values are resource usage for that specific resource + + Bake type - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - - serialized data - Instance containg deserialized data - - - Details about parcel resource usage - - - Parcel UUID - - - Parcel local ID - - - Parcel name - - - Indicates if parcel is group owned - - - Parcel owner - - - Array of containing per object resource usage - - - - Deserializes object from OSD - - An containing the data - - - - Makes an instance based on deserialized data - - - serialized data - Instance containg deserialized data - - - Resource usage base class, both agent and parcel resource - usage contains summary information - - - Summary of available resources, keys are resource names, - values are resource usage for that specific resource - - - Summary resource usage, keys are resource names, - values are resource usage for that specific resource - - - - Serializes object - - - serialized data - - - - Deserializes object from OSD - - An containing the data - - - Agent resource usage - - - Per attachment point object resource usage - - - - Deserializes object from OSD - - An containing the data + + Is this one of the 3 skin bakes - + - Makes an instance based on deserialized data + Represents a string of characters encoded with specific formatting properties - - serialized data - Instance containg deserialized data - - - Detects which class handles deserialization of this message - - An containing the data - Object capable of decoding this message - - - Request message for parcel resource usage - - - UUID of the parel to request resource usage info - - - - Serializes object - - - serialized data - - - - Deserializes object from OSD - - An containing the data + + A text string containing main text of the notecard - - Response message for parcel resource usage + + List of s embedded on the notecard - - URL where parcel resource usage details can be retrieved + + Construct an Asset of type Notecard - - URL where parcel resource usage summary can be retrieved - - + - Serializes object + Construct an Asset object of type Notecard - - serialized data + A unique specific to this asset + A byte array containing the raw asset data - + - Deserializes object from OSD + Encode the raw contents of a string with the specific Linden Text properties - An containing the data - + - Detects which class handles deserialization of this message + Decode the raw asset data including the Linden Text properties - An containing the data - Object capable of decoding this message - - - Parcel resource usage + true if the AssetData was successfully decoded - - Array of containing per percal resource usage + + Override the base classes AssetType - + - Deserializes object from OSD + Add a custom decoder callback - An containing the data + The key of the field to decode + The custom decode handler - + - Return a decoded capabilities message as a strongly typed object + Remove a custom decoder callback - A string containing the name of the capabilities message key - An to decode - A strongly typed object containing the decoded information from the capabilities message, or null - if no existing Message object exists for the specified event + The key of the field to decode + The custom decode handler - + - Permissions for control of object media + Creates a formatted string containing the values of a Packet + The Packet + A formatted string of values of the nested items in the Packet object - + - Style of cotrols that shold be displayed to the user + Decode an IMessage object into a beautifully formatted string + The IMessage object + Recursion level (used for indenting) + A formatted string containing the names and values of the source object - - - Class representing media data for a single face - - - - Is display of the alternative image enabled - - - Should media auto loop - - - Shoule media be auto played - - - Auto scale media to prim face - - - Should viewer automatically zoom in on the face when clicked - - - Should viewer interpret first click as interaction with the media - or when false should the first click be treated as zoom in commadn - - - Style of controls viewer should display when - viewer media on this face - - - Starting URL for the media - - - Currently navigated URL - - - Media height in pixes - - - Media width in pixels - - - Who can controls the media - - - Who can interact with the media - - - Is URL whitelist enabled - - - Array of URLs that are whitelisted - - + - Serialize to OSD + A custom decoder callback - OSDMap with the serialized data + The key of the object + the data to decode + A string represending the fieldData - + - Deserialize from OSD data + Registers, unregisters, and fires events generated by incoming packets - Serialized OSD data - Deserialized object - - - Particle system specific enumerators, flags and methods. - + + Reference to the GridClient object - + Default constructor + - + - Complete structure for the particle system + Register an event handler + + Use PacketType.Default to fire this event on every + incoming packet + Packet type to register the handler for + Callback to be fired + True if this callback should be ran + asynchronously, false to run it synchronous + + + + Unregister an event handler + + Packet type to unregister the handler for + Callback to be unregistered + + + + Fire the events registered for this packet type + + Incoming packet type + Incoming packet + Simulator this packet was received from + + + + Object that is passed to worker threads in the ThreadPool for + firing packet callbacks - - - Decodes a byte[] array into a ParticleSystem Object - - ParticleSystem object - Start position for BitPacker + + Callback to fire for this packet - + + Reference to the simulator that this packet came from + + + The packet that needs to be processed + + - Particle source pattern + Registers, unregisters, and fires events generated by the Capabilities + event queue - - None + + Reference to the GridClient object - - Drop particles from source position with no force - - - "Explode" particles in all directions - - - Particles shoot across a 2D area - - - Particles shoot across a 3D Cone - - - Inverse of AngleCone (shoot particles everywhere except the 3D cone defined - - - - Particle Data Flags - - - - None - - - Interpolate color and alpha from start to end - - - Interpolate scale from start to end - - - Bounce particles off particle sources Z height - - - velocity of particles is dampened toward the simulators wind - - - Particles follow the source - - - Particles point towards the direction of source's velocity - - - Target of the particles - - - Particles are sent in a straight line - - - Particles emit a glow - - - used for point/grab/touch - - - - Particle Flags Enum - - - - None - - - Acceleration and velocity for particles are - relative to the object rotation - - - Particles use new 'correct' angle parameters - - - Particle Flags - There appears to be more data packed in to this area - for many particle systems. It doesn't appear to be flag values - and serialization breaks unless there is a flag for every - possible bit so it is left as an unsigned integer - - - - pattern of particles - - - A representing the maximimum age (in seconds) particle will be displayed - Maximum value is 30 seconds - - - A representing the number of seconds, - from when the particle source comes into view, - or the particle system's creation, that the object will emits particles; - after this time period no more particles are emitted - - - A in radians that specifies where particles will not be created - - - A in radians that specifies where particles will be created - - - A representing the number of seconds between burts. - - - A representing the number of meters - around the center of the source where particles will be created. - - - A representing in seconds, the minimum speed between bursts of new particles - being emitted - - - A representing in seconds the maximum speed of new particles being emitted. - - - A representing the maximum number of particles emitted per burst - - - A which represents the velocity (speed) from the source which particles are emitted - - - A which represents the Acceleration from the source which particles are emitted - - - The Key of the texture displayed on the particle - - - The Key of the specified target object or avatar particles will follow - - - Flags of particle from - - - Max Age particle system will emit particles for - - - The the particle has at the beginning of its lifecycle - - - The the particle has at the ending of its lifecycle - - - A that represents the starting X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the starting Y size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending X size of the particle - Minimum value is 0, maximum value is 4 - - - A that represents the ending Y size of the particle - Minimum value is 0, maximum value is 4 - - - - Generate byte[] array from particle data - - Byte array - - - - Parameters used to construct a visual representation of a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment point to an avatar - - - - - - - - - - - - - - - - - - - - Information on the flexible properties of a primitive - - - + Default constructor + Reference to the GridClient object - + + Register an new event handler for a capabilities event sent via the EventQueue - - - - + Use String.Empty to fire this event on every CAPS event + Capability event name to register the + handler for + Callback to fire - + + Unregister a previously registered capabilities handler + + Capability event name unregister the + handler for + Callback to unregister + + + + Fire the events registered for this event type synchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Fire the events registered for this event type asynchronously + + Capability name + Decoded event body + Reference to the simulator that + generated this event + + + + Object that is passed to worker threads in the ThreadPool for + firing CAPS callbacks - + + Callback to fire for this packet + + + Name of the CAPS event + + + Strongly typed decoded data + + + Reference to the simulator that generated this event + + + Represends individual HTTP Download request - + + URI of the item to fetch + + + Timout specified in milliseconds + + + Download progress callback + + + Download completed callback + + + Accept the following content type + + + Default constructor + + + Constructor + + + Manages async HTTP downloads with a limit on maximum + concurrent downloads - + + Default constructor + + + Cleanup method + + + Setup http download request + + + Check the queue for pending work + + + Enqueue a new HTPP download + + + Maximum number of parallel downloads from a single endpoint + + + Client certificate + + + Index of TextureEntry slots for avatar appearances - + + Bake layers for avatar appearance - + + Maximum number of concurrent downloads for wearable assets and textures + + + Maximum number of concurrent uploads for baked textures + + + Timeout for fetching inventory listings + + + Timeout for fetching a single wearable, or receiving a single packet response + + + Timeout for fetching a single texture + + + Timeout for uploading a single baked texture + + + Number of times to retry bake upload + + + When changing outfit, kick off rebake after + 20 seconds has passed since the last change + + + Total number of wearables for each avatar + + + Total number of baked textures on each avatar + + + Total number of wearables per bake layer + + + Total number of textures on an avatar, baked or not + + + Mapping between BakeType and AvatarTextureIndex + + + Map of what wearables are included in each bake + + + Magic values to finalize the cache check hashes for each + bake + + + Default avatar texture, used to detect when a custom + texture is not set for a face + + + The event subscribers. null if no subcribers + + + Raises the AgentWearablesReply event + An AgentWearablesReplyEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the CachedBakesReply event + An AgentCachedBakesReplyEventArgs object containing the + data returned from the data server AgentCachedTextureResponse + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the AppearanceSet event + An AppearanceSetEventArgs object indicating if the operatin was successfull + + + Thread sync lock object + + + The event subscribers. null if no subcribers + + + Raises the RebakeAvatarRequested event + An RebakeAvatarTexturesEventArgs object containing the + data returned from the data server + + + Thread sync lock object + + + A cache of wearables currently being worn + + + A cache of textures currently being worn + + + Incrementing serial number for AgentCachedTexture packets + + + Incrementing serial number for AgentSetAppearance packets + + + Indicates whether or not the appearance thread is currently + running, to prevent multiple appearance threads from running + simultaneously + + + Reference to our agent + + + Timer used for delaying rebake on changing outfit - + - - - - - - - - - - - - - Information on the light properties of a primitive + Main appearance thread - + Default constructor + A reference to our agent - + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread - - - - - + + Obsolete method for setting appearance. This function no longer does anything. + Use RequestSetAppearance() to manually start the appearance thread + Unused parameter - + + Starts the appearance setting thread - + + Starts the appearance setting thread + True to force rebaking, otherwise false - + + Ask the server what textures our agent is currently wearing - + + Build hashes out of the texture assetIDs for each baking layer to + ask the simulator whether it has cached copies of each baked texture - + + Returns the AssetID of the asset that is currently being worn in a + given WearableType slot - - + WearableType slot to get the AssetID for + The UUID of the asset being worn in the given slot, or + UUID.Zero if no wearable is attached to the given slot or wearables + have not been downloaded yet - + + Add a wearable to the current outfit and set appearance - - + Wearable to be added to the outfit - + - Information on the sculpt properties of a sculpted primitive + Add a list of wearables to the current outfit and set appearance + List of wearable inventory items to + be added to the outfit - + - Default constructor + Remove a wearable from the current outfit and set appearance + Wearable to be removed from the outfit - + + Removes a list of wearables from the current outfit and set appearance - - - - + List of wearable inventory items to + be removed from the outfit - + - Render inside out (inverts the normals). + Replace the current outfit with a list of wearables and set appearance + List of wearable inventory items that + define a new outfit - + - Render an X axis mirror of the sculpty. + Checks if an inventory item is currently being worn + The inventory item to check against the agent + wearables + The WearableType slot that the item is being worn in, + or WearbleType.Invalid if it is not currently being worn - + - Extended properties to describe an object + Returns a copy of the agents currently worn wearables + A copy of the agents currently worn wearables + Avoid calling this function multiple times as it will make + a copy of all of the wearable data each time - + - Default constructor + Calls either or + depending on the value of + replaceItems + List of wearable inventory items to add + to the outfit or become a new outfit + True to replace existing items with the + new list of items, false to add these items to the existing outfit - + + Adds a list of attachments to our agent + A List containing the attachments to add + If true, tells simulator to remove existing attachment + first - + + Attach an item to our agent at a specific attach point + A to attach + the on the avatar + to attach the item to - + + Attach an item to our agent specifying attachment details + The of the item to attach + The attachments owner + The name of the attachment + The description of the attahment + The to apply when attached + The of the attachment + The on the agent + to attach the item to - + + Detach an item from our agent using an object + An object - + + Detach an item from our agent + The inventory itemID of the item to detach - + + Inform the sim which wearables are part of our current outfit - + + Replaces the Wearables collection with a list of new wearable items + Wearable items to replace the Wearables collection with - + + Calculates base color/tint for a specific wearable + based on its params + All the color info gathered from wearable's VisualParams + passed as list of ColorParamInfo tuples + Base color/tint for the wearable - + + Blocking method to populate the Wearables dictionary + True on success, otherwise false - + + Blocking method to populate the Textures array with cached bakes + True on success, otherwise false - + + Populates textures and visual params from a decoded asset + Wearable to decode - + + Blocking method to download and parse currently worn wearable assets + True on success, otherwise false - + + Get a list of all of the textures that need to be downloaded for a + single bake layer + Bake layer to get texture AssetIDs for + A list of texture AssetIDs to download - + + Helper method to lookup the TextureID for a single layer and add it + to a list if it is not already present + + - + + Blocking method to download all of the textures needed for baking + the given bake layers + A list of layers that need baking + No return value is given because the baking will happen + whether or not all textures are successfully downloaded - + + Blocking method to create and upload baked textures for all of the + missing bakes + True on success, otherwise false - + + Blocking method to create and upload a baked texture for a single + bake layer + Layer to bake + True on success, otherwise false - + + Blocking method to upload a baked texture + Five channel JPEG2000 texture data to upload + UUID of the newly created asset on success, otherwise UUID.Zero - + + Creates a dictionary of visual param values from the downloaded wearables + A dictionary of visual param indices mapping to visual param + values for our agent that can be fed to the Baker class - + + Create an AgentSetAppearance packet from Wearables data and the + Textures array and send it - + + Converts a WearableType to a bodypart or clothing WearableType + A WearableType + AssetType.Bodypart or AssetType.Clothing or AssetType.Unknown - + + Converts a BakeType to the corresponding baked texture slot in AvatarTextureIndex + A BakeType + The AvatarTextureIndex slot that holds the given BakeType - + + Gives the layer number that is used for morph mask + >A BakeType + Which layer number as defined in BakeTypeToTextures is used for morph mask - + - Set the properties that are set in an ObjectPropertiesFamily packet + Converts a BakeType to a list of the texture slots that make up that bake - - that has - been partially filled by an ObjectPropertiesFamily packet + A BakeType + A list of texture slots that are inputs for the given bake - - - Texture animation mode - - - - Disable texture animation - - - Enable texture animation - - - Loop when animating textures - - - Animate in reverse direction - - - Animate forward then reverse - - - Slide texture smoothly instead of frame-stepping - - - Rotate texture instead of using frames - - - Scale texture instead of using frames - - - - A single textured face. Don't instantiate this class yourself, use the - methods in TextureEntry - - - - - Contains the definition for individual faces - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - In the future this will specify whether a webpage is - attached to this face - - - - - - - - - - - - - - Represents all of the texturable faces for an object - - Grid objects have infinite faces, with each face - using the properties of the default face unless set otherwise. So if - you have a TextureEntry with a default texture uuid of X, and face 18 - has a texture UUID of Y, every face would be textured with X except for - face 18 that uses Y. In practice however, primitives utilize a maximum - of nine faces - - - - Constructor that takes a default texture UUID - - Texture UUID to use as the default texture - - - - Constructor that takes a TextureEntryFace for the - default face - - Face to use as the default face - - - - Constructor that creates the TextureEntry class from a byte array - - Byte array containing the TextureEntry field - Starting position of the TextureEntry field in - the byte array - Length of the TextureEntry field, in bytes - - - - - - - - - - - - This will either create a new face if a custom face for the given - index is not defined, or return the custom face for that index if - it already exists - - The index number of the face to create or - retrieve - A TextureEntryFace containing all the properties for that - face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Controls the texture animation of a particular prim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Current version of the media data for the prim - - - - - Array of media entries indexed by face number - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Foliage type for this primitive. Only applicable if this - primitive is foliage - - - Unknown - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Identifies the owner if audio or a particle system is - active - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Uses basic heuristics to estimate the primitive shape - - - - Packs PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters in to signed eight bit values - - Floating point parameter to pack - Signed eight bit value containing the packed parameter - - - - Unpacks PathTwist, PathTwistBegin, PathRadiusOffset, and PathSkew - parameters from signed eight bit integers to floating point values - - Signed eight bit value to unpack - Unpacked floating point value - - - - The type of bump-mapping applied to a face - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The level of shininess applied to a face - - - - - - - - - - - - - - - - - - - - - The texture mapping style used for a face - - - - - - - - - - - - - - - - - - - - - Flags in the TextureEntry block that describe which properties are - set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + Triggered when an AgentWearablesUpdate packet is received, + telling us what our avatar is currently wearing + request. - - - + + Raised when an AgentCachedTextureResponse packet is + received, giving a list of cached bakes that were found on the + simulator + request. - + + Raised when appearance data is sent to the simulator, also indicates + the main appearance thread is finished. + request. - + + Triggered when the simulator requests the agent rebake its appearance. + - + + Returns true if AppearanceManager is busy and trying to set or change appearance will fail - + - Level of Detail mesh + Contains information about a wearable inventory item - - - Constructor for default logging settings - + + Inventory ItemID of the wearable - - Enable logging + + AssetID of the wearable asset - - The folder where any logs will be created + + WearableType of the wearable - - This will be prepended to beginning of each log file + + AssetType of the wearable - - The suffix or extension to be appended to each log file + + Asset data for the wearable - + - 0: NONE - No logging - 1: ERROR - Log errors only - 2: WARNING - Log errors and warnings - 3: INFO - Log errors, warnings and info - 4: DEBUG - Log errors, warnings, info and debug + Data collected from visual params for each wearable + needed for the calculation of the color - - Audio Properties Events are sent after audio capture is started. These events are used to display a microphone VU meter - + - Event for most mundane request reposnses. + Holds a texture assetID and the data needed to bake this layer into + an outfit texture. Used to keep track of currently worn textures + and baking data - - Response to Connector.Create request + + A texture AssetID - - Response to Aux.GetCaptureDevices request + + Asset data for the texture - - Response to Aux.GetRenderDevices request + + Collection of alpha masks that needs applying - - Audio Properties Events are sent after audio capture is started. - These events are used to display a microphone VU meter + + Tint that should be applied to the texture - - Response to Account.Login request + + Contains the Event data returned from the data server from an AgentWearablesRequest - - This event message is sent whenever the login state of the - particular Account has transitioned from one value to another + + Construct a new instance of the AgentWearablesReplyEventArgs class - - - List of audio input devices - + + Contains the Event data returned from the data server from an AgentCachedTextureResponse - - - List of audio output devices - + + Construct a new instance of the AgentCachedBakesReplyEventArgs class - - - Set audio test mode - + + Contains the Event data returned from an AppearanceSetRequest - - - This is used to login a specific user account(s). It may only be called after - Connector initialization has completed successfully - - Handle returned from successful Connector �create� request - User's account name - User's account password - Values may be �AutoAnswer� or �VerifyAnswer� - "" - This is an integer that specifies how often - the daemon will send participant property events while in a channel. If this is not set - the default will be �on state change�, which means that the events will be sent when - the participant starts talking, stops talking, is muted, is unmuted. - The valid values are: - 0 � Never - 5 � 10 times per second - 10 � 5 times per second - 50 � 1 time per second - 100 � on participant state change (this is the default) - false - - - - + - This is used to logout a user session. It should only be called with a valid AccountHandle. - - Handle returned from successful Connector �login� request - - - - - - This is used to get a list of audio devices that can be used for capture (input) of voice. - - - + Triggered when appearance data is sent to the sim and + the main appearance thread is done. + Indicates whether appearance setting was successful - - - This is used to get a list of audio devices that can be used for render (playback) of voice. - + + Indicates whether appearance setting was successful - - - This command is used to select the render device. - - The name of the device as returned by the Aux.GetRenderDevices command. + + Contains the Event data returned from the data server from an RebakeAvatarTextures - + - This command is used to select the capture device. + Triggered when the simulator sends a request for this agent to rebake + its appearance - The name of the device as returned by the Aux.GetCaptureDevices command. + The ID of the Texture Layer to bake - - - This command is used to start the audio capture process which will cause - AuxAudioProperty Events to be raised. These events can be used to display a - microphone VU meter for the currently selected capture device. This command - should not be issued if the user is on a call. - - (unused but required) - - - - - - This command is used to stop the audio capture process. - - - - - - - This command is used to set the mic volume while in the audio tuning process. - Once an acceptable mic level is attained, the application must issue a - connector set mic volume command to have that level be used while on voice - calls. - - the microphone volume (-100 to 100 inclusive) - - - - - - This command is used to set the speaker volume while in the audio tuning - process. Once an acceptable speaker level is attained, the application must - issue a connector set speaker volume command to have that level be used while - on voice calls. - - the speaker volume (-100 to 100 inclusive) - - - - - - This is used to initialize and stop the Connector as a whole. The Connector - Create call must be completed successfully before any other requests are made - (typically during application initialization). The shutdown should be called - when the application is shutting down to gracefully release resources - - A string value indicting the Application name - URL for the management server - LoggingSettings - - - - - - - - Shutdown Connector -- Should be called when the application is shutting down - to gracefully release resources - - Handle returned from successful Connector �create� request - - - - Mute or unmute the microphone - - Handle returned from successful Connector �create� request - true (mute) or false (unmute) - - - - Mute or unmute the speaker - - Handle returned from successful Connector �create� request - true (mute) or false (unmute) - - - - Set microphone volume - - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume - - - - Set local speaker volume - - Handle returned from successful Connector �create� request - The level of the audio, a number between -100 and 100 where - 0 represents �normal� speaking volume - - - - Start up the Voice service. - - - - - Handle miscellaneous request status - - - - - - ///If something goes wrong, we log it. - - - Cleanup oject resources - - - - - Request voice cap when changing regions - - - - - Handle a change in session state - - - - - Close a voice session - - - - - - - Locate a Session context from its handle - - Creates the session context if it does not exist. - - - - Handle completion of main voice cap request. - - - - - - - - - - - Daemon has started so connect to it. - - - - - The daemon TCP connection is open. - - - - - Handle creation of the Connector. - - - - - Handle response to audio output device query - - - - - Handle response to audio input device query - - - - - Set voice channel for new parcel - - - - - Request info from a parcel capability Uri. - - - - - - - Receive parcel voice cap - - - - - - - - - - - Tell Vivox where we are standing - - This has to be called when we move or turn. - - - - Start and stop updating out position. - - - - - - - Starts a thread that keeps the daemon running - - - - - - - - - Stops the daemon and the thread keeping it running - - - - - - - - - - - - - - - Create a Session - Sessions typically represent a connection to a media session with one or more - participants. This is used to generate an �outbound� call to another user or - channel. The specifics depend on the media types involved. A session handle is - required to control the local user functions within the session (or remote - users if the current account has rights to do so). Currently creating a - session automatically connects to the audio media, there is no need to call - Session.Connect at this time, this is reserved for future use. - - Handle returned from successful Connector �create� request - This is the URI of the terminating point of the session (ie who/what is being called) - This is the display name of the entity being called (user or channel) - Only needs to be supplied when the target URI is password protected - This indicates the format of the password as passed in. This can either be - �ClearText� or �SHA1UserName�. If this element does not exist, it is assumed to be �ClearText�. If it is - �SHA1UserName�, the password as passed in is the SHA1 hash of the password and username concatenated together, - then base64 encoded, with the final �=� character stripped off. - - - - - - - - - - Used to accept a call - - SessionHandle such as received from SessionNewEvent - "default" - - - - - - This command is used to start the audio render process, which will then play - the passed in file through the selected audio render device. This command - should not be issued if the user is on a call. - - The fully qualified path to the sound file. - True if the file is to be played continuously and false if it is should be played once. - - - - - - This command is used to stop the audio render process. - - The fully qualified path to the sound file issued in the start render command. - - - - - - This is used to �end� an established session (i.e. hang-up or disconnect). - - Handle returned from successful Session �create� request or a SessionNewEvent - - - - - - Set the combined speaking and listening position in 3D space. - - Handle returned from successful Session �create� request or a SessionNewEvent - Speaking position - Listening position - - - - - - Set User Volume for a particular user. Does not affect how other users hear that user. - - Handle returned from successful Session �create� request or a SessionNewEvent - - - The level of the audio, a number between -100 and 100 where 0 represents �normal� speaking volume - - - - - Positional vector of the users position - - - Velocity vector of the position - - - At Orientation (X axis) of the position - - - Up Orientation (Y axis) of the position - - - Left Orientation (Z axis) of the position - - - - Extract the avatar UUID encoded in a SIP URI - - - - - - - - - Represents a single Voice Session to the Vivox service. - - - - - Close this session. - - - - - Look up an existing Participants in this session - - - - - - - - - - - - - - - - - A callback fired to indicate the status or final state of the requested texture. For progressive - downloads this will fire each time new asset data is returned from the simulator. - - The indicating either Progress for textures not fully downloaded, - or the final result of the request after it has been processed through the TexturePipeline - The object containing the Assets ID, raw data - and other information. For progressive rendering the will contain - the data from the beginning of the file. For failed, aborted and timed out requests it will contain - an empty byte array. + + The ID of the Texture Layer to bake diff --git a/bin/OpenMetaverse.dll b/bin/OpenMetaverse.dll index b9c73b754b3c9ed6e07fcf03d8b68d33ecab5b6b..8f021865e2f9c3b935a3ceb2771d48289ae6a3a1 100644 GIT binary patch literal 1712128 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

8fSSf<}OJkCmx9duU1) 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 Zz~dHp+yakV;BgB)Zh^-w@GqhT{x>*`%z*#^ literal 1768960 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

s?VSFG1fo*X7k>Si>#G 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

?yOBK=gtAc+&N&FyMroo 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 z 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�$|`yu|llUWu;aPw}xR5y9fM=qCOW-NhTx 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�(HV>L$&J3%2wRFOI^pw7!AHiT+A>BJm0vv^c# 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 K`uqPb2mUYDU~nh^ diff --git a/bin/OpenMetaverse.dll.config b/bin/OpenMetaverse.dll.config index dc36a4513f..13fdc11c72 100644 --- a/bin/OpenMetaverse.dll.config +++ b/bin/OpenMetaverse.dll.config @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/bin/OpenMetaverseTypes.XML b/bin/OpenMetaverseTypes.XML index 69e5c1bb26..9b198512db 100644 --- a/bin/OpenMetaverseTypes.XML +++ b/bin/OpenMetaverseTypes.XML @@ -1,239 +1,23 @@ - /home/root/libopenmetaverse/bin/OpenMetaverseTypes + OpenMetaverseTypes - -

- Same as Queue except Dequeue function blocks until there is an object to return. - Note: This class does not need to be synchronized - - - - - Create new BlockingQueue. - - The System.Collections.ICollection to copy elements from - - - - Create new BlockingQueue. - - The initial number of elements that the queue can contain - - - - Create new BlockingQueue. - - - - - Gets flag indicating if queue has been closed. - - - - - BlockingQueue Destructor (Close queue, resume any waiting thread). - - - - - Remove all objects from the Queue. - - - - - Remove all objects from the Queue, resume all dequeue threads. - - - - - Removes and returns the object at the beginning of the Queue. - - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning - Object in queue. - - - - Removes and returns the object at the beginning of the Queue. - - time to wait before returning (in milliseconds) - Object in queue. - - - - Adds an object to the end of the Queue - - Object to put in queue - - - - Open Queue. - - - - - Copy constructor - - Circular queue to copy - - - - An 8-bit color structure including an alpha channel - - - - - - - - - - - - - - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - - - - Returns the raw bytes for this vector - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - A 16 byte array containing R, G, B, and A - - - - Copy constructor - - Color to copy - - - Red - - - Green - - - Blue - - - Alpha - - - A Color4 with zero RGB values and fully opaque (alpha 1.0) - - - A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) - - - - IComparable.CompareTo implementation - - Sorting ends up like this: |--Grayscale--||--Color--|. - Alpha is only used when the colors are otherwise equivalent - - - - Builds a color from a byte array - - Byte array containing a 16 byte color - Beginning position in the byte array - True if the byte array stores inverted values, - otherwise false. For example the color black (fully opaque) inverted - would be 0xFF 0xFF 0xFF 0x00 - True if the alpha value is inverted in - addition to whatever the inverted parameter is. Setting inverted true - and alphaInverted true will flip the alpha value back to non-inverted, - but keep the other color bytes inverted - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Serializes this color into four bytes in a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 4 bytes before the end of the array - True to invert the output (1.0 becomes 0 - instead of 255) - - - - Writes the raw bytes for this color to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Ensures that values are in range 0-1 - - - - - Create an RGB color from a hue, saturation, value combination - - Hue - Saturation - Value - An fully opaque RGB color (alpha is 1.0) - - - - Performs linear interpolation between two colors - - Color to start at - Color to end at - Amount to interpolate - The interpolated color - Attribute class that allows extra attributes to be attached to ENUMs + + Text used when presenting ENUM to user + Default initializer Text used when presenting ENUM to user - - Text used when presenting ENUM to user - The different types of grid assets @@ -255,11 +39,11 @@ Link to a location in world - Collection of textures and parameters that can be + Collection of textures and parameters that can be worn by an avatar - Primitive that can contain textures, sounds, + Primitive that can contain textures, sounds, scripts and more @@ -367,42 +151,34 @@ Notecard - - + Folder - - + an LSL Script - - + - - + - - + - - + - - + - - + @@ -474,780 +250,23 @@ Invalid wearable asset - + - Identifier code for primitive types + Copy constructor + Circular queue to copy - - None + + X value - - A Primitive + + Y value - - A Avatar + + Z value - - Linden grass - - - Linden tree - - - A primitive that acts as the source for a particle stream - - - A Linden tree - - - - Primary parameters for primitives such as Physics Enabled or Phantom - - - - Deprecated - - - Whether physics are enabled for this object - - - - - - - - - - - - - - - - - - - - - - - - - - - Whether this object contains an active touch script - - - - - - - Whether this object can receive payments - - - Whether this object is phantom (no collisions) - - - - - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - Deprecated - - - - - - - - - - - - - - - - - - - Server flag, will not be sent to clients. Specifies that - the object is destroyed when it touches a simulator edge - - - Server flag, will not be sent to clients. Specifies that - the object will be returned to the owner's inventory when it - touches a simulator edge - - - Server flag, will not be sent to clients. - - - Server flag, will not be sent to client. Specifies that - the object is hovering/flying - - - - - - - - - - - - - - - - - - - - Sound flags for sounds attached to primitives - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Material type for a primitive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Used in a helper function to roughly determine prim shape - - - - - Extra parameters for primitives, these flags are for features that have - been added after the original ObjectFlags that has all eight bits - reserved already - - - - Whether this object has flexible parameters - - - Whether this object has light parameters - - - Whether this object is a sculpted prim - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Attachment points for objects on avatar bodies - - - Both InventoryObject and InventoryAttachment types can be attached - - - - Right hand if object was not previously attached - - - Chest - - - Skull - - - Left shoulder - - - Right shoulder - - - Left hand - - - Right hand - - - Left foot - - - Right foot - - - Spine - - - Pelvis - - - Mouth - - - Chin - - - Left ear - - - Right ear - - - Left eyeball - - - Right eyeball - - - Nose - - - Right upper arm - - - Right forearm - - - Left upper arm - - - Left forearm - - - Right hip - - - Right upper leg - - - Right lower leg - - - Left hip - - - Left upper leg - - - Left lower leg - - - Stomach - - - Left pectoral - - - Right pectoral - - - HUD Center position 2 - - - HUD Top-right - - - HUD Top - - - HUD Top-left - - - HUD Center - - - HUD Bottom-left - - - HUD Bottom - - - HUD Bottom-right - - - - Tree foliage types - - - - Pine1 tree - - - Oak tree - - - Tropical Bush1 - - - Palm1 tree - - - Dogwood tree - - - Tropical Bush2 - - - Palm2 tree - - - Cypress1 tree - - - Cypress2 tree - - - Pine2 tree - - - Plumeria - - - Winter pinetree1 - - - Winter Aspen tree - - - Winter pinetree2 - - - Eucalyptus tree - - - Fern - - - Eelgrass - - - Sea Sword - - - Kelp1 plant - - - Beach grass - - - Kelp2 plant - - - - Grass foliage types - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Action associated with clicking on an object - - - - Touch object - - - Sit on object - - - Purchase object or contents - - - Pay the object - - - Open task inventory - - - Play parcel media - - - Open parcel media - - - For thread safety - - - For thread safety - - - - Purges expired objects from the cache. Called automatically by the purge timer. - - - - - A thread-safe lockless queue that supports multiple readers and - multiple writers - - - - - Constructor - - - - - Provides a node container for data in a singly linked list - - - - - Constructor - - - - - Constructor - - - - Pointer to the next node in list - - - The data contained by the node - - - Queue head - - - Queue tail - - - Queue item count - - - Gets the current number of items in the queue. Since this - is a lockless collection this value should be treated as a close - estimate - - - - Enqueue an item - - Item to enqeue - - - - Try to dequeue an item - - Dequeued item if the dequeue was successful - True if an item was successfully deqeued, otherwise false - - - A 4x4 matrix containing all zeroes - - - A 4x4 identity matrix - - - - Convert this matrix to euler rotations - - X euler angle - Y euler angle - Z euler angle - - - - Convert this matrix to a quaternion rotation - - A quaternion representation of this rotation matrix - - - - Construct a matrix from euler rotation values in radians - - X euler angle in radians - Y euler angle in radians - Z euler angle in radians - - - - Get a formatted string representation of the vector - - A string representation of the vector - - - - Provides helper methods for parallelizing loops - - - - - Executes a for loop in which iterations may run in parallel - - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a for loop in which iterations may run in parallel - - The number of concurrent execution threads to run - The loop will be started at this index - The loop will be terminated before this index is reached - Method body to run for each iteration of the loop - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a foreach loop in which iterations may run in parallel - - Object type that the collection wraps - The number of concurrent execution threads to run - An enumerable collection to iterate over - Method body to run for each object in the collection - - - - Executes a series of tasks in parallel - - A series of method bodies to execute - - - - Executes a series of tasks in parallel - - The number of concurrent execution threads to run - A series of method bodies to execute + + W value @@ -1267,21 +286,6 @@ not. If this is true 12 bytes will be read, otherwise 16 bytes will be read. - - X value - - - Y value - - - Z value - - - W value - - - A quaternion with a value of 0,0,0,1 - Normalizes the quaternion @@ -1382,24 +386,8 @@ Raw string representation of the quaternion - - - Determines the appropriate events to set, leaves the locks, and sets the events. - - - - - A routine for lazily creating a event outside the lock (so if errors - happen they are outside the lock and that we don't do much work - while holding a spin lock). If all goes well, reenter the lock and - set 'waitEvent' - - - - - Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. - Before the wait 'numWaiters' is incremented and is restored before leaving this routine. - + + A quaternion with a value of 0,0,0,1 @@ -1407,23 +395,12 @@ http://en.wikipedia.org/wiki/Token_bucket for more information - - - Default constructor - - Parent bucket if this is a child bucket, or - null if this is a root bucket - Maximum size of the bucket in bytes, or - zero if this bucket has no maximum capacity - Rate that the bucket fills, in bytes per - second. If zero, the bucket always remains full - Parent bucket to this bucket, or null if this is a root bucket - Size of the bucket in bytes. If zero, the bucket has + Size of the bucket in bytes. If zero, the bucket has infinite capacity @@ -1436,35 +413,16 @@ Time of the last drip, in system ticks - + - The parent bucket of this bucket, or null if this bucket has no - parent. The parent bucket will limit the aggregate bandwidth of all - of its children buckets + Default constructor - - - - Maximum burst rate in bytes per second. This is the maximum number - of tokens that can accumulate in the bucket at any one time - - - - - The speed limit of this bucket in bytes per second. This is the - number of tokens that are added to the bucket per second - - Tokens are added to the bucket any time - is called, at the granularity of - the system tick interval (typically around 15-22ms) - - - - The number of bytes that can be sent at this moment. This is the - current number of tokens in the bucket - If this bucket has a parent bucket that does not have - enough tokens for a request, will - return false regardless of the content of this bucket + Parent bucket if this is a child bucket, or + null if this is a root bucket + Maximum size of the bucket in bytes, or + zero if this bucket has no maximum capacity + Rate that the bucket fills, in bytes per + second. If zero, the bucket always remains full @@ -1487,223 +445,134 @@ Add tokens to the bucket over time. The number of tokens added each - call depends on the length of time that has passed since the last + call depends on the length of time that has passed since the last call to Drip True if tokens were added to the bucket, otherwise false - + - A 128-bit Universally Unique Identifier, used throughout the Second - Life networking protocol + The parent bucket of this bucket, or null if this bucket has no + parent. The parent bucket will limit the aggregate bandwidth of all + of its children buckets - + - Constructor that takes a string UUID representation - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Constructor that takes a System.Guid object - - A Guid object that contains the unique identifier - to be represented by this UUID - - - - Constructor that takes a byte array containing a UUID - - Byte array containing a 16 byte UUID - Beginning offset in the array - - - - Constructor that takes an unsigned 64-bit unsigned integer to - convert to a UUID - - 64-bit unsigned integer to convert to a UUID - - - - Copy constructor - - UUID to copy - - - The System.Guid object this struct wraps around - - - An UUID with a value of all zeroes - - - A cache of UUID.Zero as a string to optimize a common path - - - - IComparable.CompareTo implementation + Maximum burst rate in bytes per second. This is the maximum number + of tokens that can accumulate in the bucket at any one time - + - Assigns this UUID from 16 bytes out of a byte array + The speed limit of this bucket in bytes per second. This is the + number of tokens that are added to the bucket per second - Byte array containing the UUID to assign this UUID to - Starting position of the UUID in the byte array + Tokens are added to the bucket any time + is called, at the granularity of + the system tick interval (typically around 15-22ms) - + - Returns a copy of the raw bytes for this UUID - - A 16 byte array containing this UUID - - - - Writes the raw bytes for this UUID to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 16 bytes before the end of the array - - - - Calculate an LLCRC (cyclic redundancy check) for this UUID - - The CRC checksum for this UUID - - - - Create a 64-bit integer representation from the second half of this UUID - - An integer created from the last eight bytes of this UUID - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") - - - - Generate a UUID from a string - - A string representation of a UUID, case - insensitive and can either be hyphenated or non-hyphenated - Will contain the parsed UUID if successful, - otherwise null - True if the string was successfully parse, otherwise false - UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) - - - - Combine two UUIDs together by taking the MD5 hash of a byte array - containing both UUIDs - - First UUID to combine - Second UUID to combine - The UUID product of the combination - - - - - - - - - - Return a hash code for this UUID, used by .NET for hash tables - - An integer composed of all the UUID bytes XORed together - - - - Comparison function - - An object to compare to this UUID - True if the object is a UUID and both UUIDs are equal - - - - Comparison function - - UUID to compare to - True if the UUIDs are equal, otherwise false - - - - Get a hyphenated string representation of this UUID - - A string representation of this UUID, lowercase and - with hyphens - 11f8aa9c-b071-4242-836b-13b7abe0d489 - - - - Equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are byte for byte equal, otherwise false - - - - Not equals operator - - First UUID for comparison - Second UUID for comparison - True if the UUIDs are not equal, otherwise true - - - - XOR operator - - First UUID - Second UUID - A UUID that is a XOR combination of the two input UUIDs - - - - String typecasting operator - - A UUID in string form. Case insensitive, - hyphenated or non-hyphenated - A UUID built from the string representation - - - - Operating system + The number of bytes that can be sent at this moment. This is the + current number of tokens in the bucket + If this bucket has a parent bucket that does not have + enough tokens for a request, will + return false regardless of the content of this bucket - - Unknown - - - Microsoft Windows - - - Microsoft Windows CE - - - Linux - - - Apple OSX - - + - Runtime platform + Same as Queue except Dequeue function blocks until there is an object to return. + Note: This class does not need to be synchronized - - .NET runtime + + + Create new BlockingQueue. + + The System.Collections.ICollection to copy elements from - - Mono runtime: http://www.mono-project.com/ + + + Create new BlockingQueue. + + The initial number of elements that the queue can contain + + + + Create new BlockingQueue. + + + + + BlockingQueue Destructor (Close queue, resume any waiting thread). + + + + + Remove all objects from the Queue. + + + + + Remove all objects from the Queue, resume all dequeue threads. + + + + + Removes and returns the object at the beginning of the Queue. + + Object in queue. + + + + Removes and returns the object at the beginning of the Queue. + + time to wait before returning + Object in queue. + + + + Removes and returns the object at the beginning of the Queue. + + time to wait before returning (in milliseconds) + Object in queue. + + + + Adds an object to the end of the Queue + + Object to put in queue + + + + Open Queue. + + + + + Gets flag indicating if queue has been closed. + + + + + Determines the appropriate events to set, leaves the locks, and sets the events. + + + + + A routine for lazily creating a event outside the lock (so if errors + happen they are outside the lock and that we don't do much work + while holding a spin lock). If all goes well, reenter the lock and + set 'waitEvent' + + + + + Waits on 'waitEvent' with a timeout of 'millisceondsTimeout. + Before the wait 'numWaiters' is incremented and is restored before leaving this routine. + Used for converting degrees to radians @@ -1711,145 +580,6 @@ Used for converting radians to degrees - - Provide a single instance of the CultureInfo class to - help parsing in situations where the grid assumes an en-us - culture - - - UNIX epoch in DateTime format - - - Provide a single instance of the MD5 class to avoid making - duplicate copies and handle thread safety - - - Provide a single instance of the SHA-1 class to avoid - making duplicate copies and handle thread safety - - - Provide a single instance of a random number generator - to avoid making duplicate copies and handle thread safety - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Clamp a given value between a range - - Value to clamp - Minimum allowable value - Maximum allowable value - A value inclusively between lower and upper - - - - Round a floating-point value to the nearest integer - - Floating point number to round - Integer - - - - Test if a single precision float is a finite number - - - - - Test if a double precision float is a finite number - - - - - Get the distance between two floating-point values - - First value - Second value - The distance between the two values - - - - Compute the MD5 hash for a byte array - - Byte array to compute the hash for - MD5 hash of the input data - - - - Compute the SHA1 hash for a byte array - - Byte array to compute the hash for - SHA1 hash of the input data - - - - Calculate the SHA1 hash of a given string - - The string to hash - The SHA1 hash as a string - - - - Compute the SHA256 hash for a byte array - - Byte array to compute the hash for - SHA256 hash of the input data - - - - Calculate the SHA256 hash of a given string - - The string to hash - The SHA256 hash as a string - - - - Calculate the MD5 hash of a given string - - The password to hash - An MD5 hash in string format, with $1$ prepended - - - - Calculate the MD5 hash of a given string - - The string to hash - The MD5 hash as a string - - - - Generate a random double precision floating point value - - Random value of type double - - - - Get the current running platform - - Enumeration of the current platform we are running on - - - - Get the current running runtime - - Enumeration of the current runtime we are running on - Convert the first two bytes starting in the byte array in @@ -2135,7 +865,7 @@ Takes an AssetType and returns the string representation - The source + The source The string version of the AssetType @@ -2149,7 +879,7 @@ Convert an InventoryType to a string - The to convert + The to convert A string representation of the source @@ -2163,7 +893,7 @@ Convert a SaleType to a string - The to convert + The to convert A string representation of the source @@ -2238,7 +968,7 @@ Convert a native DateTime object to a UNIX timestamp - A DateTime object you want to convert to a + A DateTime object you want to convert to a timestamp An unsigned integer representing a UNIX timestamp @@ -2269,330 +999,964 @@ Attempts to convert a string representation of a hostname or IP - address to a + address to a + Hostname to convert to an IPAddress Converted IP address object, or null if the conversion failed - + + Provide a single instance of the CultureInfo class to + help parsing in situations where the grid assumes an en-us + culture + + + UNIX epoch in DateTime format + + + Provide a single instance of the MD5 class to avoid making + duplicate copies and handle thread safety + + + Provide a single instance of the SHA-1 class to avoid + making duplicate copies and handle thread safety + + + Provide a single instance of a random number generator + to avoid making duplicate copies and handle thread safety + + - A two-dimensional vector with floating-point values + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Clamp a given value between a range + + Value to clamp + Minimum allowable value + Maximum allowable value + A value inclusively between lower and upper + + + + Round a floating-point value to the nearest integer + + Floating point number to round + Integer + + + + Test if a single precision float is a finite number - - X value - - - Y value - - - A vector with a value of 0,0 - - - A vector with a value of 1,1 - - - A vector with a value of 1,0 - - - A vector with a value of 0,1 - - + - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - Test if this vector is composed of all finite numbers + Test if a double precision float is a finite number - + - IComparable.CompareTo implementation + Get the distance between two floating-point values + + First value + Second value + The distance between the two values + + + + Compute the MD5 hash for a byte array + + Byte array to compute the hash for + MD5 hash of the input data + + + + Compute the SHA1 hash for a byte array + + Byte array to compute the hash for + SHA1 hash of the input data + + + + Calculate the SHA1 hash of a given string + + The string to hash + The SHA1 hash as a string + + + + Compute the SHA256 hash for a byte array + + Byte array to compute the hash for + SHA256 hash of the input data + + + + Calculate the SHA256 hash of a given string + + The string to hash + The SHA256 hash as a string + + + + Calculate the MD5 hash of a given string + + The password to hash + An MD5 hash in string format, with $1$ prepended + + + + Calculate the MD5 hash of a given string + + The string to hash + The MD5 hash as a string + + + + Generate a random double precision floating point value + + Random value of type double + + + + Get the current running platform + + Enumeration of the current platform we are running on + + + + Get the current running runtime + + Enumeration of the current runtime we are running on + + + + Operating system - + + Unknown + + + Microsoft Windows + + + Microsoft Windows CE + + + Linux + + + Apple OSX + + - Builds a vector from a byte array + Runtime platform - Byte array containing two four-byte floats + + + .NET runtime + + + Mono runtime: http://www.mono-project.com/ + + + + An 8-bit color structure including an alpha channel + + + + Red + + + Green + + + Blue + + + Alpha + + + + + + + + + + + + + Builds a color from a byte array + + Byte array containing a 16 byte color Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 - + Returns the raw bytes for this vector - An eight-byte array containing X and Y + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + A 16 byte array containing R, G, B, and A - + - Writes the raw bytes for this vector to a byte array + Copy constructor + + Color to copy + + + + IComparable.CompareTo implementation + + Sorting ends up like this: |--Grayscale--||--Color--|. + Alpha is only used when the colors are otherwise equivalent + + + + Builds a color from a byte array + + Byte array containing a 16 byte color + Beginning position in the byte array + True if the byte array stores inverted values, + otherwise false. For example the color black (fully opaque) inverted + would be 0xFF 0xFF 0xFF 0x00 + True if the alpha value is inverted in + addition to whatever the inverted parameter is. Setting inverted true + and alphaInverted true will flip the alpha value back to non-inverted, + but keep the other color bytes inverted + + + + Writes the raw bytes for this color to a byte array Destination byte array Position in the destination array to start - writing. Must be at least 8 bytes before the end of the array + writing. Must be at least 16 bytes before the end of the array - + - Parse a vector from a string + Serializes this color into four bytes in a byte array - A string representation of a 2D vector, enclosed - in arrow brackets and separated by commas + Destination byte array + Position in the destination array to start + writing. Must be at least 4 bytes before the end of the array + True to invert the output (1.0 becomes 0 + instead of 255) - + - Interpolates between two vectors using a cubic equation + Writes the raw bytes for this color to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Ensures that values are in range 0-1 - + + + Create an RGB color from a hue, saturation, value combination + + Hue + Saturation + Value + An fully opaque RGB color (alpha is 1.0) + + + + Performs linear interpolation between two colors + + Color to start at + Color to end at + Amount to interpolate + The interpolated color + + + A Color4 with zero RGB values and fully opaque (alpha 1.0) + + + A Color4 with full RGB values (1.0) and fully opaque (alpha 1.0) + + + For thread safety + + + For thread safety + + + + Purges expired objects from the cache. Called automatically by the purge timer. + + + + + Provides helper methods for parallelizing loops + + + + + Executes a for loop in which iterations may run in parallel + + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a for loop in which iterations may run in parallel + + The number of concurrent execution threads to run + The loop will be started at this index + The loop will be terminated before this index is reached + Method body to run for each iteration of the loop + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a foreach loop in which iterations may run in parallel + + Object type that the collection wraps + The number of concurrent execution threads to run + An enumerable collection to iterate over + Method body to run for each object in the collection + + + + Executes a series of tasks in parallel + + A series of method bodies to execute + + + + Executes a series of tasks in parallel + + The number of concurrent execution threads to run + A series of method bodies to execute + + + + Convert this matrix to euler rotations + + X euler angle + Y euler angle + Z euler angle + + + + Convert this matrix to a quaternion rotation + + A quaternion representation of this rotation matrix + + + + Construct a matrix from euler rotation values in radians + + X euler angle in radians + Y euler angle in radians + Z euler angle in radians + + Get a formatted string representation of the vector A string representation of the vector - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + A 4x4 matrix containing all zeroes - + + A 4x4 identity matrix + + - A three-dimensional vector with floating-point values + Identifier code for primitive types - + + None + + + A Primitive + + + A Avatar + + + Linden grass + + + Linden tree + + + A primitive that acts as the source for a particle stream + + + A Linden tree + + - Constructor, builds a vector from a byte array - - Byte array containing three four-byte floats - Beginning position in the byte array - - - X value - - - Y value - - - Z value - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value 1,0,0 - - - A unit vector facing left (Y axis), value 0,1,0 - - - A unit vector facing up (Z axis), value 0,0,1 - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation + Primary parameters for primitives such as Physics Enabled or Phantom - + + Deprecated + + + Whether physics are enabled for this object + + + + + + + + + + + + + + + + + + + + + Whether this object contains an active touch script + + + + + + Whether this object can receive payments + + + Whether this object is phantom (no collisions) + + + + + + + + + + + + + + + Deprecated + + + + + + + + + + + + Deprecated + + + + + + + + + + + + + + + Server flag, will not be sent to clients. Specifies that + the object is destroyed when it touches a simulator edge + + + Server flag, will not be sent to clients. Specifies that + the object will be returned to the owner's inventory when it + touches a simulator edge + + + Server flag, will not be sent to clients. + + + Server flag, will not be sent to client. Specifies that + the object is hovering/flying + + + + + + + + + + + + + + - Test if this vector is composed of all finite numbers + Sound flags for sounds attached to primitives - - - Builds a vector from a byte array - - Byte array containing a 12 byte vector - Beginning position in the byte array + + - - - Returns the raw bytes for this vector - - A 12 byte array containing X, Y, and Z + + - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 12 bytes before the end of the array + + - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + + - - - Calculate the rotation between two vectors - - Normalized directional vector (such as 1,0,0 for forward facing) - Normalized target vector + + - + + + + + + + - Interpolates between two vectors using a cubic equation + Material type for a primitive - - - Get a formatted string representation of the vector - - A string representation of the vector + + - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + - + + + + + + + + + + + + + + + + + + + - Cross product between two vectors + Used in a helper function to roughly determine prim shape - + - A three-dimensional vector with doubleing-point values + Extra parameters for primitives, these flags are for features that have + been added after the original ObjectFlags that has all eight bits + reserved already - + + Whether this object has flexible parameters + + + Whether this object has light parameters + + + Whether this object is a sculpted prim + + - Constructor, builds a vector from a byte array - - Byte array containing three eight-byte doubles - Beginning position in the byte array - - - X value - - - Y value - - - Z value - - - A vector with a value of 0,0,0 - - - A vector with a value of 1,1,1 - - - A unit vector facing forward (X axis), value of 1,0,0 - - - A unit vector facing left (Y axis), value of 0,1,0 - - - A unit vector facing up (Z axis), value of 0,0,1 - - - - Test if this vector is equal to another vector, within a given - tolerance range - - Vector to test against - The acceptable magnitude of difference - between the two vectors - True if the magnitude of difference between the two vectors - is less than the given tolerance, otherwise false - - - - IComparable.CompareTo implementation + - + + + + + + + + + + - Test if this vector is composed of all finite numbers + - - - Builds a vector from a byte array - - Byte array containing a 24 byte vector - Beginning position in the byte array + + - - - Returns the raw bytes for this vector - - A 24 byte array containing X, Y, and Z + + - - - Writes the raw bytes for this vector to a byte array - - Destination byte array - Position in the destination array to start - writing. Must be at least 24 bytes before the end of the array + + - - - Parse a vector from a string - - A string representation of a 3D vector, enclosed - in arrow brackets and separated by commas + + - + + + + + + + + + + + + + - Interpolates between two vectors using a cubic equation + - - - Get a formatted string representation of the vector - - A string representation of the vector + + - - - Get a string representation of the vector elements with up to three - decimal digits and separated by spaces only - - Raw string representation of the vector + + - + + + + + + + + + + + + + + + + + + + + + + - Cross product between two vectors + - + + + + + + + + + + + + + + + + + + + + + + + + Attachment points for objects on avatar bodies + + + Both InventoryObject and InventoryAttachment types can be attached + + + + Right hand if object was not previously attached + + + Chest + + + Skull + + + Left shoulder + + + Right shoulder + + + Left hand + + + Right hand + + + Left foot + + + Right foot + + + Spine + + + Pelvis + + + Mouth + + + Chin + + + Left ear + + + Right ear + + + Left eyeball + + + Right eyeball + + + Nose + + + Right upper arm + + + Right forearm + + + Left upper arm + + + Left forearm + + + Right hip + + + Right upper leg + + + Right lower leg + + + Left hip + + + Left upper leg + + + Left lower leg + + + Stomach + + + Left pectoral + + + Right pectoral + + + HUD Center position 2 + + + HUD Top-right + + + HUD Top + + + HUD Top-left + + + HUD Center + + + HUD Bottom-left + + + HUD Bottom + + + HUD Bottom-right + + - Constructor, builds a vector from a byte array + Tree foliage types - Byte array containing four four-byte floats - Beginning position in the byte array + + + Pine1 tree + + + Oak tree + + + Tropical Bush1 + + + Palm1 tree + + + Dogwood tree + + + Tropical Bush2 + + + Palm2 tree + + + Cypress1 tree + + + Cypress2 tree + + + Pine2 tree + + + Plumeria + + + Winter pinetree1 + + + Winter Aspen tree + + + Winter pinetree2 + + + Eucalyptus tree + + + Fern + + + Eelgrass + + + Sea Sword + + + Kelp1 plant + + + Beach grass + + + Kelp2 plant + + + + Grass foliage types + + + + + + + + + + + + + + + + + + + + + + + Action associated with clicking on an object + + + + Touch object + + + Sit on object + + + Purchase object or contents + + + Pay the object + + + Open task inventory + + + Play parcel media + + + Open parcel media X value @@ -2606,23 +1970,12 @@ W value - - A vector with a value of 0,0,0,0 - - - A vector with a value of 1,1,1,1 - - - A vector with a value of 1,0,0,0 - - - A vector with a value of 0,1,0,0 - - - A vector with a value of 0,0,1,0 - - - A vector with a value of 0,0,0,1 + + + Constructor, builds a vector from a byte array + + Byte array containing four four-byte floats + Beginning position in the byte array @@ -2673,5 +2026,577 @@ Raw string representation of the vector + + A vector with a value of 0,0,0,0 + + + A vector with a value of 1,1,1,1 + + + A vector with a value of 1,0,0,0 + + + A vector with a value of 0,1,0,0 + + + A vector with a value of 0,0,1,0 + + + A vector with a value of 0,0,0,1 + + + + A three-dimensional vector with floating-point values + + + + X value + + + Y value + + + Z value + + + + Constructor, builds a vector from a byte array + + Byte array containing three four-byte floats + Beginning position in the byte array + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 12 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 12 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 12 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Calculate the rotation between two vectors + + Normalized directional vector (such as 1,0,0 for forward facing) + Normalized target vector + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + + Cross product between two vectors + + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value 1,0,0 + + + A unit vector facing left (Y axis), value 0,1,0 + + + A unit vector facing up (Z axis), value 0,0,1 + + + + A thread-safe lockless queue that supports multiple readers and + multiple writers + + + + Queue head + + + Queue tail + + + Queue item count + + + + Constructor + + + + + Enqueue an item + + Item to enqeue + + + + Try to dequeue an item + + Dequeued item if the dequeue was successful + True if an item was successfully deqeued, otherwise false + + + Gets the current number of items in the queue. Since this + is a lockless collection this value should be treated as a close + estimate + + + + Provides a node container for data in a singly linked list + + + + Pointer to the next node in list + + + The data contained by the node + + + + Constructor + + + + + Constructor + + + + + A three-dimensional vector with doubleing-point values + + + + X value + + + Y value + + + Z value + + + + Constructor, builds a vector from a byte array + + Byte array containing three eight-byte doubles + Beginning position in the byte array + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + IComparable.CompareTo implementation + + + + + Test if this vector is composed of all finite numbers + + + + + Builds a vector from a byte array + + Byte array containing a 24 byte vector + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + A 24 byte array containing X, Y, and Z + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 24 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 3D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + + Cross product between two vectors + + + + A vector with a value of 0,0,0 + + + A vector with a value of 1,1,1 + + + A unit vector facing forward (X axis), value of 1,0,0 + + + A unit vector facing left (Y axis), value of 0,1,0 + + + A unit vector facing up (Z axis), value of 0,0,1 + + + + A two-dimensional vector with floating-point values + + + + X value + + + Y value + + + + Test if this vector is equal to another vector, within a given + tolerance range + + Vector to test against + The acceptable magnitude of difference + between the two vectors + True if the magnitude of difference between the two vectors + is less than the given tolerance, otherwise false + + + + Test if this vector is composed of all finite numbers + + + + + IComparable.CompareTo implementation + + + + + Builds a vector from a byte array + + Byte array containing two four-byte floats + Beginning position in the byte array + + + + Returns the raw bytes for this vector + + An eight-byte array containing X and Y + + + + Writes the raw bytes for this vector to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 8 bytes before the end of the array + + + + Parse a vector from a string + + A string representation of a 2D vector, enclosed + in arrow brackets and separated by commas + + + + Interpolates between two vectors using a cubic equation + + + + + Get a formatted string representation of the vector + + A string representation of the vector + + + + Get a string representation of the vector elements with up to three + decimal digits and separated by spaces only + + Raw string representation of the vector + + + A vector with a value of 0,0 + + + A vector with a value of 1,1 + + + A vector with a value of 1,0 + + + A vector with a value of 0,1 + + + + A 128-bit Universally Unique Identifier, used throughout the Second + Life networking protocol + + + + The System.Guid object this struct wraps around + + + + Constructor that takes a string UUID representation + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Constructor that takes a System.Guid object + + A Guid object that contains the unique identifier + to be represented by this UUID + + + + Constructor that takes a byte array containing a UUID + + Byte array containing a 16 byte UUID + Beginning offset in the array + + + + Constructor that takes an unsigned 64-bit unsigned integer to + convert to a UUID + + 64-bit unsigned integer to convert to a UUID + + + + Copy constructor + + UUID to copy + + + + IComparable.CompareTo implementation + + + + + Assigns this UUID from 16 bytes out of a byte array + + Byte array containing the UUID to assign this UUID to + Starting position of the UUID in the byte array + + + + Returns a copy of the raw bytes for this UUID + + A 16 byte array containing this UUID + + + + Writes the raw bytes for this UUID to a byte array + + Destination byte array + Position in the destination array to start + writing. Must be at least 16 bytes before the end of the array + + + + Calculate an LLCRC (cyclic redundancy check) for this UUID + + The CRC checksum for this UUID + + + + Create a 64-bit integer representation from the second half of this UUID + + An integer created from the last eight bytes of this UUID + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + UUID.Parse("11f8aa9c-b071-4242-836b-13b7abe0d489") + + + + Generate a UUID from a string + + A string representation of a UUID, case + insensitive and can either be hyphenated or non-hyphenated + Will contain the parsed UUID if successful, + otherwise null + True if the string was successfully parse, otherwise false + UUID.TryParse("11f8aa9c-b071-4242-836b-13b7abe0d489", result) + + + + Combine two UUIDs together by taking the MD5 hash of a byte array + containing both UUIDs + + First UUID to combine + Second UUID to combine + The UUID product of the combination + + + + + + + + + + Return a hash code for this UUID, used by .NET for hash tables + + An integer composed of all the UUID bytes XORed together + + + + Comparison function + + An object to compare to this UUID + True if the object is a UUID and both UUIDs are equal + + + + Comparison function + + UUID to compare to + True if the UUIDs are equal, otherwise false + + + + Get a hyphenated string representation of this UUID + + A string representation of this UUID, lowercase and + with hyphens + 11f8aa9c-b071-4242-836b-13b7abe0d489 + + + + Equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are byte for byte equal, otherwise false + + + + Not equals operator + + First UUID for comparison + Second UUID for comparison + True if the UUIDs are not equal, otherwise true + + + + XOR operator + + First UUID + Second UUID + A UUID that is a XOR combination of the two input UUIDs + + + + String typecasting operator + + A UUID in string form. Case insensitive, + hyphenated or non-hyphenated + A UUID built from the string representation + + + An UUID with a value of all zeroes + + + A cache of UUID.Zero as a string to optimize a common path + diff --git a/bin/OpenMetaverseTypes.dll b/bin/OpenMetaverseTypes.dll index b989bad3f12716ee5d90aeded140aedada4b853d..7ebf45edc89f7188b43a18e1eeed29461dfe2317 100644 GIT binary patch literal 114688 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%0DB{ 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 literal 105984 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

m>Ou8x8zmRAfkr$4I9mQD<}6**^P}ma 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 Q#~33c{l7o|$F;!!13$u`tpET3

!nYK@qwt-C?=F0d@I8c&6+TY*c;OR-PZYkV@V$iZEqq_$lZ5Xl ze6sNUg&!dNK;ct_A0+%>;ZublB7BB46S&k8?G_~F8H!t=ss3O_>lk;0D>ezfpo zgdZ!sAbgf^U-)d{#|fV!{CMFf2tQHyNy1MSev0rjgwGQ`U-$yyX9_<{_(I`l3qM!* zdBV>Zeu3}{g)bI{OqaTfr% zCp;lMDZE^Gh44z@)xv9pcNLx@cdN^hS!OKA?B$SuPlmUFzu+yJ8SU)tIe2qsoTr0= zw`XF$K@VR7hQh^A2pnfG#Ud{g*%O`+j$`X#UoN~tc%|?v;nl)xgm)E=v+UtNB^;k= zA=e477v5cXT6lx-9>SZ1_Y~fnJS}Gey4{gY{JE0VVP5_OoOImkN|u4nRD?tK9iSzO zSOlQ!6tO5k4=G}ifR-y_(SY7n#3BNHtB6GfiuINBSY)8?idb}@H59Q5fJP`{RRC?T zh*bi#w<1;zP*xGE2xyifRu$0cidbbp7b#-Z0bQ$zRS5K$B332PtBP2qKp!e%)dKxP z5vv$zU_U7ls~TviB33!jW{TM6flg~SbuDPIBK85e-KdCt0q6lm>=QuC6tQmreV~Ya z1n37v>?=Usf|?i9JE(a`Oq~DPo@j8mowX3uu2u>|;QODeB_j7DO-q zAar$TJuyWuDymSlLQ$ilZxr=V^e;tCipr7_OD{zYih3(rQ&As9BNa6(8mFkQqN$4d zD=H`&py+%>0~KL49&-f6|JLa7e$*Y+Evjmigr^p zS<&u_W-1z^=oCeJC|as$tRkGA#=MME^su7wig<+v+$Jb`OVLC{Un<&DQM^ig?xiTL zXm3RsMf)h)P|?1Mwox=m(F8^NDVnBevLav6{)%v8DRXv!B3$K4bfBWU6ird|jG}`S zy{+hAMPDhJs^}+0hbXG8mN=&=8lY&pqV*LWs%Tq9GZal!lvOlc(P4^aD>_`!S&DLs zmMY3Cx?RysMNcR?LecArj#TuuqN5afHInP274=qhjG`fmj#V^DQ9;q}ie@P~P?4|b zctx`nEl_lvqKg#GQFN1{;}zYb=mbU2DLPRRK1T3~ouuejMJFr5DUftKMNxl6rz%=c z(P@gdQFOYZF^c9Y+E39Lie@O9r>LN4zM@5n7AU$@(V2?wP;`!>rxcy52zT2vpXVw1 zR?+#2Rw}wcQDryrd7+{@MT-@+D7r||U`0z5ZK&vCMcXL4M9~;Umnxd3=rTpVqRSP{ zRkT#m`HHSkbe*EB6y2-n8bwbjx>nJfimp@ig`yi2{h;VZMYvvz^>ULUTs%+o2Sw{D zx>?cIif&OfUeO;F9ir$~MY9y$rf7kp+ZA1==ue7nRdk1<#}wVE=v75`Df&{;-HLuy zbdMseE@ZCnRn%Y6eTvpobibm_6+NJ6XGISx+E39#it>scRy0S^BZ?L&dQ{P+iXKyR zqoT(Z-L2>eMb9dFQqen#o>KIKqNf#A)=7z;QM87lXBBO#=s88(D|%iLu8C(&{8`Z< zie6AOOVKh#3lzPm=rTpi72T=mB}GpwdRft1ie6FlrJ`3A#p@;Y*A%4{y{-t03z)Mv z6m6*JO+~vZdP~v%iau0ygrbiWovP?_MHediLebTVzEpIZqOTM^r05$(&nx;?(VL3? zuIR6dzEkv_qJJpr(p}2%y`nlr|5P+k(Z3W8RrG_REfxK!Xjer)D>_)wFN%&(v{KQj zihfmep&|#b(wG@vt*DElyA-*Ko>3H2^tPh7qQ5IDQ&f?b5_yXHDx%5?DGXCY)fLcI zim1W@8mEY=ET9>RsL}$Oqll_4phb$P;sUx-QH`QI6j9{`H{4Cb7DCk*(3^^=0t5O& z5mjM8D-}^C2Gp%V!cjE_)K5`&Me8a`E81F7gCbo0$MmQ=L%6J>9*T}v)JxF?il|b9 z&zludwFdOCBC6PcURTtj=rcuq75%KJpQ4&ZNxi?Ko{9!28mefZqRkWyQZ!Z(Rdh%% zr--ULpwksmWe0STBC76yZc?_JDp>L=_)Us)yuyJw@0{ z%^F-^(RzwDP_((C5sJnrqAC!vOi@IYAW&Y>#)?i>L=_?2&R0ZLA<%V-s4@h)L(xb@ zk186a=oLkqEBdRVEfjsHXiG(1nxqU=F(S@7MLQ{KQACv^+y*P6>Jex&MSCdPRnb^Q z`zso!=mDswyOv|J2(Sv9 zaAX}^UCia$x_AaFJiLYpW8xKUF79Ziows0WZ1jYN37Mm@j1c}K>lvwh-U2H%*M+8a z_ybtk2xl&zBX9&|g1aXkR@DbRAz+n|p@-++Du;Y@DvQvHnP%qFR5Z2~7 z8-lh3@wo5tpvj==pd&$ZKyyLofOvSywV+!;_kpl=$yo+^6U3v{amb7FFOZAXNmZaU z2zpH{NyVcC@q}8O2J7I&O9$t2IM@k?&D@T2Ea)WA0?-AZrJx%@cYq!OJp+0fv;y=A z=x?B(K^|5Hbpthl27uNA4F_!w+5t2cGzoMFXeMYj=rmAJXMwp0c1u84gKh!c19}Yf zXVB}Q4?tglc#c0mj8uT?L480xFpu#JHRi@Jw+8KE@I;unm)e;DIvR8WXddW1&}E?O zLAQe*06hg-4&u(Kk3rvnegws_s-_0i2RbZCidE-U(0!mMK+8aHf|%wJ3$?6Q*y9v#ewG9c^R|<^a<#1 zpr1k5xnawVO%)EdKR5$G*i7JH@xQY<2n*^REMs>jfer!91O;_88}exeFM_!QbT#M} z&^@5XKz{}W{$Gdu0q6^3_dQIf0{=nvpgy1sXeel75H!oqE})5^13*DMt1@T6&(WRu zI{|j{K+rKemw~Pa-41#H^b}}0=xxx)AjbU-%pWP^OJ)tI5!4UV4q6{H5;Ph#2DA_8 zU{DUku(M!7^Xr@iS`4}p^as#gphrN@fnEi@2l@>39cU#eS%r29>IE7E!X51nw6@Nc zpq)VDL6bq#L8awC5_WSyb3x~TE&*K&x)nsf_ZjmEn9D$Kf<6L46YKm76)Xbd{Cvw9?a7ddo_Gvr;+L{E~wfD-E^MmR1^TrGu?> zl9d)(=@Kj5Vx{}7^n#V%w~|Y>yyO5!i5qERJoZl&2)I@d}|t#r4Q zp0&~kR{G9LIEBgNrN&BWEA_Y1+E&`cN~5hb&Pp?^G{;Kwt+d!mH(KcdD?MwacdYca zm43ET4b|oPEUmPGmA13eo>n^4O2=7gp_Q(%(x0sKq?O*V(l=IesovISX{A9{!p0us zx|Nl7v(f=pI?_rfTIpOXEw$3kR=Uqhf40(lR{GgWHB@9v{#vax%1S#~X-_L1YNg|> zw9radSm_=sJ!hpAR{F+D396bU2R*FRW~EK6G{#C(taP-M=2~fqm9DeW9aehOO3SSD zj+H*M(m$;fr{Y-hm$p*IO6yr^8!L^m(ljd_ZKb(ZT4JT^taPuHp10DwR{Gvb)l>yb zt_E0XeJgEirHNKL+)5`}>0B#aW2L*TgsZ$w8t+)?Yb$l3T32#VXQhEw+Q3TNSqVA; z6C!7&ldN=+m2S1tV^(_0N?%&(S1YBctd+djmTW_T{D-E~OR#qBkrKwgr(n_aUX|a`Vw9?&HdcsPtTj?_^{nJWus!Jt* zX)E=&(%M$q+)87tG{s6sTWPM9mRRXFD?MYSx2^P*mCC3DmAo`qX-z9_WF?#(Yy9nN zr6a9$nw2iK(j8WM-bx=?$)Vy>(yg`904uF;r5&v_(Mr>;bfT5cwbG4NdcaD{tn`kR zzP8fOR;r=8QF7JON*ODyXQgedG{H*KtmIp1u9eQW(v?=a!%B}@=@lz|VWl6e)Q!qR z$zN|P4YATFEA4KjNmj~P=_D(iXQgYcbdQx@w9*PI;Q}g?gI}!Fl`2NbRbML&v(i>p z8fT@cRyxv3CsGQuhqx3qvJ@AuUvhmyf0%G2;tJNOpjK$K@-Vr2^;Clw z!W@oUAoT_A44d4=R=U|r4_oOaEB(bvKU=Aes{*CKEmj(Ar46mLgOw&&X^NHdl!5|# zDd=47a$Xh~r+WUbLPrbC!g6`;RiK+e+|c?c=y}jl;J{E$<=yR+MH6;d{ji2xAK3{7sErUB2~Eb=K0JiZx6l>Hu+_U zwax>=Cf16&L|a2Dk;Nmfs7t22R5Al)otJ$D7}h_)82p}>%-)TFDKGm5a9gh+>hi#$ zTm#WHg`*DYDpQrIiUm_Q8~^LCzw(58E#hn>hyDJptdWQMI^|*-hWzworjCPSg_oHF zBXc)(B2D=(;CL+W>1{?$V`FkEa|I5`!kKKdP~C3sdT_ZdI-NZpp(+zRVzIs|kvRcq z=BaoDRi@4=({)wDpJSa>rm7ZK$I7KRa_ra$w*7LcIk~}E>h7?>2ah6~iC)6Wi)XRl zm-WV)y9N#!Xtyh7UWt9Hb%}IcvTZ=BES1b&%OC?7q&$^KB~#_Nj1U_Yy`?FfiGUhT zn$SaEEKj0>PevSVYjsF39f_v`9xHICG-DC}DV!EjSCy(tRicX5L>0@$-N{xtXBS&C zoqsfSiD6vm!t)Ec@%RhWT}-N_BBrgVI$c*Y{2dH+sp?eC;z~CWsgZ|Zosb%-N-ld9 z(a0(D!v+VQSSi_0z;LAPDXfxs!b`>H(Whi@_;DOUm(8~!hja+ZwwQSg53|lgSZ^Nv zYS=9#EW3%O+CPCa^E7jkE>fv@QM!@(uM_|0uGatZd30C*IMNMyTe@2R2hXFs`oB&5 z&$a%0m*fYHqe6Y2E z|2#UY_n$Z*EStAV@2p3;%UQj%b0n8Rb84!+H1@14 zE`g_;m`8sSuI=FDvQeuGbSj%u5`mKQ=uZO;OD@BAL6fmT9aH*+DU~Bo`8@iQK&cvZ zk(yLZsv2FS5tpIIvZpcbuIajN!|^0=Cw8ja;<^eqRS{|Vc+8Hqk>>U(hd%7tlR|ht?hxb`pH5TF7`)xW_LVqj5c|2k@fA3nq#iaqz$UTS*vXkAO+!Dy zNhdMu4eE9BYDa4Sb_!PJHcICB#RvD9b(01G(_=N$N9 zxin6mm2(yIC^<4G#^6e|`m$IVzKr8IL-V=3Cf==!Rs*h#zn&qa26$BklV32kX{~|L z{G=<|aLfyxy!>#$K^bB` zD^l|nFZ-Y6%S08)S4<8|`3mj#-)ax0TJec3-aa4#u&o7gZOH8h{YepR|! zJtu2pnJcBT`MiO$HvpyU;%yCDhpG7Dz!nP<#&bH*H1wlLO6`3jfXUW`F<*_i@C(fT z8FOl3evR@q%*X7yXN8w`v$w!~sn=T3#Ex+z01j6Y6KzWBnqhn5_j((cFSAX_fj$*D zEy-Ibq8uT`vy040KR7T-&NLDzrz-JSpYi^VDBX(0p!`xKa%?asz#$r&ISI}Q#<~Ui z;Big!(Sh|0s@9t3s?}tS`Faug`UYkCkMp$?TbE?k9Al-$s?+1EY{BaE@T#zAb!a*` zxJnDRa~O%9US%RFr=RjL64qO)A`%H}FIB0LU`I=|hEOT^W#iw|Piq~0?-rQb;yQ8* zOuW>NaTVL)L2{0ZA3YgAw2kiyZ)SWmmb9xW@M21ipdq!n68*HAyQwF zKKJkRdz?(BArrN(>GzBjNcw#=)>U+C24uHRpgvdEr)!!A{6^n79JTyk_37P^b9WX# zDoR_!iW>IY=5FK1xU=v{zSJ_(`@^<9b*i@Qm2QEt6}Q zO8%bjf#`~V&&R^1`1c&g2Eq3Ks-f74l>j(v>fnHiKP=x)rT>2C2d97m`> z7aj8G{Req8(MIwZcm9s_!{7Hv`{2aI%=x6~MRUHOriQ*B?VSJJPd(EPe$i`Z>OXYDgSOp5)Tv1hzH*R!c zj(&0&U;C&C;9O!I#SL=gVUZhWGcuJi6PfbbxF#0udR0mBQdg!yQ)RgLM`t^%0zw(~ z_?XgloZ>@ck@70r*3ojB-dabU#Q0SC_*8s+%Pny%%4x-nzMK<#gv6U!!}v<^VVs9l z;{1E9&!Kl12h9g=179!|Z%$?DR7E;fnZXK6TzhdA>La~Q6|E}L3!A^*cli>kvG82r zH3@(mbq{iss;I4$OiS0GYHIw@55<5ICZ1lWTRCEZMkg+jqk28Or!7PZJo-{IwOJis zo3e{w$@vw3mxJG^<~7m$$D?lAE8(5Of~lA@u5u*j-CQVyneUH-e-5FMp;$Ve=Ysr($A%h|=#~Gu{RoZ52!PFpIfuCsZaIRg4+-1%SEmu2pti5 z^wdc9*GNWZy5S|lKL7~7YdGQBJh5K%+RH@To1k|XaUbG7k%*gV(X0_;4Q24eT4>#3 zBI!%eH;kkoalc3;{b|u(BbgFLGJw_tOeC0mj7bd)BN;?IC=$sUv{*wUIjE?J2SZKB8mJQJEMA;ff~kQ^jlH_GIdBX{I2sbV*a@Wc1q5L&evH1A9#U% ztkjNOrqqr-pwx~Hy3~&Cv(%2wt<;WX&mn)gjG*zu>pjEo38z{y7Jl1e1RybD*Z* z`P(|xQT^-K3=Y}^k@B0Q$*FC4I zx=y984#)J@BA$Y>>2JU#$R^`z98y${tMoAw`!_<0WGWDKag}=;f^3|ZfqouiU*u~| zK;&X9Bk}l=0-EFG%?4YhR;pO)eK(xA};cSd6^<1pjWHXayaOWlViu z2}oN$tfs0_k9HY8hd=H(&f(!Fj?L((@kyW)0fmkNlFk`>z8>shBMsg9#ETue;i7%$ zMs@WW`;Ar9tV+W)pdbrmq|q=fbWg@!M;yU@gAU%F`UZaVFpJs2Fbh{a%wkv=W^tQ7 zut3j42jhC$`Se^|PkS;!(s~+T9qMT}>}dNpEZF{L7(BS4dK$ z)U8~7tqLrlp2j`rdfKZ|PXmDKX}Fr}A54rT^)&o2sGf%YR&vcRt*0sdQ1vw1^`xE#7<6Pr=T(?G1MRe)##DSg4b5Ub&2h6Q*VBS% zo9k(~r?sAjevVU5b8?zsJ&idUtDeS8>3Z6_%?GxGm?^}VqrC6GfMkLkM@0@((}t)N znETtq4r71&9#abv6&3;#1+=kZtMkp9H&C#68d0*r0v8Atrh2-7aM2-tRD|zCS&YZxY#BCJPGXa=zk##xe^5&B+h}4RIRlJwo1EQIA62T1TxV)#CLY zPoZb=m*lWF>KMmvl*h5CK6E5v8aOij+u#!HnEoAc30_cN)O9%=vYE#?)Qld&Y*Jkl zHT|K=f2INhKDPx6z5ynDqMP%Q$ET0^JQqlPo(rVD0i>=$wy|RB%fx%gc{{$J5rar! z9u@?B&Rc=g&;qNzwR`g63yFoqzD@m%67ZQhP+4o3doAa~LPyzapc4UwjsjBMeSM?* zjqC0gwQ?zWt*X1r1Dc$*Yvil2>l=~(d=_D~E)^H-QlBdzTnuojcCE`t3Ey>84=lM) zptU{<7m-8cQV07_`y^+GvNA?imxMx>TVY~X$2^;`xmt-^XmZxlb1W&;U}&ZZOHKUz z4LV|(z(vGF@jZXw1HmuTl4~0;v1iVVO>llc~V;*Z6yH zRuraUsRO&^*7L2g^F0`Ozz^JwcntISw25E&>F0-*o3VWXLDEqOU_1&z{h?3z@aKHD z%;_J{(RUv(z<1M05VK3*()90xORz{o6Y!AwZ5)T3`)%a%wDO+UVvORqLEO7)karEG zhGZIG2!j9?4i8kW#6SfA9;o1Iu208WqyrWFkPlRd=QtLie|aoG|1OgL$=pA9_K^TQ zyT)|15CC)o&pdD$j%SC~4_qwI(^Gp>oiMBgXw)$^lCiQ$Mlyg+b|eE%WF%uM$VFPR zPJn6paSfWqagF0`gmKN)B%58bP9TVV%}VYpCuGf|96aGiIsAxk;uWWh2q1)U20c!Q z6CCs~M`I0on5piAo_Nedr#x8y9gTTjlmkO3kyxz8Jc2~UVp9te1sozDcySvGevF~= z0eL`^v-!Z$WaBo^KbE}S#e~)-1i0XY;1U7hfm~FA;-Qjf z2#6tOgS?G>xQJr5y*n9qfirtIE~2|ROW@qXJ}HTXPc$U2@H1*Iqp*p_rG(EV8ZN6~ zBxF38a`Z^t%GHpq$kJ7;<$Y;D;uf$j?PQRfZF(8C{3M%$y}SUs%)^)qNP*@oeWHW6 zVa0%pSPbX;+;Dv#K876PLQP$uJMKYeFq^3zMqO?z62y_!%3ThQ}QbPgTP zqVw}lh=ot2wp~-{^+KtqrS8_fusR|wvI^lZM14L8vVQ2EemI@NB_8y4>S{?W61oxxZ z_IjdZV;e5oqZal`e4TXt_cms|E@#o2ZL&@fXsylSB6h#QWw1{jX0ZDP!sgtv3r!ZA z40F9(b}=c$APGu{L01xzAXc9reCbPJta}0V7kPlGrN2s=mZbB=EIzm?+fmjQwtIWv_8qtY21K((p!m=^+~wkHhgfYCXXblwV82Be^ zppb)pg8UxO35opF8`FM|UlIHsu6PcGVIe)^HvAsMftL~dUU(O#f?(ppAHQv2w-WKP z(O#AB0e18e*p&xGEwHA(AfMj67JGW$NjEwF>8gM4B1l^O0}NFe+OvXfyzi#wN-5l+ zNI?!61<>K-?hsqW zrck1XM58dX53CGbOuek=?Et%U|-UVu#Q6T?AA@(B*hGO zIuXf@+rF!wWh=w8b9fd_I#?k*OVYuq31W`Xvurzfb|s#*2C-5-OS**vWyHv~eOF6k zvua>}+1{$V*s9iZb0(jp162N(-siIKRST-pTy?f@!0%PtPnDS$7v>l3*++DgkK4DV zv}|E59kjEfw^r|4o2Mq7!9ydDg;mf&dxze)<}~tyy*axL4zETk*z4@g>tb~4fQ|-k z3#*Ih_)Ty7U~i>Ghqoo@_O|Huj?wK6bW{skSW`sDFCV+=>~1{XRkz;ms_S7_-TK8| z&n6FHR~>=Y%dWchy&kl;*IVUx)v>&K>o@eGU3IH?SKTVOSO3&%dWytCd+}H-$y0N^ z)p!d3BklE1t)Zu=_w*F^K6z?oZw;Qp|447$4nBHV@8DbSckuD+IcCLQufIOn$1(p+ zXSoEGKjtUYbo=|-Cd4V9i08!LOK%5BkjmXv-Y0pws)5S`D#2?lxhM3l8J3%W7zOww}vkfr6QL&bCY=wCUHy-4g<@>uZf z5;RkRXV6|`_}gp2mcHYd~d#P`sBTvYkI#+Zmyr2qt_E12%LHBPXnp-Gen`F)T{XV(5fZV|nH* z20zX9=_6Wc7K0zMEGDuMB7jbV0KW((@O}^gfQyT`n(u!W1d`$+ekm3g^IQpXq&Hot z`O%4;EJw+eARC`6K{h&9YLpFUOT)<~$(C#~CjKLn4HFnvHjacU07_1Vdi0-sU9Qo- zR8D5!bdr;?V$dmFp-P9h(qv~Nrf%UZB%Ec$#}t8MYT42ReKu0H=6lm9Wzf--%pJ0~ z864V(CLMDsPe}<`?%Vdg@FY6HXFkp1NvmnI;YnY?R|+0 zEA=os<{C=0t~c-NVcfyq+70WXde}VI!|2efSsaedPoav&^)T*7^3+_R zbJ+)wYy2XiwfQJ6IQjgNfN(J&`NW!=dy@bAKN~;4Ko2A`v0*A%a|2Q~$-zY-Kjh@o zKFOJ-PXS%x7?#Vpgwdve|7g)-Zi$@A_TFqLrlBL2ATA07WipCms!J<9Q8&dCh@$+3 zBTlhK=gWlAC9iIsC?i21Xql%+f{xJQ%z#9WrvZ|$5R#C*>h+h$l5Fu$&wYQ2;wX^zMt!$FqkwrPldLB5D3ZAJT7imd7k7@dP9-75^p5tv#uIB}@Bd9Nqt^4jMk0aR?VLZ!11i`JlRtfZ zSbFk+rf2gfKM#oY$=@WjHh;oJd$NRF=_>L+f3dmJH*$VLybY-f(2|&#P$6|0F<1H* zLQ83jn;QHUwX&%}A1g1ve9E3*k2#aD-dOlo;?cPWiv#%ruDFKAuuwzeHu43q18%~~ zI8%Wsz|{O-X}$5k(rqCwe_OTSV_UvsakGwb_htj)?k^B*!G-Dn8kb-pS#SJ9g6FlT zvG+iLsE@ZG>l)PYczz4?^LQBcKmd^sf&{Fr9(Byo~_X({V8o2?PB`$+4KQxjuzOU=cfD1#T9|R|DzjYob&kaRo(n5yIdn3`#Q5wO8^{F`_5oi`ug zJO2!aiJqAL6n&F^3EiME3;3k}ftSpeU03v_SaUj79Un}1UkWz#*hSTo?}0C@C*tGWIR^(Ps<;D>DV!s_fR78N=T0{kMFz$ZWe0IuWXYQDb;1d=*Fe(6}p zhaB^m06AuLe8|R!2gt@XrtLyrSArowh5iNE@F;0G**L^Vp>YHo6KIkR6Bt%Dj>Nz^ zexrSYA75o@Ttw)syR8la^ zIP|B((vt@?y?7joI{wcIt<4c}F*rxuN;wbL?0=T?V?$C>vj9j`BeaOoikC`}sC-xLP+0aJ-&>qqcVpE#cS z!1Yn82OMJg<;~Bm4)O-M>fn=Ye%JQx{TC5cGLvzTs<-2gm{phG#%J;Vnr?IXt;=YC zLy$D111QCEsA?VxqY zeQF@6Q&3-u1`9~CxaXW7(#{}bdE*2WKh5=Tm?xn4Axl6D{UMPSYUk%mf24K}9(5|% zz$52r!||9Tg2ZEb7O&C|m66%5Cm9(_YLeA)&`#^&OvTs3(Ja=(9XBJ?!*|)Yt%7Kq zS2p0DkOCE!u%e%mt&CFgc5<3v$(uPEtK`j0#U<~yqcoDUcz;VWf$LMbhN*v-1A_w< z|EcOofqaeUtx9kA=F)?^TP! zP+PrtYsVO}HIE@S0LXWeZjN{YE=>P$T!Mwf2Om_7DPz}*LDbhcK-M*~8Vl&>F(A~7 zfyjAiQvs1{l=E149|>=;sXwWf*wh(hTlh=Pp*pOiO&yloRR4}J z9#A&@V{r+xi5=Z)dF%*8y&ZvUlO2J6n;ij>w<92Gv7<&APtJ}&!dp%Setc_^cGP{( z$DfIXBwhxSDe0>`km>6KNcRw5Hb05t;9hH79K;3Ups9?2aKWHi0pWr{D+Pp$_5e!s zFrIn`txdh&&c*y+-WOBza%_toz+E4ZxOo^x;$~kw5;v?4NMr^EoJ^5?_%ZNH>)!lM5{TU92)KxH1is%b zi{pknw2)}}=kb2*^SFqfH}wksElRH#(dgfJnE zHSQapo80Jr!F?~zBY}2VB)Eu?Fjef z&uWjA5yL|A$L+Xq!bW`{1)HhU;w{Jg%K?v&-`EpyTFJi!%-p7_Jg;a`7ojOhcf8)H z8*P8A6`P7Z3;JW##rB6`fhxB_RrH6x2WLMF>-C3yfT`Fk0i9JGi;iId9k)gE*iD!U zibRh=70?A$F(N;f=g_O^z7X%%sMdgZe~XUs{uYIJe;)*SP&WMs;u2(&cz^fhiT5Dt z<2}eW#e2}FxRBINLf#BSKHdXSOT2HC@#Nw?Ncad}fgj(RWV~-1AjfA-t|bTyVtSARt@}i1>*2I9Hs{Ox~LwNc&=K zpDU^MvU_M>Z?R!*yPs}#n=QeswRBuW!NQV|;Li=Wg;EDpbj&`Fi|Bb%FYs^C`(Q+_ z7|#utC-`vVQiTw1Bv(MV*@tkNdfx)(deH$@fOOH#d`}#*Sl=Wp*Ycbjyx*bjyMrod@FqWjb3Immr(i(b>ymMFzhj5748HR*WpK9qmYfC7!beyja&yAvQg~Op<}ItpSM}UqmAd&x!2R^_&zjq6o&2t7P56yp*JZE%*8Nrc=_1{2TCM(SGL%zVr*6{RMIOt#Qr_sNQ z=-z05EO_=V8$7$lbo327&<#BEf}i1dc4%egH)1OIiTB4g>X=#qWMz}A00InpHe%=~ zoOcIKWCf6^AQx%L{#d5z*8`zhTo2@U8(}@rF8hXE5IfdOqqA)2&8vg(gkK%RkN75D zaeCezgfPxxAt%HME*4^r##$`IOvQ_Zy3c(cNg{#URpZ$ZB1+>%c|Zk&)?sRLPVTm0 z>B$3{o*k$9{jvB~#!-aU)>LuPUO+|8F+;JAzl(9JoFD5axqRy9%7B){#DwDVrM;a? ztnQ?_Thq;)d$6~4;M;hxd}xjnfuT~8+Xf_~rzE!{Bxxl-S0DueAe;+QvLNbfNaxP3iR_B z9p;jN$OmR1a*fg&tVVf{7!V6x?Qw|K~R;ULG5@lck zi2{~sXhj8bdg^|ZnM-#4`|Lxn^S6ppsA*NV06`q1*!T^DFCO+@x7`iLi z=&_;Y^7-QklIHV(4b10n-O+|`J-~)P2EzrHrvGVNf-3EAejp-<#2i?Fk z=kvqy?9jI7^Nl*D@_8$pB%cRtviUqXkqq8ckc+e=pJ$prpGUKp&pY1s0p+`g$>;An zEIoNZ(~I-@eJP*6JE67tJT3<1^D|RtQrzP`1b55%vAJcE&jT%qi3z3oygRPu9&}HB zT#c9EDW`D!!x<0Ft+gIpO`oGUXdQ*I0TdAtg_ zEfD!21w^h<%558EJh|K!Bz!hofgj)6J-O`(#6sdrOnqVw3=XD{+X@n85CMq-wmO}7 zf5E-lSn&3#_7}(lnw<4H2a!$K_1bps?cRhp*wKAdOYEp&?(Mc6?dZ0-9Yu3*KZ7BG z3)BA4s!`sPvni19R#br>-d%I+~wDbEUMfBv7XJFo$*$ z;d4`hZjz6YxH_6gBIiQ+i8xtk2qfDB61UuN>0}1Etl>e_;;eyaIoN{>upJ)8T)4SG zUvb1MvSPqREQb12{!JHc1F?sA#ICcWFJXKrp>jxi*kIA)P5KKP(AW@89bQ0tL7h76 z_AA((9;Xo!rQ*@L|GSWW;h)SqBA0p%)n>VdAv&j2Kj@qSS^>IZB^Yxae(|sX!K1{VF zcAi1c;V;QSZ`Uz)-Y$=w{XZf|g0kuV6_+5J#LM3;PrL+CA1^_+DPDqpTf77!A1{HZ zC0;hlcyjR)Bz%Odz>jZDGF~>X#^UcW9mT3LW$H7C1?ZoepEC8CIWTybLJlfOv;}x1 z3fOv5IOdIxC%$;zdc<=}9!{JGR(-rz=a%4(%;2yNVhhp679hvcl+GtbiTUJ5~#61(DVK)R+Ywms1v?i9}3mZ_$*WOA-7xf;VkI`pHDI!RWyM+ z@WmC);rMd)A1a!l`7NR;=XZy%Fxws`HA}!IS+kV7B;)mUNi>UfNk@N#x+K3!$(o+ov<>8VqR zSFQsJugbdzR!s#a!yGec#y;2HYxy@72+O_X?DE{_F?2)7ea=>`0lCi|I{M)|jb3p4{iL#6oIs_2Y72u!=(NBS@4X7>`5&hp4|jzKsQMm#Y3I4`^~^M=Pe{v)GAB&p0a)2^!mL_1%l3$tovav zNy!daKvKay=VXT>rLnwmvV))I`nM#;l4J)z!3fmouWVIOMm1nHt^`IG){bC z9y#$Dj>k0d0sZTUzT`bDAn~&y3$k5LvLL`FnFTTJbgq`E_?!sMVov0^86hXyWoNMk z(`#OBiF;b7W6{rX5+*072_{U;(O3x+GZiOHZNt~(EVgq=CYcX^Vh(Ke;etf@Pg4sL z1tdRZru<&>{mFIoiIS}gH^RA-2+}IlMdGtWqmyjrNZIBm2N-ec5 z(R-4`ruLd!RI-trF!)j^cqh8to2V4Zk2F+s{qyLkeI6Il^RBq*D!wk!d@|kTesGoF zr3(lY-cY=k+dw|_PuDP4Q=4;Uk(qi+rsA&arBSvcu7t_2D%z9nGEx3T@5u&)i=6yh zC~|V!6**lIlHYiQ*;N$z7meA<%1cdG7WrO>*_Gf;1*u7v%&&!u@uq_CuE3mXx<2zM z^n>_wQ$1C+2IS3m>KNPaREX_<m?R(?1TEAe+SZqX@nXc{7OmycuMh@@CM_<8jEF zfyn30K-7{qH_CW&c{51(OxeCh-`YKS^V6(slbYevb6~LOLf$M$wBgo*L;;7$o2xb! zN_n$9pve{Ns3yF@j+RtwfE^v((TZKo}3+lgtwdu{P@=Hv7-x#g*4vR&&YwTb|grY4jYd|0m+WGG}fW8 z{^JB13*gVx&&*jc^+gW&a(8Ui8ccmXD+dN<376RYamP*BeGl08cr1v}U!bG740K*m zqN9K|7dwdXg!LuQCT@bAK1a0%*y%AH?ev&}ot^>X1ZC5I6fQwFvC|#PW2YeM?G$92 z>=g9d>=cN+odQvdoi@sNa&`(5-ZCrj<6FDOPM=FGWOn+z92itz^!~8JSnuCsYC#ey zyC6|OveV|_55@~0C7r(xXHkZncIP?vn(M*m$l!p73g`GTFb@{a!J+|9AYEDboXrOc z#I5f*XY&?;xCI{PY(7FDZZvSt=G)P7jpvgTO#K2Ui^w;;Fb4(!Q6EG`ANT;v=&z;% zHVFE)Z2Jem#RzU?`lc4#3TXYoLgWu#MCimH9BR*mKAC>UUouC2Y)AV)wqXBHg3*H# zd`w*Td2FNIA7{CM4;-P61!BR}3p8_Ee~^&^6CU>FP0y~Fx{P>v3FbZR8a*Ym$yqdz zE{hEx(HPNqebtw!Z`M}o7h9plIjb@tWk0d`B-UeB+`NQvnfhXfF;e%icHom=pzmZ}Ji27U-WP_r|F%9%{JrA`LAo95+5P79X ztht8x3$dnA#*?!Eknk2@U!!kLGMDVWKKYeawvjz3Ef?Re=Jw{;cMtQvG3O0@a`S$`R)aKem#sB zl=2w$%0@dLD>nqOV7f_e2%5R=hTISjdvh)1hDv6Wvrr&i2Akw{B>oJGo0E~efhbuc z!9}}~V4OwgS4^$2^D>vy{YZfH8p+WO=e2~*O@FvF(Be`PGu)Pgvivf6w~pSXpjQMW z{@7lA%uT86xOVAv;U0_(d#l|raREl&TeH&-6c;cuq|^PwP;tQ>mZb)Z?zAj5Sab(v zsllRK#I6R5ZY4Vp7GH1W2$$g&v@^$UF}t3T!W*(K1Q(GDaguXq?Jr#!`shy6XPoXF zeaYn)+)?^In_rN#^s(pQjf5n)CVg(#&q)XHPtQH!Y?J9oFO+LG6<%+gEt?8&D~4Gv zoioFG3Nu6Y7dIb;Uk)VygX8W^#p2VWV|%Zgdt#-QyX`M-?uma16xb5jY4UHuX>vQA zdxDgS0mv!t2K%)YQ}LMtSJ8dqTTS(*&~mFz-b|2m)d^r>T`kst;?IrKWnJw(I{M;! z6nybJ;fukU>0g6Outm#HKsP;S;7vu}jP(*@of`(?KF0!i*9h+lD{sLN7Nf90crnVH zp~WZw@M08P&GkP(TqcWA@I$^Bh2$9LaOhti2hhKZ=w4oby@bMqslc;O=fJaTOh>D7 zK{xQsi&KW<*`W=qa=~+YZdjvUsdEObY?9R~fK7I_3OJF~Dy-qslJ&ey)304Yv$%G} z@ixNRm0fmjSP(nT83^Xwypjb^_?0aDh;Now0z(MnENpQ?oZ!M1=4h;iEzDH+g)Q+p zxo;tnz}M=Wqkd}+3~@`w4yxuXNOXYmNEFbHe`P$eiJZ{eiI7c|aM7MB(f5&N?A(z( z%PK^#ol9@C+)}vbL4_Y504H^gsYJm&bcXzp^hd_~@L?ws9P5uQ85cf5=88a<(c%;5 zj({hn*I2lIZEu}j=DjkTi6;I`{SIbazZ1o=@T>4$0Emf zjDN=$;@_tb^gt;ei+rdU?{G%eaoqLMY6>9MI2HlTJO+ia2p(=5izt~HHIhGAH7+@O z@yLB-ap-4gap)yy?|CpQYGUjgYdj78RMK59Un`gtU0Uf23gE40M!-&F#> zy8sM!G2G{#-$S^RDtp_z@IoG&qsF}5>w@s8)Y{a-V+0f)HLwD)B#q2%;=OcJC!4ru zN1M23!6v>6n*gQUCO*GBHUVOdHUXM#Hi3uRY(mLQnZaS>*#wX-i%m4oa;AF}udzZ) zY~p=6Fley&VigMoiB`p0kSJhbZsTu=R3}|Lp`$LIP|(HiLKi_P*Truvk1m2(qb`DG zn=azvHeFOQo188J=`!fzs{LEsv;F?#@#3FHb+CU+oCo#v{#ETu#T|)P#26^u!|{H) z&FP{WO@9DFNk%+?b=bpkVn=;Fv7oQNfWCqo8bpI!GEectqRwJWccsX3l(}yZEDoE& z0*0X6a~?LY$FLay9ya4@uK#OdEEzWAhkV!^kD1Y*+#b-M^QAvB#SR{wX-r4MWY7sb z@-TTg9vxagOa}dU4~NnZH7d4UZ_tqu&9iWtHfX2gU{FRfzPK>GbtAu?;y9S^+cv^D zc$e+r2%>Es`Qo0|p{{xp3-c>`b31zTJ9^VQ4!mZ1YU+qXdvnxWnCsCCURX&5;MMjH z_wy}R&xw9-o8VBFIT~xI%P&t4b;%}>)A{;)j|P>0XVrg}FWLu{7*mGt)_;&5glkk| z;V|9{2ipL@9qi#^@VK)4-Fl&=GJ@dqg>{TAEfG&nk1g>Fb#FTba>xMj9CKP2SN}cz zWXILGfCx1orM^AP$Q5Zd^ont5D@*)#<16 zSO9+UJmMi8hjW)88cW=>p+&>@#3#dWzww-9!!x9x<9lQ-FO7*GBKG5$_+f&iF%hs1 zG4WmCI-wW}Z|}dQjvBAQ7dk551v(K>=qO-o^)xL|0$A5=KDWg0)8e3 z4&nQSj&iZ47CI47=qTV2zW=kWTo!!4JfO+hu~a;7_Bq1asV;k;j(+_<1;4%-ejSwZ zy6ncHPak{U48$7ivY?s!-7s&4hn-inX0 zw&@}sZqr32v&rcqkS>cZHh*Q6_Zp!l!gIL)XoZ&O;+G1*P+1yoy7tS2D=0G26?ym?_OGTECY0KmTA0wl3fK^C!tS7get(5->ZITI>!{!NE9m#_q2HjC>-Uk%qu(Ib zsNbO3rr&tDO}~}QCa2#(x|{X;pRCXl{r+kJII4dCGvOMf-@=4eJN@k}>4bjW#gW z-X9QkHo!d(1`*GJfqrfeVebzRIeTD4-Z=8TKaKL9oTY$-w-ozIeM_wvIzSP`ilKGf zrdzkXmClx%qj#`kY6I!OZ)nf;#*5!V&VJSGqB-{(`thpS*4^4^j`DRY=)`WmkpqM3 zi(fx1>?0Q>TE%NYqJY+i%bLC$(L}>HiIAOpz{P-x2JC;hg8GcTvud6}O(N*k`annq z#w4P71YWJr8_$>ig>G}p_ecL^__qj2E}zRT=U?>V zctCh@JpUFJ$8$SA@(G=ysSB_L9}|vtxAKpD%)io2!N+`CwFdZ@2Xyo?4;bKMcEGWK z3)4RhmtZ0BG522{9|NM^$AD~;j{*HQ9|J_*#{f}_k7<;*GWjuAM}dU*Di!$gtx5Wr z?z!i8hy^I3nkzN+zZHO^#^&!5u3&&Zn1s~ z7ajc81ok$5&vI4T+Xx=4tHVX)>WVTc?`>rCI^hm4gZsq%l;|0&%TZ2f1dHNe(S>S*gH6>PnRfrGN?UxZ7LO>F)A<*{`T z^|lVOO|}mDZMF_X-qwMr#nu~TJULqj32)sM`0=gXW9vUB7NCAn9`TC;a8yhAPr^0G z)`bae*0nI9ffcaD7If$!TfdZSJv~Ruc7~79lC8tMX3B3I=CO?3gZ)dQ**>1RcIj8) z9-4mK-kW8IxZpN-6On6|{wtP*_=o2|pZx>oh>_D+zf^%}+|lp?Oa*eKQ4Zi?jANg0 z+lE0rdctiQ20T2$dBzI+Z5E8JHm_Ml>-c_6_c-6<)*}CgAnDvYV0P}^RKHaZtl3I? zbE@AFWTi~R+GVW_bCdO`yF8uxj=y9t@b-@WYkTg$tVPK=LYKgSp(iwN4^~b8)qsFi zf`C8kclGyoo>%m3cu)K8H8u4|oXuuQ4E6mT7N>J(_6^DRIVcAPW0)ytS@LZDR?OxD zz_aPvKIS)OJHPwx> z;Z+2~$;Kg;Rn;t;h+30unA)(iai}xdOi%SmfBr=J!!=1|Ut}uEc+^S;``X2Tuwt0j z2m@vf2#5F&wzCnV*jjqw{OJ6KY5S2MR$*$L`%Ws3&G)7c!OItZu;yU~Yrw%?Z{~8j zuScg~EX?#~VKED6JQ->zIpy8aa*0Q zZSfXz$FPU*{}E$Z?7Xf346b{)Jo&!~m#Kg6FscLSbU>9jQr^QSJnAS~3y&IDfmj@I z0%>(l992Sljmb6EEgwNPje5JO|EFCPOaDv1hn`43wrmOU@Mak<#d46UsesCzjV?6> zti%2Tfo)9z7XxbwGgJ2KXb%8Z!0G5O>6`+1XpX zPU?EPP3*1pe1Qjbw66yh?CT>iDo}zA$Mc5oZ?vo9td-+zg%Qrd1+idC1)8}ng>_PR z*qaYMo34{mGMk*m0O_*WNcZyxr`EE{sBwKk$J9D(c|fba_35#W?L~My>DYri>ezz| zI`&2A7%1gB_Q~bZF%WCiG0<$&F+AL+V@hU|(=j03%{peR&>}zFu4D4R03BOFcsuFX zj*dFEqo8B|0v!XTT*v-td2|fK8g&db+jI;Mx9OOY+2nK#NS8&&4jPc3-izV|k0GY5 z&>|f(^-KX6Qd0SV>MY$=(8s&pb;_=tL;c~d86BmXfsO(OGNu9n`BW3;Ie>ODbOYA**;5`jgug`g6YY zM`};t(V5tEw4Wbz0*_n^8jeSYRw_@#W4fPT>58iQ*sdp4AHbk5Bbs?(KR;-v`&XEX z-@k%pasP_rrb`WmNZ1<8N|b$mn&AEw=4h<_E6h~9 zf2GYe+kNT5H_wwyFf36yrm0sIfWc{sZ(dDzb@t6dN4eoZM*#yFQ-Of@&8-K&pr$wW zxi4$V{ZV5$+))_ArDv+HrQ0O;G1a=zauH;2f}{}yFpeOosr1RO;V+p-IkjW_ICVh$ z_&wqWxHSDg;SwxTC;<;_*K!tw+45hFv1F|CRYBav5|&Uguz(>rZ59p(mOCS`0KkC- zS9AUA^T2{1^1wnejmNv_Upcm1MECOg0(ZVDcy>X6c`gPT&<#9upc#(mG|*U{)ALmu zbxcJbE1M+p05;jk15PCJuw0}i=c_VJABWH^#v#Ys2ytkaov#|ij`LN6X*WkDJmI4f zKjNFnC1`?Vaba$8VP$W2_0}U<*T)G`PKXl>QouNO`B*`UnTmr{+Z;{&U6S?0Ko+BV zCE$h}s3KHY|5)B%FLYEmGPTf&fI>$BTlZKZKH=N!oO>@gF4bfZuT8Kkpog1Y+J|t3 zE=rAb`*t25U2SS1rlx;Pg{P80w*2vR--y*xjTCnzY{6frXUHtlZSk0FBSF%L3Rs6R z*+V+U)Q1d+scY6yAO&X>NI^Oo!%Wl9`FzFLV=@pdhEA}6FvL>e(0MFECjcBeaW&WP z5o5`i3_s+dGme|+PdRR8V>0kq43(f0c;rwy9FJ+J%*SL(S5#!QT~8t-V3UoEpq<7- zrs88En#EY?xEUc9?y@mi5N&hx!#%Cx4*eV_+&MW-Fx)XmV}(0rDh_vNw3N&2xs^Ak z^(6fLyGNa=)RKf7S|2+b-f!C&JgS~&+)^cc#i&bjOXC77|%f`@W}CeI35Sb zbEPXPp4+Y`@f@(p#&gh4<2h6D@f^)!Ja^pe$?-ghwmF{Tp4NDdevT8*ot!2Z&zYmK z;yE)F$Md$OF7|x5qbLsH&(t?1nWUkxzF7_o&QyGd;kmZy(|Te5BETP0D$8IuIBo;&f^1q7!)7SpN{bXJQm{v=mZ`) zJ`Bg>;P{|)Ma2i(^&~z3Hre<9+G%`XDn34-S&R>kn>{%`1kpCf2i(&dAJETn;)9dZ z1mgp9G**0IrbdnrhmlOO_;8CHnEO{19|VaC1*R4x3OF!6oJKLrj+sV{4~G-yroJWf zzj4cDE2dV_#>&lWc5DwFAQ}?mPCi*`l@*>$V}!%A<&^;qVnq5~rX%Q4nRDZHlV>9M z(qFPJ`Sgzd|MUU=|1R+Vpqj5ex4&22eB~=_JE(QMf%?p~4(YS9dQ(fEHLwEnvB3o~mw_f#bw| z5hnoPIDxCV{-g6afgc9N3G}C9oB)r-H~~6=M~)N2@i;h6C|yx;!gf806M#)NPJnhA zCzy(l6KEFWgyUvUjuSz&&2a+vw8jbabDTKg`R zEyM{yqC$eH1&IQZp9(eH7>Bv+EjNF5H1F6y|#1M|3E%IoYPX;d~Jgc zPZ#@hT4YApp44&|B4uw1$42lsfS14*iHA9jwrlhKZZO4-aA=F)?u|~^=W!7|9|TJL zi%j45K8am3Q*R?U_LQ57*=srvjzx#>W8sQVres(+nUdS_cePl)2U19yI?au>+?a}g z(R;@&_r4!`?>OI!FK^{*rtVJs#If@p1W98jU>#!TnH^*2nFC^HAF&ghQS1ciBz8V- zd15CB7Goz^KwM%eaO`{lVkZC`J8?DFe`+2(@x!3liT;pyyL^KSJQiao=mZ`)b`Hnm z;Ml2jMa53r^(1xzHrdz-+G*@$Dn53iS&W^In>{&p2GKUhPTbQPJJHW^VyBbS1Y;+2 zG*;|nrbdpP$CFI5*m=(!7+k&hc{RooBq~f&G1MVZz~vufoj^pBG1iF$3fzY{RUTsj z0pt-r6ky|`J7XER%44j1(JyhFxHm!4I00CPIPvg~apK_v;>2?iC%_rS36M_W#M1J_ z2@ovC39tYk%u?Vuu^n*&0FD#5n(MzPj}!P|P@F)2I>rg`Sd0^(6L{n}F&vMB#g0n^xyzm2hh5mXD#gru)P7>n_#B|*m}U$6YSIg>jBmy z*h2zr17I5n_Rs)Z0Bm9B(rE#-4?z3SZKns=zJTrPy1t0UB6s~^;hv2EZ*=!;LSqx( zb4IvlKY;gh_w0|x{(R4wbWhMNy?*((qzm|`*Dr4}Q&Ter<4(Nj=6H^G9!=5VjWfWF zBk_8p@ui!a13Zi_dF;$zd@vPWcl3-KlJhU=Q>SijaMEn$M9siO(#oA{oC`tSjt0Mmro}xS`t&u;R9*y(2 zM-U{<-vH~7zdfR3{`QCg`P-|IzkxH#-#|La-!5IA{0#()`5Rb3Zp2dH{O!TW-vHqJ z4OeshEAspeKMcy>(4UU^8+a_{Z=e%+^0=X1ku`Z-7lUe*^6_e`6{> ze?zmFzd3I9qzzRM-w5J;kk5< zgS1QJY+iO&xF=pX^qBBNLsG}cTs9Xf@-CON75TFX3E$?@IbTtS5a?yFSeh#8BLC~I z3-$DOl3eUsr3&3^&TG)IC=gl^nhNj`1}$?g&q0r6t&ypi^{fiwavy$&sMh0(tMv>E z)p~AAP5o}fH_mtc{&iQy`$GH2*0de;o zh`Zp@^xuO^ut*^oJYbGMpYQ!f`n|kAd8~6jK-|S(mQXPugCPVv77hpGhaeyWzyTRo zbN#<1E|bMg_#qF-^q%tmm1FWnqKmS=2|T;t$vhVWH0TDNIY1A`a~hy6&*?cIjXI_x zwv|m1u>qTG#0Do4u~{zCl5;+orjOrf7UQ?$ZG`x}%g*@-V#hfj!L*yBIiB#*oFDPc z(m5Xx!Z^X*32}nKojDpSxHD7TgFDXoIEwThf2KZ%M3Tk!b8}#8Y!@UdjGJ1JC?M5l znvcoC8R-6uEE`^I;anE#K9P7b^?5mGrhZZm4D9;3<@%|Z#8{y}YR@n3hy%J?Zyukkcs|`0k5ivakThBX)?u9bsE+aSQ3K-TClDmT z83jp@PR6N!-xwpWB>m;J*CU*(2!h412o?}xSPC2#Pe)h;fWsoL=K7z_!ysvU`3{Kp>+(Q(r(b z$zs`4O2DV)K;>ble9S1HStWE-7%;WaiGV^!0b2tG#;;??i>FcNRBvP~sNx0g=nyZS zPPfJJq9RBdF97QhFCN`7UOak0yrA!X&n|&8iWeZA#EXAio_GO*#drZ0;EP!b952p9 zya0gX1+M1$^abQ}7=<4O#S8SOW4r*5#drZafk%!P!|^ycUMO8r@xpdJi5GxPHeP^s z8ZVfNj~8ebZ z3yK#t$s~&xOC{iiCEzo1pmMuDhCJv&T!ULd|)kSO6v%zD+USa!%y??AlY z-L3})6LI*`<2dj`>H(Axs5CuEA@fuOa!p1ohihsNXiqdvZIVLBj8Vw*2_k?)mQ0bFFNX{m{?Lfx!So z|J6E4L82_))Ph6-$qh88%<&no&(B#f^$SYC7v{jgEWKahx128v9mQp!69I*e0^0eY z_**(JB5uTHThASMOh+4i%m5pu5Aw|}fhv4LJf5d-P&U}+apE^d`F0bC1#>LW%roR%GV3CGa;31u_qHpsRbRDsItobSs_i+g1UBk-RP8;r|Szs`PK@1Cr2U?HC zKnnmKXyIzEzm|HD%va%ue4v%tGWwU>75bOWSAl0A^1!oeOh+F;0o}ke54?us*`dW` z#>&}kzhM89&R2n%qK>JNn3YX35(8|qBQbCyBQe%?X~}#Q)AZvqG>hXh$J+?wvRyV` z6~vDDs$km9qcl9>M``?sZIaW&W9oQGWekcZqjcSe88@ivQYYIWTx*@x>}m3KA6(O)W?iu(k9!k-Fn+iSr~zT@gT|*BxI+NP-A_j4sz5 z!9*Ncble6%6n=maHzjq)bkD%+>9#ojyn!HT`~j>({CQl*`17~{@#iqaA8Mu56?SK#zHew_i=qP6{F8q)!QYK zjQNtYv8o=#cvU@jJ*=vCqM(y%_$=CZZQz^fxi}uZg&=7>0<1$kdVI%t^!Nes=xD?v za7OV6q?34bo8^f|AXtn?U;)0KrNHs1k9Y(C$0Jp0ANa>1-N4D!pJOXU8@d&ijc*InEJVLV=j~q99ay$y6ZH`B{r!^j-pX0)Mo6FSDDCk%*3 z_eVSeXB3Y>I*CX3T%LFYg2i|Q7U1hy3LK9vKs*9~;}Ndr`X}e{2tN#pN9a$-cmy7c z@d$JRj~tJN<8g32Qo5qzk?ndCj{uu&JOb@B9x)XkkI*c}Bgf629FKx%o8uAgX^ltd z=Q#1m$!UV|h&dW79x+oR$D?DM2rV42W-2@s!`wQIczkmW-4@4__YowGCxCT`C+BpGC+7@^Cl5zF0cR9X zKst#hr!G%C0l{KC0SoZeECr4yPeVKbfa3|S=K5#l@dQ5%iYMq#$9MuBi}3_>0*@R| zhU0N?JW;x$;)(5g5>Eh|Y&-$&G@dXOA5YLM#uLZQo*YktXq)2+?rDuD=;t``#K~!b z@q{@VE1ob@Bgd1!A(>?Hk04Q@!_r`yV7o>h}Tb;P=n%==aYZ;P=mm-v?*p_dz=G`;T89zYl^%zYiARQ&|e^_iOll z0NC&2YOYWF#?qyA_+gOWM}Io{eehWH`=AqeWWPTgkAwZb(iP?RZPydO57=b=K4_=(gDJf0!Vt-v_LN-+y99zyHJmexJ5$ z%r1d5^7|m2`27o)$M1t+(eHx=_*9kx`~7FY?*qVoA6Ikz7w3K-KMeBw=ubz#4<3tt zA9Mnb?DvP`aj@T4x}yBP?Rw((0h_Gf2kq4FGZpXm(JcCX$IYJX_k(Dg{XXt#_50}O zIDX&BX@Y*AIU39FGgGnOZ$2D{>N8kxO!M1ruggbBCYj&=XaN|ODD7PO82zriYnXGs z^PRcIg0+u#%4nzvU}~YEfPsXmK;jBo54OIs;Dmb9*x$STIFT{+C%C^ueeV`e#__}B zNxyfSuG#t|JsQW9PZ1=IDS+vi@=%f|{@gclH@f|!=XH!J=jAb_Piq5bm%t6h5s*vb z$V-j(`RDXzn@3k!K-}0KjnsS95(@8<&nB@WY@ug8p=jBjB+ZM?fd=$Z=#i z9tXz}r5`Ge*sdpW1hC1*5ztQK2vhNK1kGX`aop_5aU_VgIga3-);NNGjuS_moF*7Y zn4_`c2s0JOk+$tL$vWXrlT5NW@|heM!bV~IAV^e9Fts32z~vu5e3m#5td_|2#obUk_LZU;m_zzWzxCUr)1ZvrFKHd_Bk|zW%D^@%12B^z~o?ew2I8 zzW%xJ^#HK1$JJb)=4Db}j~@p4di1BGuLqAsUk^HgNA~r@@i^GmEB#Qu-gZ6l^?*&* z*MoNI>zRu8^=KA-z2jz2_Vq!u&AuM@wEBAVa~xmqzS#Mef<|mCYi7Q zVh#)rwBYLniE`_v79G*<8iRBSNfrRz3qD9>j9gruLtea*E1FG>(MOwddJP4?CXPQn|(d* zY4!E!=QzIJ$!UVVo;e!J*E3Ti`}(htOfp~pPdP9+(1NcQB+9LuT97E<^85O)66b-{ zlCQ@d9en*i(`~V@zm_1WuLrDyuRp(|uRp)w>q(5WOW=llJ;)`#o)Vnp@bw^A^z~o? zew2I8zW&AV^#HK1$JJc_>$$JT4}*L?`qRg98akD4;`XJh7UyplQeLea)j<0uenxL;|j>hu!%+$!f{%a(Y z%-55hroiAp3%*{ED7S8EL85@m@9V!ooCj7*z8-fJeSLiP);H-k=j-X@!G8%Y@@M!~ z%(n=VdVavz^S7M6_2iCz|H--Ew}-)PT>AJtIsX2?BL;v=)Bg!B!6JnN@Q|Lp^{@1M z`RtFe&fWrX7Y|rM#oz#j;CNX$92_o1Z~%aV1Fq)!|4CdXXK&$$JUGyNNPHFu`d5w* z+1Xp***S9Nxfm=!H}K5CVmO}DU}1Sq&)#a(F%>vty~Q+r zEJ3pvOB`<_#FAZh_Er!(&fW^9-5go)gpVxzh;Nq8-hvRu2{cZK6AU!W(O7|ond%;B z;Tl=3;JgcQMv$nG5|Ak1z&T{htJ*V zwWr@FT&Dg(0b@-e$aY6{-_$?Mfw@fH{&toL&b7Xf`hq`GOJ9^ILSHnn0#guVI4C8s zsBiQvMnGXv0o^=KoCEv^Q3*M~k3!4k06!*3ngakfFbBAxV-9e^fE?g|5%|HS>Hi-t z!6M}V;33TcenY=6Lk?&oIY6V1sT{z{CdmN+n`{mMP9*A^3UZN_&u_FgSXW7u3a{xTygFZjvo2488LKr6pa6+754!|6Zl>;zSqvilKPO)D5 z5*O;$@7QkYpXR_kUZ{O0f<%S;fJ6Z)h#uCuj_i39b2x_nEN8*gKX?%C=m5A8)RL>%1M6{3iR`s8omhy zL_UxLk!$c-?D03D8s$B?uhW2p|2jVnOf5(h zu(g(o8t-PwKWnPqqE8*LU?H)oTP}}HfvC4BkZrOl&~LLTAo4Z^L@hSeDDTPH6i9e0s=$wL?H-$& zCKfWAn#qAdp(QRUn-U~SpG_@D6p(D{hK;p})wGZ9*50OQ{E_oD$H2jR*KTnOwzc<| zS`aBVOzjXwo7ZytTS?@C{mrY^0Q-A-NBevF0Q)-uMh7lT|Gu~c3yJ+5w>M zw#oiLzs>%D$lD(fwb);yyeDUWAmJ^p0zbaBd+cu&v5?u{>Kxc=e}W{^aY3ShL&UT- zZ7h^xnmnM%+3)DZXNs*Qyw0XvrH6_xGO*jRiavO{dd^gUaixcI$H$0Yh-*DnM?0$q z*x5s1T;Pm~Js_Rf*hxhj!@l1ui7&3D-jhCXx?*}}%UkBAW}UiXy~<&m)=eL_&&-OM z6F2TyH@)TS(^In>Puae1di`Fe0zqe1cEI63+Xfa;Dq$&bdFM?i?*PE%9bC=z&mhK< zr6c$uFYm`m0S?qN5nKsY~JaRc_I368ZjP>nj+VXG6C|yz2 z8{74ydIQ*Gt2dyX)@zuGuh*bitk*bhMyS{9vTw))(KgTg;GWi!4Ei}vNyf=(f+ZQ| zXsnV9GZmL)Zrqr(kiDSBfcXmh{jGX$l1b*z*B5||HHOD5_2~B8-{1S*oYTNga27yJ zPq|%F3q1u4(B(s=^F;0+en*d>dL)LbbJ!@3(&0p)+|1qXyPw9 zZ=miNU+Mwz95~UtX)gyWf{y+#m7X1)H!88FRpd z&+EX34nW~63>8>|duLH{2znbr5C9y4a5dL|3h|kQApDSpAgh0Jlqr2}0-Xi{ei2OI z?H~Za;@YkBDLY)v_iGTK@8PYTpWXJ$#f9mui~I|DUdMZHdgG1-^2D>-euBI_j&+b@ zIoADx?zM81SO?koR28z(fv-_E9QuZnO%nQSWNnlU6Bt%DjzlJ#>8U>H&!0$t_}k)* z_N5}OebZtfJZuVv_m-~8j!tTOMZ$|Fh_Py{V>m#0=#gl0EX2X*tm4(?Jal!X(>k{L^ z`df+Fd7eYOo0*#WGs(YyDJ=(BwYYlosx|wBepa7B)_9zf*Cl5!9(g3UH!ghwYoNnO z<&v}aKXv1di(f&@?A8W3ff&uggjb6>83>9K@8*b)Cw#=`M|^YTrX6cYD2oeoiwi3k z7v>iiR`q6AZ#|NQC~3gzmA#cadaHNzrgt28&GgjN5r_6xQgdNtk4$)B9?E0ya6jJ? z$-Yyi5BBCPI!IQ~t+6++iP5bAIy!H8!HyO(bneYiRzaLhvv3yH_GT_QdtqH~X0f++ zvA52C;br#Rm(m+pJaP>{YZrHJ{>{U_c13S(Zyl6qU2mQm)WLnFgT1vI)>);q7SNmR z&F|RuBl|zn2>;Y7dW!l%PjNqzr{;RA@D%>HFxQ)2JaYX!(eAD5Ow6?9?%6RlHD}L#8Qnu6y7}0Ocpd6Sl4_Qh(DZN$3_-h4=Mf|-W}8}& zC?N6G{0UZ^$>j5;ke2LR+K;&5^RRg}>eBuUIC0B*Gqq~z2GpX(ru)<48Fa+LZs=h- z-#TBC@1q8CrUJPr{Q)`p`U2>Hz^h5Xj$Q>iF^synPjgm?obXi?U+ma05FKuMeOa&HF7+6SQ zU?GOJO(;Tl4`5cNf(UL*I9LR#8@?Zli`1#E=)5sRhDG=YhG{cN4lz>U)RU zIjWO|Cf6Aj-MLds9rM7YJP+)@kP?t3P|958e#h!;BRK9`w_Lx&x#8VFdlRVa;8J66rwK(%^t4gW@!Hy6@DbT`-G z4z@x|=F$(zfkE>M{!x%9S7>TMqJUIiN_Fw3M5>c6Uf59=FD&TdE1`>^lCAD4^BFgCf6pb0Q_W zXeydb_buoR#>;2W|MBO>%i<@W(NQ;_QP9mdK{r9!^xuw4kWK2auWi)P`!YMUUUY;y zEQmTC<=zH`jmMIppX+OwzXu|xuZ+km?*hfMc>cao#*@=zknoypU!!jY-+b5siXc4q zI&RagcF;0M?_kB$29ob@Xw0(l;P}as7GhZxPWlit)cibOa&EZC8DZ2vm@l>p=w`ieWbIOxMC3Nwr?yGU#FTB`PPGQu=CeB5 z=CjJS`3)E(h@1YmaS6()ZGL%qY!g(yZGvu-ZGwKAZ325jZk zhPlvv_Hy5#w={>G3k6r+hQXI_fH6!?;{TVNz3K2nG{=jpFgb~zX8XS-&aT2t+3Y5o zoLs$ifq$5jsYyFkuxZ;b`29HiHu;zN#5JZur$LQh4yHm^Ui?wW2LPT5#npWOPoQR} zLRb2!Q2dflg|4Kj&|HSOAA$^jPV)W>=98ra2)THd1iARe_;PWmV!1frG!_^&%4Ow9 za&f3-8kFTSJ@q)!n=l93Xmg2O@d-!}LT-U!8WeA&$?isU)M0uMbBR0+3Z`X3(^Pm( z(sGlY;IlC4xoO*vSsUf{F!u@0F%oripH{U>bDw0tdb(148cew}mNb70R zZ*J4JA2AL83-5Q6S=E(x8Wcj7X;7Loolj;}=P|1~uctxj4n3>tUJ^}%+8=D`ePK;+ zmZm}1_GTA*YiQmvnFb}$8kq*ANl{FLuI*t$lQ^OYP3EY#X2V)F4N5byn9#)kXjaxu zXwt)aLURpIXp&@^DZRLg=Vgv2A7tlc?oEZ7`%uqqp#~Qy)R^kN0>TA@?k6Bz3@GQ= zHCiW-?(IdoXKGrroaYpGDF9XJ$6oTceC5Nu?o+<&AHIVN#7zL+om%Mx;5`bk<24K(l_JLW-u%v`dq(I^ z(6^nqu8+IsfIz!)XpR-2BCeP2=S4Kny7M^q7fS0SQT=0;?Bhm0`nzCZQZ`2pu1SU+h6()Qj= zFazfo%HQ~YKtST$10!*U?VX9U)_}xWto29_BqWjUN`3l^U!1b_>HjemxW(Jmst4jJ z47g%g>&S^~l#65wE8%}F^CQUeB%(UDEVl0htU6R%pBEEoJM3x*IZ6>I^2_UxQ0fPV1l77i%YD?|BDRUoHV%*Rb-@ zd)`5x(({d{tfE&kvtjDo_tL!ap+G}HX8&qD6RHb=2@R}(4Pp#=t6d*(5aA8$0Uu2_1^qfpwZx9krTg)h ztb2KGM>~ElJ(}BbR4?5Rh73kb{{UQqi`1rj^g~_`9owcs)!Q`aHrX`jx7johd7B2J z7MpIA`Q&UGB)k<@;K#Rik4-;@SjcSp>>L=>UvyvDv>?%HUJDWhw0e%*(dzkjDyE!A zlx%$k7hFu~3kVksI$uDzV9=8Vgo{BX7s?xFrY@lT;}3rP#EWQ_9!pPiE@+2(JC_~@ zK>c|7FQlSR=dsR%>nux8uy>u~?uz{3xh3Eeb0FteZXo7s2@nGjX2C>beN#WF35grP zc_a{=MS_b62@`b#JZ?}SaC>hK8J>S0Qnt_IqVT*+c>Vo&1@?YiME3`+iR%;R(7V7t z$p=xNcpJ5^qxWOkauor*o@iY>Ue6Wb{iu_G>|<`cj@LtX$@@_nXli*s5m4Tb0$O}- z9M8&$aXhZLZosfGj^{Q`)0Fp=B3s~>Z7No5ptCQ?zp6{l4(Rxv9b8UubvskB{vSv# z-tU)md$r`ZuxFAX%q%|_uyb3mvkI7sO$mJ27wKQA=8Ny4a)r%_;{Eg&kZ@egax;Wa zAxJzwVJg7%yx+qR#ON>C@A$lqaSTU@=5egQ6#)wj(M%pFrg7^g#khqzs4EE}*U3g$ zzX^&iR0Rd1Ql9NKCf2z3yvOi!m{)2>Y#)6PtxOfouY=hr~H{D8Xz*;wM94J{kK$Hh7~5y1V%bCwOykbaKu2{Jv%$&~jhSHyl8pVg`* zCu|zD8O6od`G7hl~wVq2JP#Gt5 zBKSA>foBj_>)&uO!06%M?&oZthevGmw^*^bb+3&}7g`2s7K#T=-W33|wIy6M8Mp9% z{PDrIF(yoH8$_61d@=~L58Jg=JUwl@e2>`fim5FQ|K`<_aXgc-rLDYJHBYU$m3p42uI9I<5Uz>k>+uCITig9Qc(an6~)zD|9-?v zl8WMoJQXEf({)z#A-8|@;VkI`=b~}?3EY7%PCtj^D@{L%uj#385zSxIxDtLlWSq8# z$vF~$;r);3TC$8&&emqU{;Vc6i#evF-{l;KB*%Or4G4cneO%^q9C+bQnpGm(Pt!^R zdK^&j9BTOmI#~GP3QbGTr5{2t5nue$mx?c*o_ZwljNH-G!m|o1foBb@KpYWEPu7D4 zz`~l4&^1$mk1K3FFy06MJc3JJ)w+M|g&qCy3#mJWJnEt3qn1D{@xR-P{&(zs@SqgZ zrNm!?X6`S;{xLl4QzUve-3PB^Hlph)WJN%_40+J1jg1CFFA8~w zP+q!U^mo7gg8uI3^jB*e9+X@{#z?W=y@2kB^$vD`zhr*pMIH6-Mf7N{cRK#}&xQ_y zaH4}}E{_g^Qlk!nW}6P;;Wiyq@|&Cv0_k$-;QnnoSU&ILh3LOM@kJ}3=$|_812@KQ zj}$IHW8p<~TdZ#l`($6-QQux%)VKZx&@m88bnKkv(J@eJ)G^R((=j~UrejKGlhZLE zT?QTFcfOTgik<7)Mgy=H6D2zU!vz;&UM3)1bQqKUityo_IP2SzIt;Md!4NK@!I!CD z!oTSerKvA204-uS6?O^z&Q93PdR^)PKAm_eK=n?CNllkoL{00B{eThOwmjn^;yGBE z*w~MMEIxi_YM%04>=V&Go~4R$p%s7^g&r63J(#2siRd)OOGE*Kq)i2Z@NATuXM#W& z;3kS74w`rpd8E@*eg=qNcRY{7vv{WB-}F3=6^<8^?hoG^#<_PR{lGYy#<{d#S2)N86&ga>91#TfXpgb#no+{{Zl`Xp=x&tqW!+3-nVj^<`S-SjU8 z1k|ms)MLr2=%+BQ8|%B-pzi#XeZ#EbWTfB+gHVm;Ni_a$Ka-@b z?uT_uW3NSiCH0Q|w7BKS`T7N*t?Rm96_Ah?VA}^H8EReks{;~vNZOFWNMK#G8N+kZ zx)%90gd}+Xc-_D{(n0)_bp!EQWC()XWHbszzfu_3OktoJ!wzjZ>H_a=?6skn6Ui`Q ze=W7L1XE(4S{sU|Vn$7cX8{XC?Y0B$$ghC^TF=LPUL8;O2gJ$mc!ymDy3A7X4RGPLJe~&tFS(9?%x~@nQm5mL)Hi@sv>&?vW#XHX zNq6pJ$9FV2y8uCN7gi}k3#|IqBf2#s zidz(EcelKi(7Ft%VeKR5DK7H~NL=<~k-RM+K~ZwFt*CDgNL&)M^o{^>Te6m}W{}%# z`%Y^4TE2t5s{ng<0rs8(?7bR>xq;EQ4P8U1oM1=aHuS!LWD^9t$z_fEp|M}c8uv$g zf3^4M1_0cE_a6OCKypKXZ@AOdjQ^H@aB_P;wX!TL&M_|{{lq`XG2zo5K{+SJVpdJu z+7s4x)EjWc>ns@-)>(2Jn^mELuu(lj0*y*xP>>jAX}WbQ(3PkH0ZkzepdxrGB!H%Z zili{8ND70Bq%f#R3d6ewEF^QL!mCSRcoQ)!*sH1VI;0YBD!h)E4zFAAb+dKkUp_!L zS^t6yuA6;OK)7gkIX2h56}`XzlX_87Hv?AUf$2m($MVfC$5*UC(B6%U=x(+HE+p6| zWi;k}l(;0nc}_-Tn;yPn>F)@iGbOhqn~^x5B%D0jn@lV?Z>M-fr4SrLw4P3EpFf7;xx8rqL{5tWR6|Wbx zu6gl2uqlWP+M{g>5=dd_PzRYT{4d4s(%QDmez=4ks;K4V*g%1{StN<^0tOzv#AoZ~VNPPoHC2-_5fR68I za!~{XecY(PX=s5}-_yf9;O0=KF{N}q*M5(;{x@tn^QEV72c-9#G=o`oYo8XVN+dQ~j9GT8D`Xt{?nFK)7JgPX&aF z0dCd$)dMIm3g>Z+@71D!~x~ec^vmn!z}ME@8mZM z*MTc`9SjSugWGYPfnPhGvt9L_)^!HH$316brKwmq@SN?k@4SAF?~ye*>G|Y8BR)fJ z`E%78P-A#S$9$5$zc{GI@H1qNV8rx)g-dXe));=!m_v?LV*pj3HiE8C8X z?jZvrpDF^8q>6;8gQcC@!w7VWM7 zM;I1}C2I|S*JxMA5hDDtQvQGLz60E{qR9W!^X9$Da_7ODAr6@lkYrfXf@99E%IcT{ z1~3fjMR7gn?TV{wT2Raa3g)aB)*NunVs_18UBjA17fh(|uU}VJcXc@Do||}l|Mz_Z z-F5p^Rrl$N9nOgBv!E12DUl`6%w;L;HNeAOe60K+C=KhaYRsl5F+e&K89AzDb2sMV zeaQZ#cR%j3MulzoE-||tAMNrX5l2Y7kThZY=|ZGk+YS(ji;i|}+b$3n9qrn7tUz3( zvuoQ8DYE)Cje_$4#@}}Jn}7s7kGJjWQXr{+OaFxwshzyUo(oZaM?bm{rT)LXp^{G> zE8LyN8~?=SW6xG)XFARG3IhNF=c$Wb(Vtk9O$GK6m}gdPvo#f%L__8BduCNb_7meX zAeYgjopi&CJL(2}b~VrU59W6#-2h^VZn$zbx&f3LbpvR&=>|O9rW@3lO;0xf=}dIP zrXjlFuk^yM^tlr2WS+BPy5Vvfg^6{;?*kI28}@%NYcID3xbw@)f1ox&c*PI6{PNzy zwdjZy_9A2N5Z3ri1*TGY1&vrXwT}+$VK;kFw5Gx@vIidWxLa>E(XsnVXgyB+;X4rw zf5|zlmvodt9Kp zu2@@g`p<;TsY&O4v3_%&m!N1*qFlj9oTKv>s^J?5$am5M=XTTs=ML8c+o1rZ#AgFv%Q2jSs19i+x=dO8S5 zXP|@HzC^}nhrdZLEbM(?bGc%9(%oqkoO&344TZiVp#)!I^)G#?M|!@u8-0@pRG>`s zLIoZIEX3y|FxaaY-@~z)nu)xaYBAK@tsHw0B)ydbuy7aU6Chmlm)yhg@{aQLa(XnE zFPj{cyxM&sYhct29)u#er0Y4rhV7Hy|9?_Z{wBVY1Js@T@hG`U&~vy*9US4Z3mzc8 zpyN-tpaTHDpaZ3a!NZ8lR>NQ%B48zbijE>SDx&iQ>KM<3049Wr!uhBI}WEJ{-W znfO>%C&u?HZ=s*9n~p-en@;-&SNCpBbdx*Pt)^oyT_<>e(7KE$M2>Q)Zzr4}eOv9< z?JQ!~4Q4O${%nw7D*h#Se+=PWb^Ke{RmXKox3pg9h1>lL-KuOq3P|Ps~jwe#lK` zympHIl=wrl!xUt*IKyjwrrk7~SrTHsaPWre5k zP>7#Qg=YZ^Ynjg0#%qrBK|;~@v{M9Uvm0^{7k1R;7t#d3?=?c%W z1MQ%VFvsM9WR9(}F%0&6@ExrO5neaPoZosdI-B?-fOYU&U)gaUzOp6RgR=-ufiN$fgndio7ihe6|G?CxROvQd{+tRu{6B*Xl51~Oz{8pU+uzqG& z=kid(6%4xM3e?)V5L3F=RCp?OE?bW&S^jS$dTd-j_^^mopKns`;qj*?OOG?bNkxV54XC8C%g~r<@{Vv%2>*85_@wR%xCW1=J(P{gsgkTrwN+Mqjk$ z%q~9_GP_(4=a=KS`)GPj^ipd~^qP)(=rz>kf*$%9ln;m{G0_Jab ziK-2e&DVF7&DWP@^M?>f5I2LLq6o^VY<_z-vI(kQHbJ*ZHbK8lHi5{?CJ?pAX5%3&WqOci2Ho?A*;uz+2?NFhL2I*uNb+dNy9h zT^Tn65&8>s^mMI-P6QM>3P|%O_5E&1+{hd@)vZ)b?8|9PTK1jF_f6i^aZbO99?yM0 ztMFvs>27_R-(bWH=1~L}sjc~Q<6NJ}4+K?jYd|+l{MZi!{e0dBKM;t#tpOr01i2sB zIOfxn2$1j+VPC7St&FX?wH@0;K5ml(gD8j`C|e^))RZ>0AW=X&&v6fd&86O$;@3M6 zB^$q@fcVu^cN7o`47!tmP+-uV1%v{F?jj%*0Ge;q67V^nu^Y*)J?nZ~YMHA2swjRIK}E&JB!wQY?;-dYX<`SutR+a85NdlzQ=_82eQ9)&`CcZkTh z$6(s_C`9dDzH$67BK!kk4D(9gOY~%VH~6Q|^E{90Hb+{^`%*K@)bhR}pu8^yv}5kJ zTk@nU#qj)#j^P2}7@mI%F+A7f%LsYy;!u%&jsAt|Lq*)iJ?G8}@dU?n_I3IftDoaG z?m0IfOvQ45C+&;%uUJ3HZRAOw8Kz=!!ISnC`^wWSRKzdfixJ0^Z~vCc+Pg&cV0io zZDjo?JwO>&;V-FArjlHJ{)SWuEbAXpCNSMJ7_6zX{@t&rw*wX|6?`cA5 zVQ>U7mh5T5580k39^s(+lb9X-qgRpWe)R85>7VS)2hUFP&qc@AKsWHrdz?n&*`bx= zYs|B^GNrR@YM#+oIrSt8XW8sPB|D%1o9@niaFXtTVk&;;KB~nXP>vh=zBGCuShT5} z{QJ_~zY}>s;(WY8Qpb=9v1y{F{D1 zWy6KhvPe)!kUS(u65gkdf9Sf!9{%b0=ToE;_%3#I4Ra+NchWxXQHv0_JY3a=#4T^_Xd|&aJ;X-d6c!PT zn86Md!9^OkT#tU3LEHkWK5hZsV7%hI8|de@E9BjP$Qcn+0g<;TdETvY%(XI}?CaSe z;Ug8xkFTvv+;WN?+eF`=nghc$mpQKTZh}O~m8k`Z0>*L6VWjULMU%+OA2O|yxosSG@au*uw?pO!Pd~?P+;c8fg`pE& zYB}|(D2!eFi=>)(9)Xq}JU@(@7PpZYCtVkLEa49N`EjZ?L_fc+qkewdaQ%E|C}l8W z26smhT%`K>*0a&ipz8HA=r-wR&~MYvK;-o^5Vh#%#xb9seg+Azkt^`yYb&Fl2gCwR z&scw*o&$54SNd6yD4903AW^_rKO?X71fpd1GYYJXpC}*{81zp9LSeXmp6^W|uk?5# z#p0f>EPz!j(I`ZU(P`N6^GauUqN&f0!LUS8h=?+iX}BpzrLM_|eh&j@uxw#J$XLIsctsJ8;>q`c7+H+$PrVJU8&1?XvH@evaET>D(vL zPz9Y^sha5AhVu>=b=0{R6?N|5fl#g>ZUzrU5tLIsyK^>r7F4~S1>Gh+3;Jz(7Kpr_ z1)>%`+c?hC)3YGqHERWad~KR~w)^?unpmJIsr9T9MDcmm`CxfKt4|xp`Ev%FNq_z` zp|$!Gg?7z|a|SqL&*u!5bAGHM;e3WI=9j>Lh?Of8nv{z4Mb6kGp2GPC-m5HhRktiL zr%1RPCHIei(e9sR!n32roZFI^=W*}95a&V0pR8&_Wc=+NW&G`B8GjrE8^q1v3=}~* zmGMW+M#e$a%Q)yZ$vEh@$v6;s83&>k8E+it>B%@qc&V&m}XxUZLKay&%Hm5ICr|htt0&#LDF?3z&f0Je@93C@Q$*6cq)_v7^3we zP)v10UDOT8|6NE3$6g}>MW+tz&`Xw~0uNYk;okEa(RQp60l;fSC@l=0NsJ|HMED_F zBcl1L*Syf5T-TsK*|~S{=rqk-v?c^Pfk$2w8jVMXR@Q`w$Mn7?HAl#;mm3Ui*OOHr zz^1$E1KP4)BX<@u6~F3(YH`)aadS<+uPF>|^SO7lX+8Ijeok^X=r_-2ZcIX*7u+caEwJ zk-2wul(~16W$yJ5G!Qp~x1b2hsmxtC8<_)DFLR*VBy*tOCUZdKWe$j1WUg_XrzdkD z;iaqsKfX3ind_dvc^eGZN4D|>gx1}=_HG@(<>Z+lMv%UW?Dv;q4Er0;34`dq%w_kNzLYRJB<=%UjKqDM z%Oi20>{Le+#&|?r{6>wy@p-S5_kIlMD+_aviHcnB&w$8Ff=(%BC>Pz!b(4N9H86ebAUcson+r{@biJl`y4>j;&U{P^YnZUknmnc z1%7;Onm$KcAdfS>A&!3~v4ANU?Jas$4h#xSVqTR`79`3KF|{C3z}frxuO`j|t0g}l zEjq~DYp7X}x!0=N5Se>-N11zfS>`?mK?89!_%e#1oXXtCXCrf<>SYden`933+hh)i zyvzYni_A5S^Ymm6B)pVW;K$ciM&@2eEMzkG`WzT0azW+4!H`vmkSCifV6GHNJ;p7d?x==+PvjBrX#)pd7QutBfD12}@p=b%$>s9HMh?CJ zsh3M2^%Wo$A;q5J&k^7Mj=P&jc`wtGSTO2kv;wE023CD-W#soQ#6l*&Z_R;0C<^i` zNR+6WT97EDq!~y&9yD=5G0W5rPq8L}ai<$*} z`yZ+{#K(DWM;-fK>T*HH{vO&C#LeIe6hS%laem#XS0}m)1ysE%1zoR7DQ~9rI_T%R zG{hA^--)AM(nJcM-22MDdzF(`2U@q+?Ffk7V@5DEC6G; zYUsYt_fY$!Z>D~40jRW?I|}hWYGvy8=WUe+^9m1rBs$#dNZ~0ZXNz)^iB2_QIPB9X zL{FRgLk$dM`BV&`MS?BV=U9!}@n2*s9VS?(M-FNA|%2W!84dTu{?C%moFsyg3Dr zNg!uB!emGryYwATbXWtF*cvb_SOc!d={uH&C=F+=qN(^7orJS9#LpGI{>*KWz>+DG zvgvbsENfuY&J{mvG&*jR=JZ%3@uZzKe*Wkuxs5z2IXISFJZa~TpGo>jZi6n!go<)- zm=W}xvXwlIc&3^P6GL8>-G^|Xv*YX=f1G{}HuMv!HpGU$ucHlpU)hE(Y$n4A;%2Y` zMNm#{=vA|^p`hw*DCjoXP|zpE+L)UIB5y;1sKtghj`Q?vC`fp#S%Dv4o2Cuzo}2q5 zv4E+mY^bR}l>>v`D#RIrM9FPHqJVa8`*Z9MB3t`8qGW9?3T!ezFCY}!O{QJzJBjop z`}m)x2eQ6=rU10k$DY4a&7Y-KroJR^Yn!sy?`mRHe-uGE)%$(=p`4SND0Tu>ulGT>N$-Pxo8AW^ulIqdMejF` z^YrvSNO(~jztlaQ&~EAHnIe&UY0<& zNtQsrO_qSj%MuW^$Wr4tPfwOW!b?vDetd0ZWa(SPLMBV!&VjA6BuLaeHnkv8K$4|q z?=D_<{Z7t;slS^8Tlo?siiLng0j+Nr-|PK7A|*1{daw5fJIdGx%QE)&5G)WQ9&~=~ z`i*k6gAn15C*_FiCZH5VDaq-9W-d$NUT-|?#mDCHUO;?=Jf0e}=}8Qb&Oku3Lv@CEVm_DkpNae)P&8<74gsWP?nR{^yT&EpKW z7$r{KFf62QxbECy=T7s>z;m|CzVq7Y{FMHJC5sH zmM^AXqu=(v_m-XZrlXAvUb}g2`)e0^^J^?{aWzA6G;I5;0p7B6!_wmX(&EC>;+p>a z`Xi6yxi!hrFgFxaJQ@a!3+GOBG>n;`1Noa2>;D`1M z$3ARZr-?yC+9DQ#UcG_C$=|j9DYbBZl+&_5BS@-c0n_JuA4xdym+09Kchs|Fk_vj( z%7A=t;+~|NmcbmI^#%1buDMI2{=JZpkEwr61&Yr9ij^^VfYRfUU}byTJi&7&`l`t4C*Z_gEC0&-!BcThIEUpOYwbH%?Pj=*-bX3Z0qK z3Y}yEYwLHV|J!py*Cv1I7u0ndAE3bT!7l}b0)u`fAQTw%YXPA!B#PiW*>6E}g4YFp zPLDwUs$5r4z~KxBSh9XF3Q-VXTPGm{xV5cO$Xknt=&m_LM{H{p^47ApZV8DI(u)S@ zwS69i=y{jLcR>duaH)T>eeHL^|AsJ{`cfvK$4FT|y$)~_8dv<&>i`&QUI&n|ZU|TS zwIl4XgY1V}haKD|4p(??;5j?oe&F?U+$PTc^8~_kcHsRh(9dxj_nduirs7!^ts3}6 zX#P#F8`ziPUysJkZ4p9Yn5l^hp~9f6!GaAny)8~=wvfpDmL9YsgTj!RkGqj>NY5gk zEKPBsuzaErO{4I#CC_{8vEt*b?%l}oV{y9G8)gSXYms@hy8GOw>7KIR5fhRhGS&a7 zn&f0pBf9uY_TPS_qYv{DdNhv}BOm5e_%L9^40fRiE>b_{LG;56);d7d=Vw7TB$Z;n z1N7<5H?DC5k@E_87+nSZNcV{~j=73jjygnD5Z>%D9{~{4&`u^B!4$sH4iY}wWM8YV zsSv8+vUX}}y4y>h-a3))NWk+{r`ZKVHA zeR&SdWk8)j5hO}h0}=(adC+Lj>Ys>`6<`$F1vuWb`um*438I`o5H@El#$Px7qh$%# z?7C%RpKwFxtPVh-LA4a~Ut!Ox^jD3hslaxkH!J2s>r$EGwQVt(drtzw;u_ zTmP9zie75XTVLE!4_#c;LxTzm2gH)R)u2(|>>xz=V{sfQZ)GY_3Mz(lgU*$MX0BsG z-Wm^kwPN+k3y6=9w^n1Obj5_41V~p{cU)lyEzuo+$$_o9Ly+i+T?-Ngw7TO!8dvKt z+j9|rB~mgMP4zcb6C2rZm*+=2&drY!x!gt$o`Jau;%0CbilCg@#V0q;(~0%~fU38P zpc^J_JZC{apR-~AG!S{a2t>yEjSZLeJo&ghC;BA9;n>V)_gu0Mxjph`RSHjhTlL*yA*NV0 z6`q382^l-~%VRrXsFlcOtDX4Ijop@fO{7qyhKq-h^VkbZ|m$_gk z@UR!Nf}K!fHa*D#(izAS=PynWeS8Q7W2=ag_2p3D%*29#P+-s+0in?D@gY~S+ODf0 zelEpqpk#d*6e7pU)N}lsj@nJVx&X9@SxQ`Pd)~GpPcF$+pcj@L3K2PrLoyZK??V@D zdlaJfL2Y=y?~7mTEyx{azocP zYkj_kp_&pMPlMY!&l&lUxffdGj0iiHN zVL)FzmtHdNzYa4yq%ncjPD2zTfeiCKv<5-j8ilB}sW`fHof~u1}?tKu%IK~D2 zTnxtKz3RFm<^;%Vhhhi8BD*V}4uD4LLAlF+}ZHQcdvZGvo za=2W76~YWg%;1|Sf{RqHFPV*8gQ}Nn(DkoBiK9WkO|F5+%QX@L%Nh}OhQKl=tGZtaIv540G4Io_)tI12ss>fTDE z9q7hTyB~VLfCSDET^!0t+@+x&iMuT{=r4C;s710rA>qf|y`erCfwy5@5fmcVh}*ks zMSXj`D%&1~LVI`LsBe$=XxpPuXz#8h_3iPJZF>}=_NG3Ve~V@?bLlQJT|R_bnEKGh zcJ6*te#qTw>POIBY#K&TZZ?GlI1HGHvF*E?-n!+(sWx}$?f0gbiE+6*PnWk_2CiLT zpgy7mJkkN9fbpmTkjc19RF|(qErOity(T}PxsQK(uL-g2?lQ%+Mkm6qbW>rL0v0m2 zroyC4VLXTQvz8|ppR!aV&a@MW9_EtvZn;eypR(xVIXj{3a|{c+@wx7vvne@Kv3|gF zc4FD*7#5!6dYpY?C4%Sd1hdaEEIh|`#KSVAtzEX;m!{;PPH=?rVQba1{)Ix zu$ORvO%sUm@%plmE9AMyvVi< zxa;j`f(KvZm{4=OXpbdGx{DSt?1)_2a3t+|sE(uR8rd{y_rf#GZM4OChGlX{@R#hf z{ZvPP=2P_Oki5W8;KZOaX7CFX(G%Ko3s&iWU=hAm95;Ng=-*(k=$^aD`5NqJA8`#C zTzLNme7K5!@047sz#F!?@^JE2+>@~t7XaRhi_*g2QsOf?7l9wLt+@J)g8+IB0{H*g zr!s+ufB*nX8;_(A7p1j>%Rzt)*2cB-$N!SH@gKRwzt9d;$9tcq|03;3oj?93<#8ke z$=(}`^$RjFj{hIqY`CnA>B)w38#s4?0~X9N)lPep zt>HaMZEb(meDiE4j7JW1VM zobNluLQ15|UT3h5BO_}$hPfr#zrW1>e2RXx8`hW#1I5a;dFL~(}(x?Ch`K*`M2az(sSt-mypY*HD$t!jK3ruEpfBE!@w?sHybs z{(?O&gCUpQ)f;T%4Kcb6Ku3mtaa|D|zro{acQtV`$A@qal5Z2+Wk%aIm;61H^Oz=Im8zx z8AkT(Q%`*Ml~-NWCz<1(omf+K{I2^CCz6mMNO2L?ZGH}~Bl6>kZW z$mRV#CeqK6Oz2YDvtsxsn3Lm01FN(y@lr65qK}-HnKJNGxZJJylZIPTQ zFk%MtD1wVLPxR-aAGM0?|3vv;Q1yNk=(-AZKKA24KleXE{uhY6(*Z=Tf_|iXe;dbq zOzT?M`wJ32GgN^eUt5_x(T$0POmE#J2L>T3=q*8_=Cr8=i2}}EZ{3tQpIC4GJt4{a ztMnGAq`B)0hje;W5`|I_iec4A%{d zPzdOZ8Ei!nJ)vL=tkVC$P97_)r-u1Cfr(=-aN%_Y_;8gp<^pdBiFi0UBzh!5A^JAMu&QT=-#V%!OWq0KW_-@F)-ffMYI{)(#E=fh6X_FCAkpjAO3ziZK_)#;ZS! zjjPNhF&Fw5#)d0ky)ZURVAQd3B!nS233$QErN<1&IRA-gmhraXzu{aw|fT_gDEYpc4Bj zrouyjjTv*@+CAPm=8^~W@Qx63-DXsJ@_?pi{r_8%ql5iEe2>I!32*StZWn6KH@iJS zQr`?PcD#`5##t@=CAsd;cJ#YGOOFnT$&Ml0zYIpr;Cd*6OLDltMiv_#P7TWb)?0|s z*!N3-y7#w0U;A6KTe<>AF!($`>-B^svKs zKxc>f4j3NqEbt?~TDpk{gCJ&p?VA3=PRe1bOzi?yDJw}&F0SF!Dz(s=S~rMOytsln zn&{#RW=daN(RRaPdbaouG$fggzGDu|ZI-gpf<)$@{Bp zG^nID8V^liqwnG#?`)&x0X@7nPZ^)j_y@u(Hna7N*Cico;3Y*HIJh;89f&1+zfUOI zIOHF95F-4swj6OC7nGb?%k2(m=5{BX@xsH-5LlbMsu!OHR%14%DlcRffpmp)iFdVw zmaKu?EeGavU&*>4QS;8!f< zlc;@amu$k256;>mp9hp3V{L~M{?THKwlTPijldVtVNR1BZuiW22%_QFs?IyF=g$P5 zLHy(FyYc)hi7*wjq2oB)54UNHhX|XYP~xjl85TA}aUGkXggHfk*G%HO_jVF0Cvz@J zx)(vxCSKja}$y!M6ucCTEzHqGVGA>*!sHD5t60J|YU+bQ>?TwAc7htFw9Ych{>N?h|vlo7-P<;)%@T zJxqlbNeodsqjFzrCVrHu?x$+-g`vM2?o|0gNB#W;LQ~M+kAwaOaWgmrMNm$4_#^0t zJf}7BegjZ-I-GkP9IjaBf_|=Z!+rxGavG5ldFLzNZ_qf-)APhY!h2%&Rr=b>>^Hc- z9q1%Rct8#e;wJN0#R!5#`6i|oBnsFja`wF0#4`6l;ykeGeKsX?XaSiEoA7N+n4SxJ z5H$-j_h3~UB6DBtD05#d%iL2TXdrF|&qNWFQ<l%Dp9hE& z5l=-T0su}#ptLY}2XUDsBJe|=h@ioV{bKYl*8}L^nbg+iRwNezp1n!{&#p2TeW3+( z1J9h87>#F#R(7O8SA(B;Ew*uMgwJB|BfeT%i^U*JlGJd6IK`v}b2L#>gPGDvjZxNO zPop8pY|UeGU{K%%KTwb;vtnvNqJZQFZf?!D+==AT-nCOdHfKTmfi4O2IBLaUPKY@0 zfWU!a!YMr8>Q+6MH=pa>I-{jH)d?FAk%WzfTUw?96@hm+k8*FKhd<)iogqJ+5co6X z4)*v0>4Lf3+;nUxpBaxEXvMMNm%V`7^VTXHfO>47yG74Ek;I3`Aa@fv82E8^?Ki z@(dDQf-CUjYbztqPazgC2P1j@*BlrmVz)d8B}kO$np%)3;284!RAMES=cg55|5kuK z-NOR+!{izCVwp4*=%p~wOJSfF!^-mf3~CqT`I)LVM4tbvqdZesSF+DPf)Ina8T<@I zP)_CfJF}5zQ1$W*x=r#7`fc(IL|&eOs70O|$9a143=&>~EAZoMDkfFnFLB~KR$ol?c)(=< zEjMz5lOJ8mpq|v9R~H@9nTM153p~0nAtYfCWj?7r@Sqa+*;IHahFSfU<|STA&4La- zSJlMtX}CN2>mBv(*Xi{R(YqV=APoyf%%G1VxJZ4VIr^cjYbUxp15~|w1zoRR6I~Db zxqb~f3Lx?-6^KNo7IGAgV?I4C3KCvZR^Z3iRz`20M=WG|^ZXo`&vTWd5F|=Lm|Bo1 zAnDCLTJov$z5CLn$XWWGOa>AAKuh!Ltm}1pbcq$dt zd|mwlY8B-4LRA|gr{Cx(r{5SZr~5-V!H5|gj3T&5<#cH_atf+mPC>UxPC>s-PJzhF zDG;^DY2%nrPfkI?OJ)Urd~Idq^cBQHCa15=f%!aFawx3MZP6^H{C&YPPGxZ-x!wy)~N=M7#<&796~I{{utkaQ;iVEVklBZ)Ws zCFc#k*-?*tlO7#n?~jG@0CThf0Mt_*vc0H7upWIOA!ofk#(krp=+uT)>wd`}JYe~p zM}n99&&85I0KDXn(!${S#8|TAk00_S|2Q^7e{!9K{+urTkuVKBI*l|JE%Ad+;E|X3 zN8{0<^-KJqAD=x?^F^)b+pZ@o`hZP$MIW@&HGHPx*YHs-uHidw##qC@+Rh$?p>1BZ zN1N7Vdh~OWWqLPGQ(UHJjwV{BXQtw1`h6RX0?7;Z|Nk%j-`a)x^)x1_y|U6h#=gim z5Uz=h#Tx^X@r}is2#GcpVk^G?eYO=?zrGud0sf3117%rFh0eq_!c^cbwIv`Gw%<~R6rIF z7;M$5UVInI+o)CW%`XZyXLa9Bkksk|Hgx~pw>sL~Z_(=*Vsmc}n+rzG;5I0NOESM; z!}<<-|J{wLK^|+vUQD$A4%EF55Bf!8431#vc!1a#zZ}LG05--bEe!5RTqedCKjg-k z1}C=1=wI0$XZ!EKvkw=*bI~}1Zs3`X^JqM$#@X_m?!RlCXUbaJu}Q2oVAHkM;6$vo zsW2{5ll^y0)7x%Ti?-YGHiqrK+V#iucN2Gy>c*(AO05fJ0>%~bi-~hnf3yq#VJ)D-Q;BGL9Gd-tZ2l)b8f5chsy0M6 zztd4Rzf+dYM?xS$+zcLrA}FV_dGc&z6I8uyf^L&+f_|H90+E+ZAZn4##&MpWY=VTB z#tQuS+B9Xe`!^vzPAnv{8N|@X((0QK@_?SRtqBD9Q;(quX7jk?%G@W2O;dj|XO?WO zJ2CJn`jK}jh7O1xIpvg|-G6X}semb!L&2;1WGdi8!*EKVWH&!et%7WRM%9MM=8rnc z=8wvaWi-dilCgz=Hq80o1p4t6Lgzo6ZG3;6NtQQ0#S=>HjeZ3WD_L3G*;lp z*QP0(&5=iXKjdeLg+w+@eMt_?=evrD1c{#89*F|ZejnlIi1Waz*DY!vAzH+;X??NO zSN%LS3o`cwRU0C6Kkg`VKQ7DMb0BCSZU!$v5tLJzd-`l-4phC&fo_w`fqt9J0g;zE zAZn4h#&MpW%z=cLvI_k8+RDh>7m0;T=Dw5z!$cMvqhwByDDg72AW^{C`>J0i&Q1N5 zF8nKB6;H)-7;tFzZEk!!35&ZY+~vQ&N{^@cZ@@zS`y_e>f61EjFFVTTFX_=dmfT|* zM3Q?aUs{w$NN8D~OjQgN+{w8SFTJ zjXvZujXpeF`oQbSbI}qqa0k9POFbH2PB-`^WP0CoJ!~A3`|HAY8f_1gJTzd_%tK4A zneqBuGpfa0v!g#ouK6*PySf_g-9GDul-gNb&FT~xV|(>@DPxSTOp-BnLovmSF>^Fg z#+aFkGsex4OZ;uQ|Dpj&^mI_k-nUS3i#*Ule|;?s_D=hqNBaIDU_L}6Ver;mf8mFr`U`y+Lw^Bx;EVOwXnc*JzibZ^ z{RP-8^cUmx`U};f{&MvHf6!m($|U;B4aF4o7jra`{$i%I{z6{;ND^*)=4mtC!Tb$7 zhw1DS3b=#WRNoX33hmc2)83cWy^8Shd5N#n1BuSFo(SLhu+F$^l|hP{G0o^&W!swf zGyB%y!nQ^sYF*H$g8}DJ;Gg^(@x^yk2wzIIhCGjS9d|2(Grn7yha=pr?1qQG0q^dW z;PJt8mNn1h*{6o*xXsR!Y@E2Nm;0jMB9f^u3fNFx{_Bpq{MQY-97Gab{?6I!a!`fN zvH@sRF|UZ?~4L9RDb=ZqyG9$gZ=`MM1Ng8d;JBf&=cH6)?e>{{sMsY7fK6*Pv`mz zKMd7h=))NL3%CPctiML%YXtpedzk1iz-FPp7_Zk~s225?qyPVd{z6wK(O+&Trl`M| zqlxqvGo|$xd{O^BkUlw{-?MX=d{GqI9Z&e3;SRFzQu{=|mHbYiwN4reO`c@f%M$J& zTW!CGZts_`g_cr{+LvV3;S*XSo}BgxxsCG)O>dDDT)2ba`^1~99q>H^524@jm)tY( z+m8D4xAbV9i?qpWxeN1aq;r-*IMJt{FY42Yzt03pVR?Y;ir(uBnz{Z9-)F+ZPE|Rd z`UTX%uzy93-}F`ifOLiP{{L+UE!m^;gB%zPdm-;HNYvytwIESIng{8;{2w9}&&!>d zl=PR(%indJm%pP&^LaV=A?6~8C3ErHvzd#a)HoMGvu!To;kLP`#%y|X5lB~fF8*d^U3tlp5zEXtvEoJlr-H)tF6hE&}OH=Hh`ZX9VDf-ho~i`-VTWgO<$2 zpBI3^W0bEH{eoJBDeBjUZgGpAznA6~867n6R;$mdG;to)LGmw9Ze zU#Z%VJuAQOIIn+Sp4V&lq_$J#V1G5Jx;f504ii51NkKoK?_qy6 z5V`rzi2UTw?}Kd|=jllTNO(!GuhQ36X3xs6?La4T@tYhN1Yo!P{zyTh=C`Q@i2~A| zm1c>J<@M5>1yldF01Sd8^7=b!71$jjuR=$08R#frAY&>JXp`6fqu+zPUZ!e83gTvP0E(cT%Io56*d5kl20-9?{i=ffP%aV5;eaA5(OlAZQgMjpTYY>&Vs4`m;+n+5+sU+fJ6Zc zzTTgRl*n9bZsw02W$ced8H;i=*MX3MaN_qJ+9+c?2r2$}f{u9CBPa#2N^&!xnafqk z&ER1#N_M><&dsRto1XLl=?vrrXS7v*^8S>cypkx{?-ipkEI&EldmHW1`m4Q@;Lp@P zlcy_6z`vA$e|5m;uj;L%0|eVP;1j=pW8jwUF9=X;Ka$0E@M^P=C`3t5J_X3D?eZ#9id{LibKk0>pe9V2grUFH$PnC?3G64@*u;Y>7g~U%_ArSyxNJMF2 za3V35Y|6zC`9fkGv!Fk@u10@Om;T5dPvFt1?YU@!F6aavc~NmR9vxc0K^OGnJD${h zQMX3et|u#ufK79SkzY=FPXtr(>y4-u*Bc!-W2`q`ZFf9{p>4hy0&QBafNxfQP~?@q1a*rj3p?#~@X5qE*cB`C2QALbe#KF(4&R9e=p2^FhX~Qpa?F^;A9lRg59s6_d48_ektd*C;DCk zIB+t-BjGFH!b?l+FM^j`R>JohfYiwfBlQ&^6)DQU*U<63Oi#W*(94&d2%!d6eQjlO zYg>o~OlIXfn0jjt4B{jHggU<|NVJ%EBnn8mwPvk=dk+lRN4~dmFULaU1ngY^DxJWg zJSQA{AkPVf5XN&>K?U(Hub_f>msn6iyyOZ(5HI-x8^rHJe7PXrr41}siz8itye}aM zqa1Y96<4s1!ktiew^{LQSgHRfoWT8uet;fAt|Pp3MsoJ4 z2au}l-R~>s2kP?6{wK?Cj-V&4lN7F#bT9(CJoZ)gCw@hjv%YTdRsPyhU;mZ5QP9_q zfo2A=#8)|`Q7`WxMEDykw+c#L`=)n5f@ZFNgRg>zMa$yZRlPX3s>W=3x)exPSYK|l zgO=#a19D)P$pw8WNR(8q+H^4 z)q`o!;GIN1=^;6=RmTbvrA|#PNEDEK(ynLd4{c+?@3~NUHhDmkv;M__)Mxlv{GGqU z2(S1TraD~JWbZ`7H>R%asK2iquD_oH{S8Lwt{xP@MXJM}PCu06!->8z1*$$I1l{12 z#4#c0=Q=m+djcY-5qTKBgOcxiY8>-1)!+K14g4heCr75|+{Eie*T$d=>fC2>s6sEeKfKXu2^#z2&kg&sk>)^}e z_+Re7fy03Z?^Ieof>4rk#V@PP%g5kh z2DuP&`B;nZxB@yf~Dh@r18>ar&@UV zYG#@WZxAygWbjNa?^8GQ?^6ZTmXw`krozkQh|>nSroyW{-_-IhHLi+Zh9+uJS&x;4 zgBQ~68}aW($EZ$jc;VZ9FOg*^iGSVa6XiD@0o(WG-<-zoM9^X9jEAXM3MGQ(_sJ7i ze$&|P+w|{MV`n@#WR}O*H=t1y`_~#@U)9mxT~)MqgIBzqHY=?I1+>W7R(5 z-X%~9ri}WnbFHA6+p-W}<6&>U3h}iXv*}qZAYEY_^>=pA5*u~H92nF@A-)zQTK;N5 zqJV|?`bI=5j<0WwK}ljIz;t~50G=k2zu&TayY-~zNoscME#DqRYw)k!^QpV_440Rd zKekrjR=V=|dhk}vS1?2|H7KV3*lUaPcH)>C6pJx6ctE_$z2}(vn~13a;Fubvg~2z%n7Vl}h4c~DQ^FeS zO=!^I@g4FBYJi{__e0O!@%@1zu(YQcsPdHHPrO%(#@!u z_%o*3p=uJ(H+&mnw~qFLnicY~gNtD=K->&Ifg&iUHsihY!wh10Q1vl9=my6p_Ip4- z*YP2S2O_6|dFZ?ol*jOm<2=O3c+WkvPYq;3^mc)~(Z`H28y7Z%Hd~cBZr{sDN6`Eyie$w=vc|ueR?!hGEC|9?@AA_U4EUPxy$9AMsVZ;-$s; zrNxD%#Wnr;^+z7ZbA6Ic{%#Pb7{CGJ!nqR#aLiO3z#ZG@UGbXe?P%WP&(wDz1~Pl| z4<+DTb6_w+giHLv9XnX(V_(_LK!pAR9i`$;Ep#HF&{06U=ChUX*tJdEp>{W7#;*CG z(7u|Z?@+TUke71&k^wN#2r$lQ$-vZi@7U+k9ctRoWG=D$9VOoV&aklio$EOBC{*=(f-hoJ5%H5TMXL1a=?Y4Qc%R9=Bu+fWnRe3egyZS1j-M*ki?}ukPK*y%XJ6 zW(R$>$UIt|wdXeWYPf=(|3_jX*!g>enzQrwBuHxK0UK)P=Q`SX9H$s!=l=rZ4o1zO zw?sv7Np>D=WOn|t+1Pnd_jVrii*_Cy!DjLRv7P^4*m(fh&ZD$2SWVqX>^y$xVCT_4 z8vMdt#F?E3&)&|1=c1hl-M};3`O$dpWak^_nX>bCY!W*U*mUhYI1$TkDvXQN#LhEK zZ|6}h+Ih#@HQCOGVTYYZXNTE&JmC#HKjNz;JC8w_#Ll}xoT8m)jwZ76%+$DcekTn{ zX6Nr!0^U0Z1|vZFUhF{G&I=u7yG$)~BB0Pwz}(K?hnTTO4uy6jH_XlhgEdAdL^jUU z_vPPo)LrcJFgwp&!uDAro}9LQ+y-`DsOk~O?fm_SH#-C^2mPX*2S>1(JV0#ce*rrW0NZ(#76$v~b{;=;u=D62 z4Sp9p51zf92hT-254wS8w)3O$+{w;2&NF4_?bsxC9T% zTD0?yw`;PU55o>SkIoLW^LWA=c7DWHOLiWEFo~UagE&Py&m2u;=b5Q-?fipiNJtfH zOJ?c^mw+edz+eQ1+IgX)Y*(NY0fmkN=63!e#Edm^D6|{7VRjxEtT93%vT>$> zmz_#1(3I2?ZR$tlzf6j{fex!3EUZfobh$WQ zqka@M3o`d;RU0C63ms){p)7MZfuMo78Qcs-P)=p;y0eivQ1vngx=k_%`fV}?L|*2A zs72-)$9Z}(2NGV&D)8fLD>_v(1#}XxL zC{buPl-R5GRg#O}+xvqale1V_5CB?hCm*ojgXi{1UQO+GyyJ0%&7IJoxZ|Y$ zJnw^(8v;ENa&%AXuTl3Ay3_u+9&mX;NW!ps{cy=8J$HZhYP-g5_s-PPUp1OKQP0B% z!)`n3yQ~d6w;?B{0{eLB`br*f1K1E8Oj=ly%XapnyQ!4DN;^ zD5tvURU!eJb$dYb&FRoDm_RIFBt zTTCsqR8O=XVAi1rED=vm>j7?K9entm@xGiV5pO}ht59=!yqX|s9uKggdAzk9<$rBa z{-b?44}byyqh|0B6u~9s@xVsrli#zb6DH2%fx6cTpzkWmlF*C-N63ls0C67gkI3Tz zzwAVq8BUQxHnbfJX3i*J2puk53uRx@xX~>?o5Sok(%W3n5NI;p<2x2Io__xdAu;} z$m5~2EbPtua`1#t-0>s6TFT>L5GKjvxj~#_9*;SiD38ZX#d*B8%L?MV3YKX|GQ0NA zIWU-kf?X3NO7WXokSHMS18wFk=IdW_7EJx*9N5a2AWu$3=C zqF4w>6p;LY^!}WGB~s1?I;;0of}~atFt&QF_d&1gX!q6)w|h^3u>*5t>_9#Be|I(7 zx(i7Mk9{9BC>G5dcz~(kkzn(717*x4=!wJhK2)5uGjiD+`s&AHD-2mxCbB^DM$<>Sq^l*8g4to>c%^BJRotmuqr~ zC!cF_SA_%~B>4m$&IS*R#HFCP;=WGdkzg-rf4xdrxl2K8!s;b?Y=U61?1SER`yr)C5gvwGtvIX@m3dvRg zwlb3E1tfa`yqA0^>-qShegXYAof*v9-e|q|IS*fcVZg8tVEYj4MFF-iVEa1O_CsaA zz}o((@2^Ow?NzuP8ae?GHoy!$NyVnr)9l)ZR_A!|}l3j>+w)Y!6Ic8}(}|CXWE% z2xjtp!sw733Gk5)$x)~r6_8v9_3J1kM+0y)BY7Di32I8;5%U9*ef-mR#H=xLFTLmk zrG-o_`alCKh&AR%NSFp8*A2apM?evB4Xhxg3CapWm%<=JDGVZ!!Z5>Qn0=Y<5*$qP za9~oVyJE;Tw!6zsg{kgtPPLlPRG8>UG-0k5h}d+xsW5G+5l=jwapq~odXi@yUu}bl z$eZd}zlTlrPT#xBXZQkM*8TjXor%PWz`~QxEKuefa|_Js%r~Y=+<`(&@N#Mt#{?G; zB#j9G>kt#H?-&!TA087t12F-ZqnH5H)0p7Nvxx~nu^1D82l(4O5*!o!4KV=#9220l zFgPoZ3GlH;trNp@4Z#|5t;Y^Hu~0cZWX67cl}AX`y)89i4< ziVNNV9{9QOw-*jg12>Q6-qJY82 z1#b_q@#BJb1SAp{yfc8tj|<*KNVpGaTmWIB-kJ)9$j|5YX*I>ZGVI>rU~jM|Vht>+>x0CN-&o_ae9swX0dN9RA zxL3i{AEx$MpFffVgDniXQP84inR?^{siE*=aqoNg{C-c|`N#V`g}&;xsfE4*>apNH z!sMaENi>E9lgD*z{>srs8cGszqDoxVa|VvM{vGwhV1rZ5jGGi7j*EG(}s+98F}) zn5o#7HE(z#eH!n1`WTH#rq@571B0fP^=)=PelJ;>8C&e0W%>jWGW93(9-8`7CE%xXprt5_&wj-aJ+M{|g$64pV|UR- z!N$=UH@0yVSi`%}k+LwVMlmoN0fkWo)W(np7{<`@=Q-7pBex-AnA^h75^u3Byo4aB zEd)&4!iGEEH+8gyn~Jt@@L||LFhuqb6jS^6?%CKsP%PR%@BrJwy=VJ35BmoI+dq^R z1|Q4qAAT5S|InX~_76N3?H}j_9@+kl#^Z4Nr{;*Vf41w1{R3>e_7AjE`^Qwg{X?~A z{~R~hWcwF}w%PunO{@JwKPRz&Zk(oQ|CpnR>>o2Vw*C7YjY($zKA!_y?Vlh~s@K$l zL;-2fZ`bdpeW8s7A1kTvrpW`ETp_0UBH@ko_?HNh>T$q2=<#cH)Z;knkmu(HUxFS7 zL!`$+G1cRro{b&{#iAYu573d^d)DJ?p~nGWJ&w}C;A^=a#}C8wIQr93kAuge9tWMk zBkS?ecpR?B)f`cJ+;%Sxa+T8%B#MWCL;-D1<3Q@Cy}xPaWnWcilCgz(ywMCOQ7my33Que3G~}!35dKb0a1%AHIDQ2 zWCsI%$2lf4S{pkBSi>ChX0#If49=`ko+kigC%0|)W+CZH~f%zGdYkSnA*goPc-Q$TL zUe6MKRBr=63aC?P;KuFkaJxNt6p&OyiC35y7FL+JF87C}XDfe5&&BcBj|h^+V}Nyt z$2ND=ADheiV}1)M4KPIU7$~N?jLn@uy_pp$#oI>lkJ@bk4_WKMb`s>PT-N_vC(*R zX#Mp7`FTn;M^rp!yPm{jfK4|Z1MM^(V=6u#L$w%>Ic~1W@mLtz=6DQkTH`VFbCP(> zjnfq4G3IEZc#N4EJ0ANnjY(#wev$)Q?UW!<`qd*pte)sCbm;N3b0d_5zmrd{NXlDcIp>|GqzK| zBuHwf0MmBrkz^O}mwc0Iv7?<@EZV8)?whT!SzwNA7O1B-Yj^rRj~yqrS)f?7S>OTo zfJcID)}F9g0I;%yeHMVsZgxhC7JFtp7!3vF6$7Wz4f&2r;3MVrMOO=Po}sn}+XaNg%v zG$xtN`gH*ql&$RR`wg`Urp)Iw%IAHAj#A&I7CH(T$e0QQ{Jy@nD{Yco$fX7L>)+B#pOA$Rj&#Xr9w?DNEC2{eFML5W5L@cwQoQk(Bum1Lw_K= zA*cOERg;|dY3%BYufMc>J4ywa1NQ8wv-d3O?8w)@DfBlOF@qf_f{Rp#Uypvs{r!pW zya!dM!%YRcu9B@4fqt%Y!&(s#IgQAOTm}6|*NPg)e0uq9knkC8+c95Tnf&&j?AS(Y zMW+694s4YxL89h#K%#&oSBJH(c13#!D$<9ardu;%bn(QmnE^g zxBR#8gFDykez=l;2*coI`@Hjd?)=1D4>HO5ZsA|`KJc%B6&QhL3rGJ#mrMn2#1FM_ zmk9?m0_VAWFQSdy|F#WS6T6CjkNv>jW^Yw?uA|GE)-RX}FxdB{4M*-l5A8wx+J6i?kL`HDJL7R<4|0EakN~g;iPFO0?!;P>A;%Ay2WemFB6(rB!<|y_=qCu^ z|7V}d1h#?DJ1+2RlK4j?8adJAeEymlo%aT;gBIadN!(X<9FmBQ<~gPbf~% z-wMaLA<^GB7EEB&v2Y~fv6$=Kljg@2 zG(Y(J7D`r>KWty52ty(-w%Kr*8PjfTr1!~>uH8Jh{nZOSC(l$n?M+l$+n=Lj^3=x7 zLwL@skKDr5{_1n3U7z&V;_CitX?Ohh!jn9~@Z>z6M72L3o}>;g&i9>4Ao1_wbA#E} zf<5*T4yQY<{z79sc+RTcx^+wIx2@Z-N9bAg@wGJ5cc>9M`_!f5j^p~4<%{Xp=(oM^ zy=CWFFQnW4HinS_F}g)KyuN0i8*PHmy;XhAdueg)(&9SzQE&Cm7uT=pui4pOzq3EL z^MH%ydc9+h=&zwFeE^)qZgDMUgl*w|K1S)&clQ_UH^MQh;>d5XjW@*THUJ&%Oj@)G zIYY-U>3DMFiIX|*|Ki5}>a$N>+|*ya)Ze(&-((j)=TCbs4f4`)8vxq4bk4R*AMlm) z`y2b4Fi$r1*HVSPTD~Vw1o}q!#?71TOtRCuKi^-w^Y|ax|IthLPpzY;s2}tc_ak{~ zp}!7K;eU$@{kf&%c3(@h`DMD)#-+CWwF4j5^$~n4Aylthha70iX8@4-p)zz7Y90J z?l+XlM>*`pf%Al<;6r@uW9&oVJLji}eXXUR+FhunpAk^{seu(3jvWhAfqo3j*K*cT z8@rZ+!YFGw3l4d7PIpZK7#tb8uyCzykgw%{Its(rY=~M%HrF-9XQxmq})QU&3mK6a@^asrC~P3hkrJcZR--?hL$^y)$$@ zJ%N`Pjq`>QaAOI$sRX=M0jOS+Ep|WjwL4*Rvf{+UA`s*5Wrg(5N&N+Ng`&PQv>%X+ ze>c$PfMoo;fffUj@$UxOBOq~i1G%_jPyA3X(SOsI%7f-E6@B>fmVm)sEc)=}tpVol z7UhTB%|U*o-Q7SzE4hn-tXA49AaQpCE$#hy;c;(j6-R0g?cQ25|yAL7Z z$K2IGenS!Dz)BJdk#KW+cdMvx4ab%42}@xRm=uQjpTaPmW0)O#cZUz=w1lT&ZYzdtV;9R}UdMO%U{*up zVqzAExI26>N2w9dvMhjJlskM_=K`IbY=nZIJ{x4e@n+We9Q1S{Gk*lE`vD=z(GCD z{oRj#&vSnhul0kXj=%l>H1L4nm`8$xM=tU+S@fO6 z#pn+WahE%Mz@v_f8+hcPbu=E6sF-+6@B3Ht#Rj75ZSux;J&9L&q>ld|6-pg-h^ipw zqQp-~J)V6k0`X3qU?yN1&IQ-9$tv|cOR0oVCqA2U@KpOM6nQ%C}2VNA4a5N-G4YiQr!<&2i?E5 zqwe22T=$;=-4EtS_k((>`%jyV?gz!9?gtOh{X7z^`wxZg2Y_`yN(+NJ*ZufmnC?e^ zI_iG#Sk(QX6L@6ZKN^q2b-$V~O848YC%PXn%o(NKC)E9*o$7w3;&nf&McwbXxhCuW zFtp9OA8lH7Kl(X|?swxfMcvOFO{DvosaW^79Y?ck_u)L+b{dmJ_XlBz&6sh!XI~67Z-J@Hz!xhRiR4vo7(nCaRc=H`xDRPw1#&>WH5Cd`o`l<{c@+qWZI43Ke&W2!O$p<~d6mB> zBuZCw&#Qf?17p1}0{Kh|8;Bj#49@Wjde1b4cR0K5kRrL}|SgFvze z0>57Lr$E>P0Ul*uZi(&?dw#je8(4P7=Y4vj@VBv+RMu;0d~M_CUD7pW+?}?qIT;Vdx$R z?nm;}XnP=dWc(fo?peGCqGd;PoVVIR!wLf!<Aw_{>*?S8Jh4xWSzbkqh zdLo@4YDjId`+ELu37e^JSHM}{z688O33$f>(DES$l`GB>@GH!%dj#%8I9-r2ek^~De@ZS&m#{e7u`$6{z zNaXuL_Y9!%zaO-dknrqrOZ|T10EEekBMOm*;P!{{P5|E?l4jeZ5VfB;mc0*QbV!Z_ z)v>-SdS5~kbeoQc+rKL+`ar2PQ$egT6;$l%gO7uLNy*M4qJ~x*a`s0#V9QdUW2eT-kpFShQ`I{CkXIJGlA=X z000~pqqKJLMi5BiV*Ju2F2=agd+ZVyV=NltV)Q4B1&6Jpjm40-7~KhD!30Jfi%xN| zk`EOZ+ZUO{#egMoF}Q4!lPSi<;4zPjnI9h)qgsrM9p5T02HPqwwo|7R7jwI7bX*)> zUvpfHHXY((jFSYiT(ahR@~HIW0Zp%P zF8LvZ*ZB){s^g)mMkd(i#v9Hh@7K}p?^m?@(YfUJkd0afBWCbH6v0KhKjm%oLvH^k zK9>xt&i-@nT_y8BKtH#m;aoBhIRnIqTm}6|&m}jG`It6j{n7@0lFlBxZG9l&Pa@mb z>T6+h;8FW4g4jB^DWJh-y#?!EZl-x~DV@{Va@K1oDY0&T$((i({rJlH)?HcYcXA$P z2Rf1Chv&dnITj>pPMcbgDBuWkd`cS&B{`M{G&w6*$Iv*1J8VxSyg{xW5!D{4YDZWZ zds6IM%h~_^JIdJp!)5F<5G*id246rC9GSsaQ3N~LeE%r@QkJ*-2(NY`jd)ijIPmfY z9()B{c;SoBw}O{k_C9RnP%Dsn*#lBv0a6h}$l>RRclutCJ15%l9VsChWy4iLDnZc8 zVFgY@4Xpaw%E;)Wh=t77J~{`s%BUbw@?mO0qJT%N+o%0};JxWx&Eb4h$OVjcz;73E z?(#DnzMr#v8i4}$boz96p3HZC#Oa)x$Te->4hn-2k+1xJ* zocn!>fKcd?`wi#A9z#!L@8z*2;NwcbK?!(z0T}WqqwZsRJYjP~J^uNyCj=zp=YG!! zNXF0oJ~1E}Kll4j0ZF`%=}GvZuIRt%OXXaX-^Wx341OQea)6D$kLjNS64}S}F99_E zKBgxV67EB~j|p->y)_jIQ5u%pr~8;7B(^;YQF}Md#y=nSuY}PdIehH%VNWF_N|ETi zZTtB!k!7U`O)at<0Y#Q0pvZCr6j|253L=U5rE<4oQxdbuQ4^$wv6Nq;s^~ zCe6{ZYQ~dx+Sw-=7IL&)M~)T~3C!voE#^hs0lU_EptC7_KgH9iQSc4_P1T0PT-!SO zgWHDtgFk@h2S&``Cn$o8H0JtdqYrpzHklx3j6e5uVgZve%AGtT2L?qZ{*d~Phage1Y-&NG zfE06e{H9OP8>9Ji&m_)G{j4thhj02+cq*32fJ3uyW4KsOpG}VjIsJE46FEIuCDV8+m1)7D*)PcS^XSna)6ZA6Au@enN0~mbEYova zNsvL@4A!Cu%Bf8Mbv7~$s$Ql+w@Ic!zfGor$jdYkwa9eiI8RTeLBdOM1%7;Onljz8 zg)h0&^aaF1Cets>fkAv_ZYz5$NYp$wwIETzBi8NRtZZ<<(rriw*l)^=Yj0mfoCj9D zo;mSE)-(4o6zG5gZDEPn)7jSZF{ zWFSobxArMF5xkt&+#x(!JR{~cK`Dq;;>Ut!E?4*P`AaGn9^rQz! zXCN;aXNb;|NfZFAaGYQsgk zeUUFcSO!@_!;D0^1U0*Z9ewCSd46NwJehdm?{5h&N&>|XU-E5{gFDLL!NX|kN{2@eqO#JL4_;sC%~eNb8$T!*+!w))_QY^x7^iCFKTf4L4o z|IU>D$#MpG_GT75yUJYj;VjS%JoAp3(Rg-f{fDzG&vQL|Z2C9;F3rYyrgqQRu}OB% z0EW3Xrot-RR02-qv^vjtsjXQ{yF@q2>+@&V!9wxuy5nt(v+Hl9vH9KAaR+7?_6>9+ zW)Sb@T`zdT?|R`!d=;-az0^d#w8e2QHF1MD#e?n4(L@K^nW^|-dw2isoz)YIAc+hJhJV%FlT`i*f#lk&hjhhcT>Nz(5ik_0jNyq z@~iQv1@Pg4<<}4(@89XCi%p#C4Klt|ue41BTjvM9R4e28Qoz8Lsle9xfh|*kt@B%5 zUVEqL#6It9qwbe{UbMg@33>IR&-*%RCia|i#=%iV%fqn`_!xs3~cE*@_4bJduQX*LRL?m#*NKX=o%exvl_?9S@m z4QQP0I&%GbJ7{qpHVBG*0_hFZDo9@NM~^-_$e!GnVLZ-MfZTcvkjZ+Co1gLils8fX znV;tWG4~zdmK8<*kDfR4V1R+)4Ku`fGe{WnfPfefP!UBj;E01FAgBc00lXN`y()@X z&=IrzSIlWmYg%;;YeLtEu3=qWSKT%4uI{3)81P@euCA`?K7GzTH#~;-eFNQf&Z(-d z(-pf<-|8Jn?{7@6b$`kM9p~-=#krg0Yo}r!gDKa$FPh-U^&W^O*r~;fC(@O29yihc z6mSsZMeq*boM&@sB@`a&lG3LOI^zkc6F%Ygj$^P~(j{@ma9 z)VWOj`g`fR>;G-I>smThd-j0S7Ivbw$Nu|D!1p)d^Xsl+XFdR|>RSc;!3gHGh^@!q zLlGR#-{iDgKJklR^@Xqe^hj3u%x{nLHxK?!k%R+*J^lHx%_Aa#@mjguoa+k4SMJE? zx_(%ZAXZtqQ{V*buH0D0OlFV zM+u2eC%g9lNqV>Vr)R^?&fG$;oAXzB-)6R`8*mj~H^ocxzF$^)-w9COcaASCv*SgJ z5777RD!l0g?q9g8@TvvwD!j8a&T$o9K@NjNa~K4a!h#PH|F!P5+d!izU^2GC?gWCAvd`6LszfbD3iX`19^*LPV z-$4J(Un;X2_ep(TF~ogRUr^Zi`=tI+k;p!&FDhvKeNtZ{Bs_+EpA__fM$4L!)GGP@ ze4iAQ#NUrba(|d+m-q_I*;K%f`03zUXoS6kSe$qRR=5wxshUG9QOb)~R&taI(Da^mQ5SL?4M;jaGwqeNM91J+-b-GUqvl=C1 zOw0n2V8}5?=_a0Kc7GDjA=xLzHW%p7T21)4Wh>CZE^p!|d2gqy*firwKkfXJ4AXs5 z+{ZpCOe8RC_eo)1qyzBZ8k|9HL2KMM(oLG9d_C!XLwlj({Z9nRE8c*~N35uMUrG4! zm({!v?3l+KNUnYGsrXYiYX%=PZC-ae2N??(cfAYH1lO*25t?9`%HQCL++kK9K9laK z=QF4eQw?bR`ZqX6ugd`hrI)XD z@s4xTRLQ;2vMM=X)2)(&FR6>W3KG*EL?%6{nKK8mW{z&LW*#^lqh@{s$?aCDnd>V- z%^X8#rV9+QTPmnSLh=FVI0f|};VBl>nWKpc z>daJHP;W`tai)>(ar!1n1V%oI$G=qqe!C7dQG?dP%K5s`F>ciLg-!w#ItDmGzW$v$ zmmDC4I{ZJ=b=UuHxGTxm|D^={UK2jfEjUgXd>>f7iRKc00RL+Qv*ixpA4Kp3`TD;p zlJWEPA1adZ^YtGolJWEP9}^OtPBsQ@&)4OBo7v*uLx|<@x+!0m_noBX^1c(Gyzd-e z2>0-!B{tOe?JB(K1RlaXylR2F3hyk9s9c3tki#I+90mcUFw%t_ER9#8cAKk7hz z2ZePrL1KjC`hvs&iL>UTs$qZhoa&#nu@Gy3=A3GIz>@R(anijPKP9{xm;Ow9Ark#L zLGnlxFx`7`3B@`1%i_?3JI0|07vs?0QxIi>IoEp{n&6BAPLTHX7rWo$adbmD-kfN^ z1*pdm6ZDHACOATf#zNr`^9+QT0C0$j)?Du@;xY>{aiJ7qX7Mz}SB^2SB)KOsCU}lv zC3r4|m7uFUb67bV&-Jj9c+U4*G|nv(NqX62ktAT#jU>T|M2oJ1T%;$lBh!qrBf7=d zG4M7YM#)JGw?3Thq2w{@&FbHvq;URN0QFzEqrQuI;8A}w!-;y8CNlp{Be4QwO%{ zt{^e<*!2a80gj-%|J%kwNq6M|ORk_xHxXXdrQev|5M4T~qb?m*)}=Q`=3MVfXo54US%7pcX8S}@H<3e6RI>o}sGFc4I_a_) zI70riB=6W|0ms!mM7dq4|FuuC(V|-WUH4E?@%>Z}~o!Mk540M%e zu33!6b3kjB!pNTIHH*f%Woi~)HVyM@OmkHDMg*KlmBLk!i}a*s0Y3OF)Y(JV@Y^ib zEcm`oXQ2`a``fm+TFpYmj+zAq%L?B7jR>BIMGAf-c1tx2^U}upMkEMviZu)7Xrh`0 zGc|6_Vmq2YHUHx3z*ajhNQ}vLeL-S?BgAS;+E^&XYVtr=a#_t{c2s)ufTdT64VMyL z^;64CZ%Ax-WJf=AWZ4h>E1VCAyWWq{1m!$7{1#nUgqj7YM*jo4O|c>9*ZqUmEPyCF z1t1EYQq7`K&SM(m!j~5y5u?Eh{KVe2i4Et7g_`beUkA48t{^e<*!2a80gj-%JG8M- z(p`DLlJmNhe&ey6@TxBDnDllsz1D9$Hg?pjjYYlkFIv9I|1}f~Ou61~(F8}X_Xjk= zPA%U18C@ys+eF`ZfP<)S;30OvMO40Y&k}g4>z;n&0i;p)fHZc1R1~rPjYr3KG(D{Z z!KjB7IMp6ljlF5=Xv>z7>|C6kiG`Yut|$R_sRLDUDPEQ}=JK8qp<`6Y^@UCX6gmbt z^z72}i2g)pm+ne~3!87l{_(KCV-kU*BYwbgE404CW! z0N;xBgM5Gf?dTrAKOYU=pTEC=&=_rh{%-U{?cL6ofU8Qt-AlmL1)v}0So`zW5Vj!p z@y{{cLy?TXKYvd}g6$skfr}s2{7C!r_fjO|@6X>`k)-?c_rZn!zVzSxr828=fBss< z5clUVC~W-w`Rf#k?9X4Xpz-(T??*^@4Eg?i=mCw^RcIvp?fL$Ee?FAN-;YLef0$vup9=3 z$zhoPISkV|h50uZ_HWp-aY z&mq~L&o&q6{A441+_L-g`JVh7Q#Q?b(oZ}8B*S!nKKHRd9}@}8+Wq;M7wG_~rkJlU zA4E54e7V8&Bv)(r?TDi~#*{}5k16N&r05ZhxZX}^f{Q$F`%7aSc|Y=d_~Yeug3~a4kb#ie;EC@CW^xgKsF`g2Qf#093u%q%!Pv^6$W!j zU+P{s*r+fJi$2yJ9Oc=ebGYWizTbEf7X(P$vq%$f$dp2)6Yqy~{rzYp_v@=peAazP z&iJR_-!7f`1HDThi&qdKglAky6sVa2t}g<$zzPycpY}`##{t=-M}I*wsds>2_*9eN z2zWxlPNT(NU@=VXH21~Ai*Mk0hbO&gqL8d_;CuWJ)WUYBwSi-ZpxW+ZliqQr*IFAm zx}zOGdbl0m6UG}%x!zhd!IA6T4o$FAs|~EAD~nJY00+^ggNN7w7tz3{_8q*`?Yq_n zfHc~7AdMX$6=Pqo4Rm}*)3f{_7;Sw8PPGSCV{hB|fjbZj(7?nG9A5{jaVYo!L1J~g zFGviq^{}C-oUeID;#^sc^$K&oChka0j@JY8+ubY4Ki!$`^8N{pc4vfhX-+45h;J-i z|4sqDk*7Cl?4P0)23l`m&}g#4T5mb!6sbilok4uXXW$4eBVlVknRVDRPb8AF_Kfd| z_AEVP^e)7k*t6F2mX7UcvyLs=tlmagBoL!G!NzzS8tu`^Bm?}76=Q-@v^x1Wqo7&0 zJ9^#{9v16@XP3;pl=#qdMUBj+XG4H=QS3zXS05ZN>USR}c%dbBqM&EyyAOH5Oittw zj+P4Te%iYd-cEDuxQ=t|xbhr30dow*vN?9_;>}^?CCy)@pZ&}zNkZ{n>mW7Q12`BArSva1K+Bu2%(#bCV@A~W6Ccj-7H*?)pcnXe& z&SbzDLu+AV>-ql4beGJ3SKZC@hUEKq=%^2ODC$G9hIATq1B|%d{m}#$dA@(QMm?D* z-v`wg4uY;KP3j9kzpgWy?*mZ`0f8tgP(9yol=<|u2_&L6`PUkI+a}JtyO(XMTm5^~ zf%SQA@_j*K=Xpe8fIi=k=T#p@@zi~Zl8>j*7#2@0n^{kjc9}oV>y$c+u7A%0&=`lo zsdSw!2b%|fjV*)N4Y3Q+aLD07{t%vfMFet;(BR$*3dUh@nu5mvr1w6Age_H`*+W!5 zXhWkpMzr7F?n!dPKbxylTpG^05LucxrLr_Y&rZm}AxerMArKfdt!JvdT?N@BM~gx- z^c0V+_EgB!c`6`2^#hDUwecz66XVnMN$hYsQBm7@KhqmxJMY-hcHWUhIpl1Tvtcm7 zi0eH9O>mLh&P|JBJ3%$tPS9<#ouJ=lJAo+LP9SQrosBY|p6vvQXe}%76MNgncHW;@ zz~nbMo$EiK4s5lZg2d>VA~C=b_P9K-jfI%|nwVT3u;dCc`5A;)^osMoN0Q#*FFR-V zP962=PQ&$R3zP?hv-tecjk?@@@p`UvvXXAvdutI-(ltM5rK_fI~4e-PbY)00gFp!yCuDf7W}*F+xs%!oid zHapeetE1Zwj#}M*sKk4>{}4qIit&sjRN*6%;Heb}JQ{5$@JKfM0i#qO_7%jU59H~+ z92$)d-TL#pl5FwM`tuLbyysez$lIv1>x;Y%&<`T`a|k*v##WFT-k7>|S3w9ljK^f} z(^tq7hJSX$4=fJRI`S}=iaF3jiK5sWS3S)1hWPP2ceFouCJ_$t;}z@=7;(L)qX{l@ zKi+G!MHA&fpc?%+=&E5#?GotM?ULp|KotEr5Je+Z&w(0cK0S*C647G$*BX1%^W)3+ zX(=!G^Xnf&`ts+vPROMMoxSmhQO*>iN^`d075Z!%M_9HC`^MIu&vqeH5;osBcsSjo z?mzn83oe+6d&o`|y{&){8m4PzRzra*`*|B*Ja!eXtP4Mg!?lFOZaV54FLYM4XwG}ONg=T(>7eF zf7+J%0*t5b3oxE5WIS@-BX|s+U^e-b4Rn-8{*-Mr9s}C=DI4hDMD+DcM>9vvmur6L z*_Ug8P4~1N(9XYAV=D1{9dwJ|ss(PwIA7;#nxMDJ*^DaM=C9LmPwVGs80REM=ma@U z@pClhXrj;2n5p!0wEc(0373oB^e-ftz>+5Z@S*}x4K(j0=0#pf6PhE6iwT#B7IdBW z;)^+6xWz>#j6ZOFVZs6{U<11vPEZY@dAL|-*Rftw7*_u=1>m@2eQbxZ3KMo%kqHZ| zfGryfS2^5Qd z2|U2&^XSV_k{@ytbi@E)hiZOHM(K=rL&_Ce%us?)k}sY>-YNG z=Y1iTu#cxQ_6xQ0E9fq%UA69!x@$*2f^uKIR@Hki{0N9;_3^hA{l~<=Ne4<=hRW*W zpjo%^S|7*5!2st3XGadwxGtlqY(=i|in zB~UEJ@!$b5GLN3)_~#*x2Y};vwB~wWBgV4&5-tpj<1wE4Trbv_z+*9v2OZ^+}(0PGjgn(O_j?iX-jm|wtn zI{F3hSo8~^qdc--7>&o_e!Do>7ckCA>N`PBQ}heW(L{cMnM(aa+b1^J`EOT}OftWqCN$=ICXSW|j16ry_kKTw z)>xiVr#H5}eow&kcQXy5NvwC}41Ad=;tKW((>*Afq7t|j~IJT4!DDoi8~k@-Oj~P9nunCNaT56jL<8%+W+9n3?Kog45r& zdKL*}B>O857@NlNYTbT4TZO%OIc-Yaan4nM4Ygl)?`Xg7-eA8#B(qG|GI;z^8DQFi6Ce1OHlMZ+iQ)+kVXB#18E}T zOqTE_+AMuFp>_Rh82N_e$8cX%2dbE2?)aM5%!K{uOJ|-){No%EyDZ2f$BtmMcv+BP zx-7_j9C8PCU~hEenKGCBNUJbsfSB|7Sr9KKd}3!>*V0e#Xje`z+LhkkFd!h7#YOXt z_Tyxd75-THMm*CFl+ARE8y^JV% zokL@o&MlpJExiN(Ek}PV-Jkh7RxMskzi{vpy1^=2_+a7M2EU*Uz8`fZ)i zbfDoY=?1HvLFryaU{xBa8J={K=*;ZQNi`Y`Is*!+&H%aShM&Ld2^aj`!t&)*Pkc39 zmigp*F)iroq)%g7 z(67&VjcI`>#U9X#{&) z>qtS~KZ{24ESn1P#KBlxPj|Wg>-eGM(+u`+;~&fVdSGTG;bZVX@(p?+d{!7PyiqS8 z+@J$m!-Y4|1$~n<$vLX{VPE{S-*WFq{hLL$ewCeH8E?(=LXG0JU*(0jxyf_wBOZRQ znbQwp0>5bM^1aBT@GWM(Hyn)`!U>3;2S}Mgdpw+D$9TL_?TzCG0_5pV;s>(+z6F-(q@V!yA5!c~eIlzKLE>-G=v0g|P;4*Sjy8 zpq$(76BoyBgKD(fpxb1(LBGvz15vcwK-6Nl8|6GbyA2Z2Qdi(7_NHmK+ZJQfwSc!0 z3z*R68!)5T604ZCSb4yx1?RZ&8|~f5_`ZYCdV7pUyYWSgg>zRv;?EU*Tb-XmMD=!m z7o{=$?O9A(K+UT=8i}pdLCKiTK3n3ir8AF?@t4py!}EF^j1~xsu3DqS!$d*BQ;s}X zlf(BkobmKGgjjX_ou(%`-f$lNgFEW@gNr(z#A#iXqP_!Bi@rC?e0us05>dk|@DqE})c3YcdFgM-zKdAM^xgH}T?f|n#l&fX z#3+d(F+d-uMZ0ha*@gEKC2tqd7-koi&8(qG>-_n6@2Rt>`p2Oc+X5SUfrwW{G!k>b zHYF*I{4L$%`tPgLNy9Yj)#ITWa;8H(R%1S#$Kwyyct0@nbKzJXHX(x#=!G;Q`=DM( zBeD=ip5m%8a7-7`Cv}!Zb;8sh{_-&LBK+kU<*=8uW)eeDu_w0z<$>E-2WZj5$tW) zh4Ep6wx>NlC#2 z7LR%Kyr}&KENTP5i`r<-^)4gEvOV{>P+!zeb8U>LZo`Xv?!jZQ;IqjF9neu8d4YR0 z9s}BzGabwvF?%ch(6iNUz^1v{?JCgD_f|5Mxb}^1aqT;BGsfEYt+wZ0Mccf$68E(3 zt;9GdSr`v;n&QGZb2QPyI5U+ljJN#+V)h$|A0e64{QE~sz`w5pjc3ub8p^+cD0HkL z?+cv-D0B>PgmW7{R_D_7KVAT;H{)o4*GGn*QSk}FRUEfDqe7T4Lr^9xumU!SUzZ9C zHQ7(nO&aU}gXs;4^&isF&pf2)XOdWd0G|U!T<;lZf{WbmJf1Er!af5~jj=xHHpTj& zU-uJQlLev}>jP0stluc}>BagW5u^JG{KVe2iS<84EYxhlr|UqS{*oJ;SYMFXY2Ftk z21q*HTy;om4xedbA+F(@nu9!G$@z8l^%UFbTE}MzujQ(PW zP#_R@y_cd1%DFB*XK{21RHH6|Zj&y7ew!`! z%*68;kEr1^EUDLY6_A;v2|3d}=vh5)=pX3@)vqsVFJw?(B1oP=0j7I@FCl#R3+F4# zw+m-=)W5UJ`u9309hh^yH=_y8D3t*rTBGqC(8ff|^E~To74j_v3$Qr1Oy=cflVx6jO*iv`SS0gu733m4*@Mh9V;+WX zF%Jv8jgg1FohJIN@C}6(`%c^QVEH99XJrsi%*yzY*e!j10U=D1qy-^PF-c>NCQ8zn zsWeIJUW5HIi6rwSuK$%fP%V2QE)yiim@5(k93d|IY8wmDx0tw09_UIg`wsAHqtcTH zEIl6wroT^lBjHtB^7W+m4b$Vjms`jl;V(P$|Dhdy(nHHW>F?l(z=-R83{7z1dY?iQ zEY$qcd+16z*LoPUH{PC1a1i|xc!(Wv5juIS3SR0yM1PYKNTcHb(%1pg(4o9{$;_9C zcirpV@x4qhiUh$JH&)8p*sH^(;Jfe zJ*=aiKdh|hUxh}4xa<8BnxLHP(+!QfJ<;AaP>t#gx>238m=N^q`mA*nAc`ssM54lk zC;tucMmbMUYe6DvW(9s?Z<>1A-CzGRv5@Jh>wmWn)Tv$Y*Mh|8k|Hs{5&ZSPw6RdK zAM$`DSJ0*J5nk1$@0;EbT{^p?E}dQ0r5{3pK-~3yf+i^Ey7bSBqf4L~bqREvbP4p^ zbP0%}E&)-CE;Y(|db$J>QF|)z6MNItrS5fE@k3aCdt1pUxS>nPv|H3=39*HJ!-Itl<>M?q_@_h;fV ztE1pThdK(zSJ(4m9R)l`l?TtEGn>>=Kv#L@I?8A~2ej>Vl*YMb>L^||Ssewi>DE!e ziBwKp1-VF1>L^Sz)=|(c)=>g)x8*vDiXC+n43-tVxsHM-V&Q}ziQQ5i1wxpljuM18 z#X1UeG*KOenHsl_^6w;)%$KVkr?0zaoJDWSctyG)KTPtlw3=I zn(pcQX`PW-9lam5**V_e6 zP|o8;M;FRp^HberNu(69Ru&AosqIu9TU9gHK-y&B~_y?7BMVuV4`2i>;pfqqb{9S)FuCN*9<D|0T43 ze>WQZ9o|g>LW4oS6%ZQjyTI`c?y{NfmdwoT>i2>F4?U6b?Q;X(?iD`-0eQNO8A^73 z`@4CoxJfGPu5s|`pG6~iHr)x%Io{wm{&sv)A3n{COki{#5gH{#`~}$7EuInCGQLIj ztj$vxxM}6~Tes-0@~}&M3$~T>Lt%UPmW6c!fh6cly)6qH1cK47+=(C?1%j>B^gFIw z7LGrE^Wb;Ho$LP}GiyHta{b>IfJ`_1<|}u00lHmuH~g;X@48j_UJ1ZT{@vJ{L5`o> z4dC6RI{XK{FpmrKypeBy6*{XF`|jxPZm_QgU^Qd^qas-Y@S1>R4|MiWBzvO2r$Mq8 z0DCc#KPi&E0p2?x*$16{6v@8m?`x2(1z;^B`LiNf0C+*hd5d0HhYRcE!e4NqKeMVf z!;NO9-&)@6=(|e#XZQU7k_`M!_#M!`=!#KUFZZzLpH&p!ETP3GBQQ))M&N$f(I37D zU_DO06$pF%`HKBkz^hPHCi|@b-d%G(yn0=VT4gcvJvguhGn#JM z@R}tv%V!TbZ7sp#{5HbS`E7v}CMcfHK1T@Z?JCSu;nG!@aOvHy!u-i$m<}n7N60q7 zRhSimm9Ow8B(B1=kSjVp49oD%`B_%m(Jaz9!kONXIN}i<pc}=r+X>px+ip08xx1fT$&oXq5T%;s}t4kwXQ3VsDyp#Kx92KIESF zj`8^tVgb|Id_U^?vnAltIxw+olAD+Jn+qK??Uhaf6gmb-as3{RBSL)fIvNk#%w=^h zZN1oQX4kFdbA&4m8CbDHoDltd2m{nz+KmLhj^h`{c7STM9iZD}J3zn9 zb^uYd9YEA#I~rv^J=*~i(OOjCC-$akJG$rgI}!^u+p$v}sMB9;gxQ}iNbKD23lanL zb*q@GJcx3YU5S#coBc?Oi$$FGX}&rITI06z#pWl zA>i*@7aGbOA_qS0o{6U?d?`h)6<)ph(suWmwNsVznaK58(Ymo^m^MZl`(5{^;*- z@{|JrIDnC?Q6vWfd|*Iw5IP4bk`3r@Fh~vt;9y3whax!y;6nnEL(w@@ksOBpVFt$`8sMV?lG~$mdqr{#`o|a~#{zIH zBiUP#90%}m0m&WExq~7(9{uADk~;!$M@F)bBDoX5cM3@EjLw}E$z9ODiz4Ch!fVdH z5d{PN9O0(SkZ|{|A+vt=B!|H~ zy*E!u}){ z5bvq_3ieb1zPRe()*PZc>I*d) zL1OKEUyvA}ugS#o!S*C8bQDqYH5oM8t1YP8euM1yZ~a==5p@>XrEx;!ZC&?T%aMd_ z;#$i_&r+$@g29oHdALnEmB{srUz~}*WdMK0--pY1jWk^awo|w1D(0dV_lG=+#fq4Xbb@_GtC)2Y{za;?_UMOfJLg6>TZ_hX_$$;em zU9FLX`j}6lZ%^2CvJ!of>*bfLTu%>UvMDAH38L`~Mb_++Bj1A*6J%1+BY&x{%N;}a zY0Pr0=?%$u9@Q}>dDQTjq(UG9MqKadXo8D8-|5kXMc6k7sxcM;-KKm8^y{&L?wbRm z7$5*q=y05v{>DtB%%_*{fJDr2D)19~+a}*Rj#$8aO!A#Olz_+Afkk~O=Q~2j+M&MC zNq|Df07uAo?pWuN&4M>%Tv=mNFJ^)5MKlVbw2s>Aod{R3?xDc$^?%-CErqLqEQOWwox9LoYCBHQUdVUuN{~F?0c>c#^XQJY<P1Ny~$2OJ@HU;%Ny^G)PC0C2v8)?Duu#ATN6 z;6jId2ji>TuwuRgo})Pf&!ID$E&k%lVFs*GSV2Huye?kONN7<4ZIq0#+nKQZ2sv`N+yV*rGp=~RyxZ#V2tiX<^ePZEs+N!iED zM8m#=NEGqg%H_KHIgbfU`25QZzMB>S4$*UNfHVeWKpHzh8aiat^K))G zzL)7`pCB0X%?g}q53I)CG;`7J`@Bvk7BHWaT=af*plW)-#|jeb0Q!Q&07v+S>;7#l zM1N$y)079glFQEDdBCXj!mD=R4DE%y@IeI0^FqLe=7kq^v<(*(ZG)d| z@=e)CVG+Qn>wOYUa7lR~*r?fv_Z4l##Caj8N3#I>q2rxJTn7V3$gx;JoELr{c_9Ft z7os)S`z&#p<%PJ=Auq)E>UO7?7lP+#b-;7z%qDpu=qk^g7mmhrK--=dHqJAX7kb%b zc_Coa%?rVaWP+}OT%;#?A=8X`A-cu9Fz|L;&I?uS$O|#pVR<2*h>0LS61%0m5JH$F zFAPGQVqVA`O_UchQ{(1^n@A)zpY`B6u+?V?5@WwzUyv9e`K(o~-zS_+aV?)sduE*l z4(!LMgFb|C)%oAFX~wTNz1{VNm|@jbcnXp+N8I~$jz@+yl!YTGDS9Z~Ok)RIB$+g4fv*Kc_c|v zrVrW*58dra(BqVLt@4seGMM&Z%5`860}GbGV+Mf z$Pt~kfxehsJ~)>y(Km2=QDWgam!yt6A(xBU7+D8=avH1VvQ6A)W9LOiLedr)!JF}n zpph`5^Xue&Xo7^l=h8dEKbyNfhx+_mMe^S4wCl@zGeAFtkmd0_LxzPGFJv-I7c#k@ zW_dgr@tl8k@g>^KjPFS|KJtvkbN(g9*J+>Qd%|;m4!8<0Q$FV7SHLgZRXpK=(Z9|3 zUM)tx2RR~ME8Vi;mHde#UT?+k$L5Vpfv1hDSbsplza~$CVJai;qxgZf%QW9SpJ-~F zc|p>9r0KQhn-_PCDKDn!Q20&CuOoN_Bd+&tG{J@IeGg5rP>Uu1k*+L4z6lOuED0WB z2V8_so^OH|GGLAQCXmKp4@hGNNJFQPZ+3hy)5|wOFy@pMIMp6ljlFG?Z$64xfNmuD z=A-LCwM~V5Q;-;YlyAxdUCCwn=0&5@lLst4pKqQ)c3Xc3;9|n7 zcHokv_ZaPk?DMe%$+J(uIQ!(^Rl73yh3t0$F6n41E-BiIB>((5ECd*Lz5hlNT)W;) zXo6)*MZpu-*_O`8o+P*7hjd5Xejrz)I%9~*?zJQ4+tLkh!X8qd@;FH4usv4H9=2-f zlBK7u*}P(Q!#8GUmaRE!(~8+$w{sOZi6#TQ#16O#9dErQcBsG~l023jC#F9^VhR8! zrfALeeoriCi776W64P}5DaKm2PZ;YpGFJKR0Pr8J6ZnrE@E-B zHAyOXJCt6&{*FM$xoI+1FSIOU1#G$*EBKNe)m4y~_8>CpN&dduZ+NSfgyHF$t@%_Npc$` zJjLXeIhrWBWu`hOx9NFte?=0h`Nu7FV5@%=B*s^`z92Ec5pvs0>nx0&+g?Vv>inDB zR)`r^U4^G0nLM|BBH2IxJ5xteZu>a8$>+9caEjU!5E=}+LO^IR=m`QsgF#Oe5E=}6 zih$4ns5#yBdn!LfdW^M0*T0+|$lj}WAz5k*w&^w=NRq7iyR+05Bl35nQNLTrx=kG@&xu2#_NQ0k5m!^~kKiQK* zJ|5Cw<|?dPQYsw>f;Z?HLnC2Kr)ILI`EGib_-FItFH-;Jq&*wttRc`W*KuIgM{WXFlY`tP()xU%E%e zFh$1wz(m;f>nhe9Jn3J*f0AMPB=?acV;;~gN#4vav^j5PMNAGn3RM(W@ilwok$=~o z3%;gYa9?t3i7^*;C!5kIw!BS2qh0B-4+QZT*Gj4|9+T_%Ig#l+(0ZQGNM<5iSXO%f zBx`i62nFTTijeFQz@~r!VKY-X<}lBG_DtNfetxi>t}ndiQy|P=9y(s6XEL&D3m|+C zUL;84Md~-hKKIYhL3%3Prn$<~Ob@aC5~^`DoTvDhj=9HUNImOyiX`_~x({U;V8r#7 zqX{nZ+Q6TSdBzfoZznpZ6jWns0lJ}6tCN5}O}wl&q5G|YD8~3e6gn73eokql%%@j@ z0Et*-sK8I`ZJV0I(}@L4N27yQ_DPpNb z1M#ywo29*F7_c`LXe5?RMIG(Z4}PF_>G{zvi42T{U4@~f_Qh2g5MZ|G%A8p{$@C+;^}ANX2WzMPVu=MYJ?U(Yo?v0n|pY5LfX_Uo}l`_)?mLj~e= z94wlkoZGBj=t8|VGO^79)o8Oox5;LKew)n#qG+>#sKsVA%6WP=3nZeIs=!a|Z5x~Q zJYoUUIk8#KuLD()3N}lSSmo&p5(7+a)_Ss8R}&>~v(Ol3vzE>vjzA64^)yS^YXK&l5d?;K3)R4=Ks;QH6r zfvtQA62pQbF+jhrc8_3V7IuX1eJPProqL(~!pg?W36igD05)`A-K8CM^3tMCCb`9( zp_E|M^-e+)T+(6&*r>($w=e1`YUmUF_A#hOJq7*H@#atJLlrne`JV;E%NI9c`2ql5 zzCdfPcM5TtEnnb5Y59V354%=_@zw1B#&;#XSHFKo)-S+wGzs82bY_z!3(!@bdC6il zo&#F5WI;UVzkS>|&&(=?mrb@x0oZg`DZq)WM7Roak)EteFwM9wfo^eKBJeiGy2P#a z+s7()tV>|9tnAI_OW=vP*1(U%ZfWTOLYQRfAqa7bOApM^L`x6MRJ!!g{dWgmK_ba~ zjhgQmcbPrc@_;qfD;D-|+ydrn;+KoQ_g`73=lZWI05w<}?PKCs6D~6XJzwDBi#c|@ z#YHB}7?cSMtbh&TF;y+>!#Om>o(l^UH~&An$H&cRAZ~WmYXyWxdnoPYgALo;`!h;k zLl0!{V}ktuI*+ZiRSmon9p*lXyP2Gn1Ge#RA^de5Ksc#1*76})KL9jJ0|-BY5H{^y zPj~6GuzTO|11$JwYy6+1_si!a%KJ!W1&h_r3Z1Pi(Q7V7Y5^g0-Jhq1mY%~@p}HxL z(4LL&arrcfClcfG!;AyAX-b%5oBVUWHsmS{SGKkJxWmoN%bfLfjMvc(5=-&^Fzgq_ zU-rA(mvxMdE+Y{Rsk@$mfCz*swzF}B((5g=WZ+@t%se6ROH%W4pBC;{JC2daXRtfV$kKBq$HSiR~C zodhU!4A9pu))NiC2JGkan}{2k&#rp2=?%%pFYh?NFE7sT-np35AntmPL=%+reEcDe z^LwJT1W=7}KIrOXPxTA*>vLV#5`ZWM-#`>6etj*WQO?uT0+5JW;9q6zZJT`jEnc>n zPQ0}a)afsC-+YrUNX#^LeL-S?Bka$3Tb%`V-oDs9TG;egnUkdU`pO6O6dt6VL<~u2-Q67HYZq#dM`y zOP}bwSa1+^7CgibxQGgz>MwYy>#u$n3#3thfi!l2RFt{?U2MnqGCj=(!Klj>IMp6l zjlFH7=kFpGFq@P5`@8GFx}F$47bI3s`hvs&NzYd{CQW-&d~{s!Z?6BIIty0MLxlTY zx=T4z|6BgeY{6+bvN0@>#rSdgnnp&6NAN1XxWLxmW^Bc{V9z}{A4C0R&oEZY0v?Pk z(DnM+ZSSKy)ULeW^oIESUPoKfE8CLi!fJrH>s^f|DCa)^>5cYdBA*Yc(PV&bG#OcZ z3;K1Np*|moqL~09F%v%4P0wpT(3z92D5 z=K6xf07t07f2hua>;GLH*vgk6F)Sz&11!|wKTM=l=RTsnP=o&{LGl_rU|NH}gmf8y z*|!B(bkxZ!$~yUKC?c41z1N}%&ZzDV(ly`ylA>--Tz3ccsGFc4I^L+ox;r>R4V#6+ zb@wGpsqPK{*WJ;Y>%Eb<%*@zr&|Sa%1{(F}m+(3wr@?x3qYbKQM3o&(zU zx_jf?GIe(^o2>2**mUde;6y6zu7X^oCv|tG8SC!o7VGYTx7%{vUB!;NI|j=N-duOb z6S2_FkHl`N?hYYLQg;tRoMPRbIhv^M&PBDZnP^J$X`t&D@$#QO5xy=4#arnaA{A4j{EdQ)={K?|@v&Qi!i&0Ua zQ^Cwn7DEXBXN`}i?SP*l?gB#?F8#Q%ANo8-L%(Yr_Y{UAzV0auMSA}^`)3J>nL)Nj z|3rEx_-AYMKcN_cYxMG-%nZ_5%&&!O=y+3HkLM|)_4qJ_xP~5T?>vW4$M>%)zBF5V z=X=t9_&m|@oPTNY_1Wk69_*Wj=;#*v+qe}Z0hs;lrI7!8j&9Rf>;}^tlK(uuW32V~ za;)`U1Xv*MdLKj+l=J-OZFHerKba{10o52|fo@a&1Nx-yjr*s8C;&XOll!tr~_4D3;B;AF^cK>g2Vtv$bbH^&VuWIu?}qI zOOO~A6o~=){0DUy{nq+RL@MZ9$aua?kUZl7j58korr}&9JoK04JWuGThfgT$;isW| zV2BbOP|S7kqeUG=9&kPJ!spkF@vSr{7E>GWfHZ+e&#BE0NNoV%)CR4&-sg$2EVaRf zdTNu_K{1}XPGdY*$arM=4m=i98PHK4Ih7fW$2^q*{hNrse)DYRh{;_1(6h`1u<2$l zpq=L`OeN+j=oWL8z|9!B%GESMZ@ed>(=UTq2a;!VUO{#@kI zSZLQ59uuJOXn_@oWl>f4y{}&{jJp4gI#5Sb@P~rLvK5gSpkLok_iOwUk&;-C*U2`s zSj4BS9^9Lby>RQE*wLpToUZTJ=zSAD1;mI4yGP^8MPD-U9t}{^5H71>gJ#{{>mCg} z9K$vrx21bDjLfDNsR8Mt#AYY8C@c11pCj+P|4lEnEH?XA3Ha?2@H=&&&RW&MGtX2V zd~l7nnXRrbv=gAvPJlw&0FkR8=1$|ReS`*Y@GEN;WPdHz$bOoi6<3x z!Uy1TZt9PqA7GARE>O>7uJ0E0Wa5|$6pJwzctAYElHizY1!67$IOalYuJ==7EQ`5t zVOY$C@ziy&7;}NgV$20P$|J{IqwzRA<}&le#9V&pS0&1pJRWP-p+J*iC4gdF=W^ zI{^yq1Sqr(upGPngqTcYx1SOukKF*Xv0Fop>?s{};wfdF*lu6a2{1(Q8Yt%R+Ra7X zm^fYo#bUe$9uN!h=s8}SN4y3A$7^WK^_CIiS-ge|!{RlJr>=L!cnv%j<2BGx9ywkc zjmP2fnwcXeUh_lG;x)jg8?S+O9pc;*V`Ty!M~O zjE~pQ;6?HO5)c{;`fmZD(H_va`$a&o%~nCUAj&__%(r&xnbA6PazrOpI!In`UWVt3_wkFZAp7hj?^Yy94`I@XJ-3fCS%u#&;)bskp(ZxADaeV?5 zi}eZcfZU%Y!S#uKP@e#R>l0|r^-d(lvibxr469FIJazpj)+fMYP?g!_a|F;)9=Sd- z8jk^O{2T%FZ=$$D_wbncV(Jrq=nZpbOm*F9_0IexRV2az`=FiICqNk$>(%qKhpyq* zQ>;($eMjGx>k}&4=K2KgX{}F~H!;7%_ABQ$uiRnt%Gu59-ZMKhv+kAVWSOFW@HM^WwEUa(b1%Y^q&U*-FKF;i380&Tgpc(7H z(e)z#C!8=7&c~jexl4_P<+?943{Xk93M8&8_@5;NPyNp}w2uAg8k0|{0{)^f6$uiJ+SV7aABDL!FW3Q zAMjZ8KcJ&Lvi}*4$Kn3R%opQ-{LnN11K4!ymHNbUb}g5>reFl+xC z)kDq$IgUHjWgL{ z@fjxP5GIUKc70*O0xMtxyXL^EVdwCuA6d~ptidh`tHNj5j|eWqol3}6Kvnc3yV8Z! zkE|p}?neOY;76|P=tr(B`;p7wN5ByI5m3zi$VH3eM?kUYN5BJYG>@MB$N}&p0I(lH zYp(bBx*x%XVSWVT>F7tmW6_U*j`GNUWHcU!`w=roj34ns&-@5r)Ab{uo%<1{68#9e zML!a_xh?w<6>YO0!9A^h1mm2&@)j8S%dVZs6{V9Wdn_A11+LhO@XL-+W#LNtc272^9IKF?tHfZVPX`eF0#>A`A$ zolbSmw#3)$oCfQO{CJf*l;HHGds@3XBOvTQh$9B<|PPc^YS^1GcQ4@abALE+q}fX zZS&H|Z+i0*NEcyV^4^XIhPuweVPvoOB}(32qrsaZ*9r&?1}z8(4F>HeAT-(yJ<-GO zg`zOednfmyM>4;s=2iDjf+cU-(MU|YzdLgT;MU)bM*Z$=?<5A|??xlJ+x6G+wPf3h zrxXrEqU_cIsek)>$A`CJ+#*{zD2{l zt5|eR8!&k)gMgP`l%yrV_we4IB{LgB3_-uuM7h=~`n{&xk>vBt6fn+A@msIw(KGnV z&PBPZqkX+f0aG{KW&qA3^woU-I^2O=rXnf`AC-F5q^KGIj zdneXx?(+V}bP%=O5^^3R24?n0pj*r_`Mz=XN8kr8ZiO>Wu6`MnxaOC#e2_-^_^foQ zB8DKi z0R^DfWlpx(zp;Of$Lg_~Z_#7ymp4qT3?^zxF#ihD{d@;36KlH4&3D|UNo1mT7HknGSZK7NBJAs?qa&1#Z z+g#hkJ*~A(jB^sF6y!8Tr^Fmhy%b3wEe`M-xsk!dV@dLKZInG`5lvkh@CcP z{mKKz4#WPK`r;Af2R9O0pRb}Z+z;Y=y+3V-8sDLHet18`Hg|c45oh81xNrt-IOgGS zT<9Os#Q1zTpO$?uhCxTu##3iQYN+lS{+o`a^{37r>2bo#=D#opv3h@oMw6GFNpi^2 z_j+%jIl#45k-K@VuELNpIbO45X8G&^r>zZnUU07%x124Z<4+Lq0PK>chA%uxxIXJg z5yxZwbC^HH`s`7}K&P76vpf3UXAk$iABFD);Vf@^U(x4IT&o48#+n#t*8QT^YVmMe zP0Yw|%#^24s|C_UsELj8J;%{rXjv?M`#Mk!o!B{3s}&@6KKBKQ0s30)deS5Py|-hC zl*~(49cy~1x1+XjDg7UR+3y*?pyND!!SH$ddCXHV;(A|36I|qR;wKyD>_q1vgKC(w zJbInLXuJOJcT2~4L1**) z4s~GbJQpNpO1r)wF+e}h<8RB}o_zd?M9KSjG`QM)l7P@?cl*B9`~jNCGyXgMV$S7*-ycqhF}{Ill){E6=2bz^zIW=84zH9*f!2r%$^DS5|B z!qm`jFO;()%Y`WD6h()Rsu7X^oCpB`W8EX~j7HbuO zw=rrJZztK@3N>;ocKl`$2FuFcT)BXFV&#G#iQQ6l9YUC-kP(D9#X<&iG*KagnMw;8 zZ6A2x+~H$L|M2Jf_aKqL_}hI+{Zr~dbzg;;UyvAoAEd&gqp&=2&}BeeZ?o9I1|4GJh4W@aA@5qNF@8BfLs!HuH7VY-2>>dkL%Fj zxbA@hLSv-3?%wo3?Y*2<0IFZ!I=ByApD3=oZ$vObTz9%689%POpCTDQuDd@W@$#9^ z<2t+|AAX>b#A$qg9@pXh`TNmG?l-e-l(WFSVdrH#XWUW~&gu0es4rtn#81e*2ONNZ4dIHv9NY`$O6$jl_p zhwX1V$f9Y>hUVDUT)fvq*KFRroPUR`P=f-}ZJe7w$O|p=N1N(ERl9;e5+p{CTwjnF zU?InNFp-kE=&Ccd7jle;5G2nr0Mi`f5;#`+%W{lsI?ml|%5(P?%v~_&dP~+)6P!_A z0n)X+;&;XQJaJwD>M^eX{bF7Lju4}>P<R0eJ-goL8VV*V~?kk>wS*&>^qD`0Bb- z%qzfi%qzfiF|Pn!<(cz}(Rl8ZS2WHolUI1zWO)T()6FZuiDVKy%cUoI1=Eaq1-iw& zBJg%w&MQ>x$SYK(oAU}h5fcf1Bz8-A1%xn3UJ-;i#k_(!nkcVerpC=HHj_vYd?b0r zS#@Bm9Tz0VWV^l~F+j>InwM^o@94ViL)%!0`GQ%ul?PICEeTedUp=f&&-Kr)16$=F zNDL2(!~lJ*IsF#n;Y3ROS!-iAJDd`TWwF)H1Yd-+H9@H{wgSz%f6&+p z54XiuMrI~@nlQEk(rp}Do#Ta;>EyX}VC!5IBxc&Vz92C`KNr_i9Hi@e=MgEHi>`Wv z>7fpX^}P!aIMH9WzW3sebMwXJxw#+aCWyPcO%GIK%mlhRY1148 z^y_n0*YtoW1~NbtCvbgDuTjp^o6R5*XS08mv8VaQ-XbeE@IB^MN4&$B&@!qg9ev$9wi_&hLm(@t#0Ye)r4;rYjv7wZw=L|3kZdW z@-kff&H>bX5{*VuZSZ$<4c|BAlMPzuicflBfoYR3g43!3s`RJW=K~b{&lXe`2o3#udKa5t}%qaKjdp# zPT)T8KXo&yoq05Itaj!?(;H%Ewsy2LTg!Il7#J52cfC8J3Cg*hIc#z445&ss1G-Ii z2K3wP3=l;-14J!$rcut*vojzOElUM{VsDyurX`%q&O^G0Sg6Id7uSKRYK8iQAThSb z^#zFmdLOzb*rPqj9zBK#d3%J$5aR>ebANi)uOqACitV|?^IZSn7?`~-qtRqNWK5@? zsyYzMOs+u^B1de(OEJcxw@DqE})bZ}I z#1>*9({WYjQY;}4Sk+Bp3Fz*ngw^XV8XQYpCLlD1sI!kH@VjSCzq2#rbV-k5?pNdtAr{op|zjs>qWFlCO#Y#;YQn+n)<%pucQgZV?0;Lcw|o%cnoG>HrYl6I?5w2cZ|kkKpVGFf&NWIU-wX%Ibv2f z{Lr)24Zxlx@4*E0e)W2|Rj(fL-{C#9loUctaUtxFad=OjxOK~7U# zvS5xTTC!lK(j|*kE$+kbr9NBqrvGG;39O=BvrxM@nyYvU;ZkERwtUkjw&ibkkyv7@ z@l>9&{@8}xCjv#f7;lnQP8V8Cb zeBZ@LU|s3ku81V;2vQ_rx3@>~R3Pa;jsBaxOMM;5{_ES3{P0iqUoRnlhd3L5u7YsV zH{vRcHHU%q90pD@SmevRc1l?B9pHMRr?v8@)3XxSy6Q^P8uO5=xP9*`asaH`#`Og15xl$EV>vB*K6gCa-Lpf z3=%Oi_OCMbrkUS%kCUI_Wt-Z${xb`}agEvm73r3g4wwB{$8LQDZ z7sqOW6`0PnwE_<*Ohw`#fUub$m?CmQ% z+S^x_?d|hmWI^2Zu0a!&b9;N`;@DeIjrJCFo9r#YnQvj-}WtKrTO21&^l+%YiFCttM+uIi_lGNUAr3=PbwA))5 zt2M20tQJ^->D0Em3OuAR6^X0BNVK;;W|Fm$HB?`H30?K|RWybaQ?WL3JlVHc$Mkkg zKjQ-m;)9VkR7XV)8#jv0Tsm{d5W`unnH|(P(c;xihUsc1_oc>}*ITZo=hAx1O9_(K zTL9}&Z+TTmd-bZay?PCd6d0m<3n=Ec>e`~Mnz-Hqiora2*~WScct9y$6)zplX?s2D34rk8I8w)wx!-;=7_1c_@QU@ z7Qm)kZvpMR-ojL3y#?K3y(MsSTdudLXq)RTxTm$=f^kk#ZwYdmV!eeqnyB8wOpRS{ zc^Szh_ls&dM{|KMCtT{J#5S9Hix5kE5S~i?4eXgYlV=}tEU%)QykkM5-LW9f$G4>Z z99TaTb}YWhAw3l_ZXCRVFtNjCL*}nbNbm1>rRNMs*o4J}xV;Blc;AFZ;+sMU5TgFU zt0R&55c@Nk;N4?2MZU@3RZgsv8VwzMH+YRA36+|`bqWeqn!*1AsQ=gW-|T(rD@kfD zb0j1GkNo8>Gjuj0`D5}+K0oqI`ZAWQAg3gz5BUb*8quqCT?M%%PlS8}@a&10Z}5AC zhxQ_k!nLcAd{0=tjQI#eOpifG=`>5v$C9@yq50Q{N#Gm z8Atlct~L?5?6tdn4hdz*r~Z71V8Z|vVFg9tp}-HD`tIfCUU7% zxADQCMaX;j+SfQgdb6v*aVkDn;UU2EtTZxcsMDrrf4r4$Q~UQe?S&QSw-Y4K zhyde^2z$#fA$j93TYr8{NBj7ivVHsnj3StGz0aTt&L}kkX+IA8o#}^)b`rV7MCW~g zdbE?EUrdz15t0xV3MWbrN1_A(CrW6|^}aw{W{DCm)DtC=Wm=cV`092TStbS8bTcV%BAJw{AQ$P$ zcX>=R=2hqx^Qyqx7WPvrW~zJA1z)3U-0vU;U~X+KQhnHHZvAfvSKZ#5oJ)u$ zeicupPT-K`do{aCzebO9LD+uKaheB=vBv$*gw?p-A?Jde=_=fjvBm4M@%NwBQ!e;E zy36N+XbjHq2T31Cg>lL^EqM`CtJ)Sk`N^M z0`a?nr2iiJZ}HvFhZK-8hx9LE4tbxhwuh|GV}7r)hf&ZfJtGNA^bv`y&`0*7G-tZ?1wk)7R`ONGF3u zStU~!gT;;dOOvi*-Yv`vASAFnO^{lm#l>HSY4Ml)zW9sUL%P59{q&f`J+1p&uj?4c zTt}iQtowfp!3&6G`&++Kj9Df=8v~Ryoy+0~(5%N1y1x|<#}v-TiZ7-2`$BrZ3(Ij% zoRQh|vNj-HgglLH41SXe^K;<=WMe)|l)Q~W12)E09}y554Em^m&|uKt3kVGceM~@T z0JN;p(qc{I`7}9rFYO2DeoS@iC;A^O0Y6j%{#^jRicdgZ*u(Do)^!$)kf`vO6ZQ5= z#1*q>3@~_qHyZW3*^0)yAs2r)8uh!S+7|DJ(ER;q6z*@ZzVUfT*gua(@_aDg!9sI} zIQTf-6)vRd>?i1gHE!0n;fL_>&)T*dsPFd`^yQsdn-$+#0+e@_0Og&%I(uiql<{nY zDMO1*8N<|+ao@gcp1XWlq_;_6Y$363fG@g zAMi=K-pL2Np`#CY15KHN5BM>B0ElHi;9nNU2Y^ze4**RvSlMqOsSm)zZ9c%rY27Z)`!sg`boYo@-uXs=z^<0YkG8h+Zh6H z?5G=WEbGRvp&KCXdcQ>zl=C|H&l>e)qJ5E|8tXftt4fpBUqHXEGg=1+qM$P@x~M?) zeUXiFo}M;=MARn#Dr0YYb?_{Q!*BS0j_CUM3XS10(K$4)n!dRM2Jc|dNPT|)2ELX= zP)17!pQr1pIkX72D-oi<(r@_s=Yk(*uHoN2(MaC(a47kY0z#u*Y~E&(zWMsLlGC^kSUuxtByuwnijfrv`n%Cc?q-w5 zfuDa;qPm!O1_P(bYgiri$?F#hUmBb-k`RzZB&{o?Us5C?QyzSoK=#$fcYE{AY!{)o zZ>M)1=T&&OEN#47FPJDI`)>K3G{)jrg6F)5qOk09d=Jfu3d5#bk~9{hNMZUWT!jJA zG@)E8x5rPQJ37HHE`5_Q>T8Jh?vH;|d-r&6pY zAzC~H#oU(dMAz$kEGFJp35vmdd3j3>r2-FFdgIaaa^WRdE(Cy=3(=bE?MaMf%Z0d5 zUoK2zRg9-@8;koY!DFzDv&r%x=qQi8JUAMU0WH>!{LcY^e)=7&nImR3&<{OZ4Fqhu ztAU`Mum3TXxc-N3as4lFGsgPgt@a(Oine*h5BIb#@nM{kEb#?7O>v2jIhtsRkC{rB z_*!<8@Hq(hUT32HB;O%XPFy4SXGIdCXm(k_7sZeohJEF7tyRp+DihX&zDr1qH__ba z3twP=LUjdjn>!H@&tbro!a^Jy^PL09*Z+|2^1dDo&Ubz!AT-+Dzt4A8kYT@hGXMWC zM9KBPNB;%KHta#)S6#kO7rE*}uPVU)wE+7;0rqbZ#_uG=7%@J;*a<01BZ&|A{*XGw z`ym*AKN`vX_T}07^)iwX{@MEVFKFK4I}BH0_!yLl3!*Sgq~v4nDxPU0;R6x{{Q#HzbdN~zH#4M@;Ke0E>oT~fTR{udPVEP;5Vw6?#Cv*O>JYW;H_eS<#j4A_nY{pphWq`$PK19j!G*y9(*}=g}xU->_RFJ`Yj)=g~-> zH?KO`GjSZr6#uMUK7;yyhCi!VTsEKbtOt|HZycu2%PdOInm)b<^+*w-nNA*As7LZ# z0WvSUC`F5m?+NzTFA=+nCseX@7nTG0ie0$#QjPMpnE75=xRYf;o|y^mxGc!mEOsyR zD1D2a?+x}p|Hkh>=~bn<=zkF;&qV?2kc+;xqfdA%z2d?;;PEj2V2E;2P|SV6#-b0H zI2Q%QVlE0EkmvE}ITyVQxhMdfi=s8xJAoL>a#36umWyIMB-U)Lv6zd3$6_uDI?5yG zqNDLRJQp={#N?uW=vgib*mQGI(9UyFrV?{ebc?xY;O4fRi>hdwb5Y#Wnu}tbljNd7 zPE*W9nWKqvQD!R5McaPcJ_JiI@>o;3xK`nIE(%Z2Eg8zabWC`uf{Cus+v~z6uhf znyxQM4A8H+91-+l-SeqIsl?pskV>GzNy7F5LStBxfVG%6ETQj8kt6hfS7+Vz|E~o6 zeF=DT3HXNsP=i=DD7r z$J@(&iy{e|xtVhK1xAs`eE5Y$mB}iQT*W`g{TD^DJHWfkspT^?0bGAO`fol-naXP1 zy?X0~1BV+Kwg#{@1Y4r8JpkJy>{Z_rojvtt+e)0gaY5BT47@{{3+OetJKY#NUrb za(@uW?eM_u0+airv%fNV0Qv_QCJzMQKxT3W!WfVo1n@xt$p&;bD3XKGKiD8S1b{;r z$#O!X<|D~N=_9}y{IhxJZzKT&`UT~2_a%L!0)*#ax5B<7boXjehQau^gQ zhhhHbFihtZ=HFaMpfRV#;p^Ns4EdWwf{b|`el;VczL?cWm@zR6L_!*jIZ8M2EUTsR z@l$xVxj=^&*FPDi^-u0gmdr(DSFvfvlYZI}Cj!$a`5r9MVj_WAU7~dr=0!RH?;q9& z|G<0ucchy%_SwnwB=%{jlfJ!U?1RtW>N#;zCp{a%4;XR1N1zEV@;GSI;>1Cq8si|) zZHj|Hzby^|q8JAOQA-@uDD&yXK_C$$p9=iM-nNN@b|w}u8BLwk^;gt^YRC$Ciy$$& ztVj&d&-1t*bvy+@yAvf}Pep@+pw$9GV@ME$7-(0T$o^XnH6LuPyN4#b5GB{&mHt~3 z#mW+Jw*ruTR9I@da4-*)3=7Li7Y3?BnGZXgQ7ygkq}gVl#1f*}v49b!mL zJHLF`RJ7O{GfZtN_k%SK#-3*gp7U~u60y}tzK5!j*cY>b#*8(%g&miNoiJ;NU|xL$ zjH{3Mo_-TOgTL&1`ak|6fhx*(JVY)rJ_#j80Jy}6)?9B3@sgDo zaiLyfq&1R!40U^qFiOA2*Rb4+wL`w|=rL-CmyurI3g@w3{W98~ zFu#;XiSi&1v+y-KhB8TcFopWjZa?)ko z_4&J>W9P~DFPV7~@f5xXpV}<-Ax8BX{BYA+gY=q*s5(eiKc$<;zyPOW#8mUyqjoTeOa@l0Jts(nrG5X4%Tr})d>8%0)4 zvDO+BYpofQ&%PM;2^_fI%g_Y*JfD4T@tsb*?*~+4J`1{PxY9WV`t|p&b$uX;`797c zBL*AxZjv45L%XcaTb=O7p21BtX#RD^-YC<^+u!DSv|?dni-AL3|K5Jq(7frd^|H@vJGGNfX8VQT%Q&e<$7DUOFLV;1&@n*zv6J%}M}*knAKc8$PI2!K zuip*U6T@tS*=i5=ivTv<-cGX7j^$^mz{f&(u-D$I-!3AMV^#+HD<~wXg98*4@=&(? zy4Cf@!GU@YxTPJhd=EHXxg#9Rje~>q9`L(zr>%nx3Ig9$i60!Spm4Uz;1C6c<5dQS zDkvPVa^c`Gg@uazg@eNt77Fth4vtV*D9&FvI8tGuK7Zk0qryUQesGk6Vg>$ag@p<{ z4?UFL{m^f(_ko=}J9dqVZy-*c?q6Dsh7;{fX4f&L43dTltmE%g8eppPL88I!W2#e{j|p3d8vOKk73Oa8L(7=C;XG2-16N_9O8mf#OJNsR zvX~=ig{v@i)2CQD_)7j1Yl*8cy90UF6<1+)2N3Itt1!C*h_%I4nB4)yn&K)@RhZ1FFj!^y zN-hjm9amv`r%$m4@s<23)+AS9!lzHMTJe?qDb_7lK_}?YSy76YnaLWJA_0n07#q!# zgB8?O&RM}eTD3D((QNQ~vgsf{Ig0yh2A_=eSD(mSbMameU9;I&utJ$`huvm<3PT4n zs%V?H#NnRSEpZsqZNrTI$#tNH3KDOd z{WXHbm}M7{7$DhJHzU81f}`y3L4^FW5*i)WkSJ%G^qZ!;5v5Qe2_g32?tZvf?+Hsl zas38tk#v~RhV>hf$5mHx{sFsn4)MwL6Ob!JLLq(vW%lGDequRbr35WrVPTlAuyDV= zZ`=E-Q|PhOSKX5!xvv7OgRffB%~$O?#8 zfvvtukQlc_(MUjIfJ66gKa^~IzIS_YZ$e~iKR!t2st*+gOvoII_i{pzFZ7&7k1O{x zv9@)_8RA=JXAUH~r%>(CBMW{6WXWgX@zmM)+OGMw$NPx;&~2%YxGzC+9|2egA2Hj_ zN9;AkM|=)G0*sN50Oj0Ae0*_y1Sl4L1bBe`Wht&oFKEg~D<0JgYGamuibbSP9=RSg|L?3}}(MJSsZp%JGMceEn za8Ij`z&I!I5kXE<^byR_L_UI<8qY_ZP6DaXHx^_=?(Po;i9ahQ@AY;3mf_dt45*Zs~gy|#5f zvWs2T{q`Q>1HJI`$%N~EAQ4yk{J3Ios_TB;zvp?7mu*&W*i;AB=eN;ML1I+V^#zFm zl76mgUB8=HKOan-yZ)J7_&55Ar*i!i9F~1QXU?K{59cz{e)CX$eh59DM{9ujXw6ld zsVU*zPKU0d0`^%1*@(p24Kqdeg$0yQxw{P zlbTNbsHoGZtzs{%Kf`9s{gnD+g%x-~u*8DmfbN9|=m6k=4z0P~FNmA0K#dEvfQ|)i zgGVhNd5MD>#(T}hOzj#_17P*ehteqqXzkGZ4XDwo)6P3AJNlQ{e7KsgP*f98ucRfh zd5UtD9sM8Kel5tYZi^td@6mhYvwsHI^g4?&c%v*ha2!n*S>VXB2tcM5OKF)bnA)ha z2&hw8%+8!i^WzUvdpGmm#H#+K%G{^bz#Zpg4jlbMf7@^s8PgtX6&zJ;Y&P9twZAp)>bPid4qdl{kTKltZaRiX1v*N`Rlu7prH0Zl;MqcI7!xQZPk1g|1-L%Z z8mtl@SQl8J|Krc~&!uOxINA(G#$wLpkq0vWx=-qDw~m|)T%>-sAqWj_+hlD_GcG z3xY8Y^^9r{oW|ZZicv2h9j6Nt51N3WR@togXX;JJVqU0CF z&}d&2gRR2(Q}j)0u(94)u&rXV)TQkBC?dqBOo9a2H5|M+?FxIe-V-*QgXGj;BKzFC>N- zS=emGov_V}xQVNHkR!cMmTbc+UizC|rSqpgKsw`nLIrW9;k&ip5R_V7euS#IwMATxXcTln`=UhvO~AIxv)cha{37t z4#8YC05wtrdha$a*|#`Pk^4>U8$=LB4$H&k9QNhNVFBQb8LheA0mMs|G2=olW6t9l zjG;d7F$V0NrC7m!gSa?*wYq)tavGqdrKm2=dcpIb@qX?}a8?*5K&`A8)4K@?M5zF>|fTE1YW?D7T8FX!hpeB8SC z(L|$Z{476>DK|%hKdFDVfY4yja|DD2gPtoOG#Kchhx zaTa3Q@BxJ9OMX)#MyrU;=*tHURzo1_*W<5HBq17QBqRNr?Bf;5_$LrOL6L-y9GH{v zc|#md__RTX6FzV7!+D}2Y52T>k;?f(@ne+mZG%VhBtd z!s$S9g!|)#?QdQfmDKzRK{%$CfkH9v@;WyuqEucfTHq(B7~^yTi6<=0}6L;47e)+gBu1!HUSk7 zR1kN>eL>koKnR=St_W_p#P9bzr|zw~w{K56+vofJpZ`41^sPE|>YP)jPMunBUBPD{ z1%CnY7g&6{EWu|W1%D^v?_}}m&jg==7``3!!JWGAu6zZ)jsN!DmCnoycy~qaXr2iD zoipZYQx#h+4 zwbx}%v3|*^Fq>23;bl|W<9NPy&de$8KyoU~=G1tYGknoV`*7xz79lwmW^-yh%&Chh zp08a!b4uHgoC>o!H7-YmWegIVXTJv(lbB~8gSN!K#CyG^Hs>;>$>%bS1sL!LWZOKS z8A+YbZ1mj&WY%)tO`aGnCGJ_a^KNFIWZv!QZv&?SDQlx7x;f_EoIg6>R6Gd-(2szX ztTQs8Ciz$QV+wigC`z(5M0$M&opa-bC1FV!*J`xImv) zpCIYeh?6kdWD-UbOTuU|Nf-@)u=F7cZ2|okYcr1I`K+7-v8bw?Qi$r!SVr9#J4C4= zX~)>g$+KYD)4c%yy(2H}Bje&dgl~QNw=J^DlQ|a%S!{?NXC{YImD` zYWF(&)P2~eQUtH@QU=LCv8KIS%f5A^zL7(w(Y7Vo+Kx89R!RQN{j5DRM?$8bRsBVs zZqu2$mb%__Juq2BJ+M?~6#FmjM}Aavo9G;`Xa-uplCmEe5^)-jHxUwXfY>UU)^e+e z`;E82o|ErA*k%~@xVq>Q^|vyc&{^`wAUS$l^Rcii5lenR?5Y&l)hV!RTo{iynUy4S z2mZB4Zq~^SH)P~n@Lcl^P!_Jqc|L`rOx96(K1CzU{j3*7OTs8x5=PPDFwv2jn^Cgx zid`KGdzskS{Nq3feF_k`&+xi*KhoQ#AL(uOBaK7oFvzNTJpPK7K4YWy!N|N($HGO7FPwI1lYEcOmx=j#1m~hIiX1w$76UCp)4_AD2og9DMRaKK~eZw z@8-Gcr;yTKd+2MkJ@lotha=e@$f~(L9JYDd1DUmK59B#ndtl~C+JmFBP1hbsbn~=_ z)+e>~Y}!tt|C_i`looFfk(J*>rEGKHjKzmKMjiHtqoZompY$RkG4o{RxOwWi{pNk) zo2iGy#voyKUzp#c<6q)D^^`X4b4s&)P7TPR**1?$warbs7fi<7bJZg1Uhq}i3noDK zf*C3_PK7LqyXtwor?gf*!l}q=6*H13ffUq3k+((%xLOfu;TrHVlUWH?*{D!8&zz=y)S4kfgUHEPMfl zR2a-06L-0Uyib2N=N!@&fU3~!;3bz+WuW=kJ>CFGK`C>wI_iwsTwF5`cl z24V4)BG7TE7Sy3$ONUB;I#h-VjiA|~GNIX_#>dhuPr5%{7M3TxFNrc5FPMwnmqb2R zMs=?1Cu7pN(w{#E{?UC&j;Ub(COmW{B~N%-!e}m=%F}v2c_-g5RxZ)|#f+xQ*QkRWBhFF=b(@# zpL|<0(7NAn?CG2h4~aN#)SC#2I6(L)FB6>&AA#HW5;)184Fi*J(D416PoS;I`tii= z%_4depHBfgOF6+ENVh9BUqH;vA7{uBui%TC-}4!$&Ip%FG4>WJx&#z0h*M;!P7Bdu zK^*di`nu|>aQ@kuxdL#xPbn&gqa|Ao2k5T0uozg~rTp>1y%8M1CfUuJvZ|SD!wl(t zObQDNt0}08LoqOCeTC~dvw3ykmys(mZ*6gwxg(Qp^$zv)$?r~XyoX&IIVJkE3sU>E zjowowr>3U;r_WiF`r1H8pR%V)o||LNI@#Af^*;9{u-oKXY48<@qq~h_ zWb6B~##fQudKcSX)^$e=*}{&QovpxbB&FHy*MQZY-FofWZOVO?jStgq$thvC7jGWB zC8w5lOP-V2Ei+GIw~oFxo!ye?X0hABNtPbvz0H}hTUi&kZgf>}C&Y0KFZ9!uO6aF^ zk?*tFJfGRPsMq8hzm9~2jU5fX{7ala$+c%=>$+p;TG|`AChYC<&0}xm)Y9I_b258l z=1J_$(cPxAHxk_(_SQE%K8e9`PiYkU-16OviMvE;i8=2#(tzJoVEm5jiEpJrtvRj= zz6}I#;yZ?7>=mc)rUAc~2K;^skWN+B*?)jUcb$EMy!;PA#2iU6=URfh0dm@(dv;(e z=#T&Q>_9H_Jlc_tnL?d9!y|7Z)M*T8bn0G_?1d_IfmWfOPle*jcO z)MyMCYSab#)MRqRM#aSYFA>I!*Qg^n8}1E7_h!hQXFozhd`;rVfF#!>2;(HPs+R)X zgJ|;J48p=?i^=ZI=xontrQC_rxRrj20%NIy65&Cv;zQm2vQMP?EzYqw;@%9;Cueuf zB77$l(+^6+6#>_Px|w;@%9^g>l2OHqufTx;nCcx-f*prDtWJ$5?R! zT6AD_p$yhn7luWvdoyIr?KBN%4MyrQu?9n!*gltP*4;!luxDz%H$&^8`SuHyC%Q$0 z(bQWsjNFgedo$F&qI)yMa?qQbY|w^%=tg@UUuVR91F+F*6hu6FSf0| z*6TdPvFkk37x&=4kZPq+trV-3u4<)J&UcUQsLeWD?ZL}d#l_`r_jRlyqLpG9t*+9A z^OTC=zK&(|e0#YdN&+_OTig>oKm znJsu)9=I$e%2h%xlmof69En_oa*4V4z$W=+g;9c%3=R_o2d%g7jGvr4OdBk>2G#!cD z!3T*s2WdFR2=5mkgbV!%l4ZG!fytN4WZtvTjG63^!oG?^641I5ZLxe6>UoD9!m@N` z7MZfRVyie@R$@q(l@w-|l{9Y8?$0%J#AiQNJxK={vectf7&~&=e;T9YQ`p7Y&*erX z=-4s*KG)>B-oXAXWrd2;L^Cg`&M5X@I&=7tC_3R|9&QHOmK@r?<6}Z1PUH0^LLv?j zKBo1j5##Ick2H(mP5jINo!Q)^a)m@35iAjB1|sY4vGv?X!6|Ha7>{$`vc-CCp}n@2 zc1O`8Y*gfwSf{wJWt-Yho79H2DRQ#S2y-WQjzONy?Z~d@GIP{)WZw0D$illRr0qER z+H|djME~3E<1tZMqJ6As22N^+A(5CJhD017>>!)j1$yOtUhdI)9Gv3Q*(a!!#CV;s z*jzQbvnqa9MX^0wO}j_sm$X$%gGnmcCHsNLQ*D-Wtt(NU2YB{&L-y6l(Ve44`|6Z| zlO`>?P9SgR1d;%qp)yox{0@R8W~fYPnxQ7zAj{L-9$21bVR^!Rb;@X(hD_~R$fy&$ z^^?(%4QGy!F&FKtOS^OI!Dm}KXp7}{QTA|ESBQtJ(RdT}-r)DZNojZQeXnhIr$b&n zV-w2TqTNwkG&{0w-NeXnZl)uXd87H9r+G<{aC?garXI4N8m@Ir$6Ci9fFWxg479P< zvA>bqHt@trgy`T72|{9J(PHJpuH)>zcc`0Axg(W6$<~?@xoByujArvj1-GR%3?tU= zi=3vAICR4`pSdVYlz$R_CBq;5cfsJmrDqdQ<)fBhg z3d4xC+m9=*w%f!S*WV#!e2wb`K$2@*gvHjlPKICQU*f&Ho;KTa&pI|gwr7K;Xjt$f z??k)aHnm-E^m-Q=nx-thPPCRp5xCx^YS8trySUy(fUb8jRA}rB!4m6TOjy@?7t7P^ zCsNnDD5LQbx!8Lo&5ogl%E|xPq3a}v;y&64j!u2kdXrtDfO^r#my5X&ZN6+P|PKQ)}VD(0>y&u@=A7 ze$xykT+oopFqa)h*R+IHA6?WER=?b{^&iWO##%0|3UIz6$6Ug_%!2*dmy#)1(NUltl9l zkn4c4@(LprtB0wKPjxPKHCLwzk-Q~hF5C?Y7G&<+4T=_IZrxSB=KeHkP+b;h206|! z;+QLU1*c?j%*DGww*`e4sr6WpxkxSOwIFkyTF_@f=0>%Xf+-eeE>$}z=(jL)quNP9 z*}}{vye9<%7G^HuJt?SI7!F+VF5Y0O1ChiTY7Ux9- zH($ehZ-9>ug*7@#oKZt(jFB;=GaWdp{P~17U&I?NZqa>+=`j#9Jjfx;rwJg=DvIRj>^b;1~?ryd>HpqAgk#Y)iC>8h(lEcrtI|Ma@8` zuXNAn{|tVg|Mq--XXfvSSJ@Z%bm=6X*mRNMf#=h^<9vPS-kn7v&!>M*$ti;g&!?-7 zUG7Uq9lP9@ZW^>hKkXcS(W(q@_tkEfn?~ZG!BRu+Oipol_c2{=Tq@6}2aUs&gZ5#b zPj{-KneNK-=}rwu$1R>u?-?6InC?qc>?lHM>s_9nPk$QErJb3kBy(x6=J|BFhQ0P` zo==x+K-zX&>eJbh!qkJ(cIv20=wTy)ez@RERDK>Ojyg37UbSx#U^iIf^jF(6I)G*DJOWeCq*L;?`#zX4b1AD%XM&s1ACl1qG>f-!`y5_Ug zH6Bvee%tePV9QcVHy}9`W^-zs4Olt?;55AzUC}<@^L12AdeR99J%w3%8V@DWk%8y4 z6W~b@4Qb6O%;wa1m{SK3p3m+;b4te`JQZehY8+*VdJ5NHMm>cK^w~pzn6nSA?n4JD zp3jZ~;s^G!*1O(-DH8t@ z>s`HVu6L!~3%DQGxF`KYeC;QEmkUDvq2#WgMhbd8IlLSz5t zH7+KsYmJNLfld?mfTyl;QO49YF7mN5>KfPj$+*rnF2_EcH7+T6VvUQiO}oZL-pMsC zw(qK#VPQlb8zUE>-FEtx81j{afN$6v#^-8J^SlryV zGGSePE6dYn-%1%%`&RO?GHTztelo7JZ*}a$>071biN2MvP20DUcd~C)E>YjgXlmbT zr1{_6w_4S^rq5jrva0mGT>NJA2EuQM2u0iRki_-lV@Ph&bA{een0br+x5WJ)hE2sdjPE z^T|93Bds`0?wd%=QFjAYydPZ%NU|R#tet*zN}K&?%3a8f6WEVZ9Q32)m*_{|xOw_f zGED79DFXW_ExPujKVUyffcB#d6&j~B_oGZ$S3k<~wAqhR#?*e4e5{PxkFKAL>+DAz z`*8YEDS4tFC2Z67qvW0JN0m#|k20Ftj~Z$IH}|7fwXOS6;!N6)vYZ>!j~YE~!hTdG z+Nge1h5CQCA6 z?KC?-<+~<)cSFdU{WdKg7pNK1nWn<*OjF}#f!fURRR=N6ip-v`DOR@%QOcTTDQi5O z!)|Nl&vU|?k@tc~$=;SQ)7$cW^cLS8=x?*H?QcH+I5i*(edok|H@x1mkELEW@ZDag zhGBGM%q~mIsNL$_>{bcTZk3@z<4w)oDifN!RoHd14A5T6+V4qW8T5VL_>o4^wsL7# zx_)vcyHdzyzd?_8zU*z-Qouy-N!X_BJ&Rq~pXm+t9QBuEliFVz{u|O?Cci=IR?jp`CrD7Q;2wSMDO-*w?RK54Vo8S0u~yYr&GVJz0&M(ct5 z?4$nnFwZAO${ZtcXYxM4GINYPoX#ZQzACrr(^9?-(0CghMnG20er+PvuWj_b$z*2c z4(U9b{gAz9gPD!XKxXb8(#J;kY&bgGz=O>xZ-kQQ=6KIS-(8IEHJ<}N|5C7$!36`8 zk0f}GwuToZ|HV1{#J<3%Nj05%RI3$RZhujHKTtD6F+G^lv??wHqnUj4aZ)pfm#O`W zEfGC|Vu+Zje6&6g&g3H^loN+1g~&^!TzmywPnsAS<{YFu_MygP?888dv5$KeX)bif zfA=iXjj$zs&n?tvY=@j`p_1K?)y6^bdeiCZ8XwQ<`+C@Z}(4JLhmNbk9B7H(%%ZN}FuCiNIbi$mos*#W00vrkHoNAzuJ_JWyx9EAxF1b%-H$MgSi9~=adm!{7`Ge< zDMSAQJxwxhskG^HDk(na8af)XY92#e*3#GP2Ycq9w$$~!bC1lddr8cn$g|nM*l`Op zM=qs#+~VkL(|HjR{r~+&@Jgs*qy5IKKx9(CK`u$Z!AvQBBb%9k4RVe#T;j)3UJbPP zX2L;$B$qb`<5bsNIQ&0|Chz1XOi+49r-JUmh<1e&W(>i4yA-C2By5+bNNZ?1GdH!( zb~!brUEacW$r52df+FKVvGAZc;y2xOhZ|DcD%SuS7@NsEV$$QSXIrHJrme@$xGlCKm##mCn(rnpW;? ze2sj{7|2&T%bocJzr>}-WJSbsK4OKH7F_$A&oB4|&*dcRsM)u%jt&UxD7@>9dN*z^ z$9G@D8A6lZb*X6m^lk`4)AET*Wzb6R%3yuaS1zsep5Ji2hpggy&t>j{PXCHI zo!ocixCUn>Ozbmk*mx(P8&@e4CJo!(Nlq(k~s zO6z?w;@Ew$p{D!KtCj9*rN`WY?pRr+7uTIHF88|EmUkgq>2j|v2ZnnKy0OUc7IaoX zxaHO-W-$Y)9Bj)dA`cFIDd^mubD_GOtJ1OVw3h<^F+k>{4~P z9zDME$N6tJvRY9+pF)P8oUp<=Z+3YTMp*ZYS>8k_ zYYa1#)d5;jJ)c5`yh5K4yN~`TAcQ^v2%Os<1DW}k@B`I0{Xlgceqaq7KiR50?tJON zmhFE(6=}oPpUBKM`NSNJJe%9RU4LTcsF^pfKRNny8rnv-Y!dx%x8z{h3q zj>vHT;zJ#45Bn@s-`b)CU~{vZ1|s{;^JMvOZ|AP1_q>hwc5Awnq`X z#9EGZ5`KrM~QWBXs1;2?&mZ=7FpN`Ss zsg|X=TSr-%8+9U<<~kkA(p;t^EKjpU%!N8i#9XBl5i!^3SR&>Q9U*eMC1S48Q6l;- zy{${kt9f^hB{GkId3qk;3`=BNf}1bTQKBzm;)@(2BLs{nkvfS?oQYp*FgCtAs~M;S zN14C*ik;}#CR?vekr;?gkxaGBCxPY*c$B)iUB{N$T%RL~Yk;C5VlL7NmRV4Xi*l5% zxdq44HJ8{3-Lowbb61UKG8fTAwQ6pPu|&+BFhb-UOJsMJaCdV;V-H65u(i4;<9pf) z(Ltz?cvD0|fg*(lLm3Qq*u0(0Z{C>9=Wa~q^EM{4zcHC7G_$#~CqT@-*=GZkxO`)z zdCSIRUV+R`eMilSJ)blu24c-A4V#^!U^B2zZ1$Ie&A>Xb*_8@512JrG;_aH|u5@Wb z)j9~?fpl-;os(lZ1zNYczl#(hj$Z2YZp50aK6sC?eQyfei3`(!D-AH_2`@?kI-&*_ zBi${m>2Kbb4qlZGz9b#|et?}}dd5As^&yN|`0t+EdMKC46y**n4o9dSyAtR599_g= zQVyANdp?I4;oQ>mIaY|{dOo}UB#b?I62^`>0gJk6XKBDH(ev3mTjuO$Nx+^n@qG50 z38Fqb!6b}*S^^gJaL%mSn+SV22PhKB=|CNhCQhfxdj?^OdptzCIxr2>>;fKBF#g0H zI_$jSatXJJzB1_f?8&ee$i66!=K1Vek}&oaNf^6;B#fRt38TYK!sv&SFuKgE{`x<5voj`9(X=|ALxb7&!rbRzZfudeolMv zCPL@u0F@0Ldl}pA^nT`+F`avOK0RO9mK9kiA)Zg?7f%WANTdIYr-WCf(FKMnBa_|8 z&Tr3dVdj+TkHxWt>w6yn9oLmc`w2rsc71Qitj`p91sXirR%9kNG(dt`MN-Zx|{xye*r~-!P%Y z`5SZjEf`Q0WS~~141Pfd1nBu2hPoOBGQfI6ZhfAb8v z5Ma*VFo^RvJ>=7T{zg*M&floU%qjy|u{Ozy&+w?vFUg7k9(=%29|p^XMp;-HtCXWY zMIQB$)JSnJn%O@*sq{`|yWJN%=f@3h6R_<-g6;^QE_`rIvu<9c#B9{9iR&d|= zo_b%(St+(BXfEYFy615YMA}n$R*G%Jta|3;tW>KuqDPt5uZ-60$OGIbzkSjVP-PY9k>l+eWlht=fpP+MqTPva)SNS+!~- z%4&n!NXW{z5oOh?jVP-PY9k@5cpJ%Ojzxbm9sP;y;X6YI)M@xuulW724~7%txi-Sk zu|6qiJ#wyb z0J)Noqiu)ehJ@TuoZJw}p*yV%q>|I70&?9#j^-Ycn<3<8#L3MdIdqv79sqBaPFoMi z^$0n(fRNlwAvZHlZYIg0TdYh?C8rIFXF27Bs-ESXC1*Kj^DO7AYI(LSPS~@Y0L==| za?UExrU#r|?u*WHs;!l04a|<6Tt-hMy+GNE^2x7HNYo_Lw6J!L5o$kU6!Wi-y5xm@x5K{3dNgg)v7Og3k#C z^P7VUnruG=6zvJJ#ff$qh--J^_GUiLs;9eu)IfXWzq^0*F3ip49$}x&gYvqs|I*qC zbJp}D+m9_JhqfOBhPLl4C3_R0?Z<$j?Z<$j?Z<$j?Z<$j?Z<$j?K?oxFPl4-M``lm zBCqGuaQUuic3jPE?u^J&9LMH-8apAj_%9RvC_ z$V6_RW|<m+4IREtYm0%Zc9yO#A}C6jHX$+`TQumz3*)q2HGt_r@2k~qSL^}eoe8#CMGBcDnWSZjSaiWA6E|rAeBktZUqiHkpssHMF1nuMIc93sr1%oBSS$ zOne`|O>OcAX}}*EU~E<6?ljz))ij&>bjIQPI3X-_?ovy$6uqp5L3@rr(>L;`a`q-y^GLzqilk@q1*}((jSy zWPXpCC-HlZ&NiLjBhk&__xgqxPvZ1A4(Uf*;rTaj;wPfCM9=+T8t|uSz=u+R))xPJ z)AolUmpAc5#_{+q<;U}d%$bT)I{}dTiTKHn@6baiX*tl^m3Y-u-(RnQ z-wgJt{!zdw<;RM7FI&G#(q}@C+@HWwCDM;Z`ZlE+E{`pF+X!~HhEtrSWryL#_kg+A z6!NthfINz_aIWZOdNV`wq*~B_uZtFD!EMswxlqbIQ{+Czk^AZtxsQ#>O>86g;gp;4 z_T^5aC33e#E0lYd$bFn6_cbYUA0LyO*hcQfl$-JP!KCPy|w83Y)9@-rRe*dnB2rRavx27Gv2=3X|zP{ zwrGWNtDU^bkvq*!-W-#g*si`AZ(r^-T2|ldq7}-$jp+MaNA4R_^nG4TZekm`kDcL5?g;ke#&&vi~zdb}1%EFKvQ!d?rX=VuEa*CP<4nK^l<>vR+J( zMfGYF(#r;cz;A|jgYzW_|5*x_OYqZ#zSTnCBEee-y}&|ONbpud-^QR%lKwM82(HZs zm`XSH2Fd!toxBcH(w;`z__v?Mv|w$1H4zpft$toEhA{UX9UU1UTt)=kvsbFWDS_~2 zMfg}tgrgPVqb(8Yig0C1gk_3wRZE0(6yfTY2q!DTH7yZNQG{z-A{?s-A8(0ps3Kg~ z5@E3-T;CGm4T^9>ON2jUq%JTK{xKi0O2!NYhs9-?3b)Oq~8%#3}*d3-Lz zYlKFqizW#xog!kkj_ZU=xLbF-fqV@&(Ux!;lEo-!(Wd8dvN9@GL5uKt6am;c6IGi3 zy)}IU`L$Kp)y(=U;d~xlQ!ICC;j;CY08riW2q{pHMx|6Z$(`B?HYbTZt0d`S{APnoqHsQVKf+Ds z0)tk2sbu=L2<=5>o$tuXo-C4;k)*6ER92X5$iwRHHW4D3B(mNvNuR@SHu!uL&IflO zygssS*Gg7)wnWd~TXQ;WVEahc z#@#B(1D1l7r;n7mnHu20z4r?xiL@eyu)H!u2}%{ zelkh8=Axu*&?#XLzhccnK8kk+#VDK$3J5#8iF_!>tzU;cJ5rwC&S1N1Jda24q%MtIKlCdi@+~u^v*4R)#S#6|k1Sw$4n(b@zq!hm-4^0%QBE>R3UN)8lnt)6 zd1HQrHiT8;%ueL3B; zisO_K8eh)Ip>NZ<#8#oui3V}=J;-b8o! zLxJ~|K63C~0czmF&UlH~swhdoW$Z{x6ELb1Wl zhd0( zqL9cGuXYfZ1Z1H^#+lcH_TDVVzjYkH-1;b6juqm@l1WmI^Cjsm_{|0vL}5tbQ3@Fo zyu$@&0S?~kLUM$>&4qLl@^(N{ERth6>V6-}{2gsOKefhdWqw%fJDDUhKO#vF;Wr!n z%;t^hp63;I#+j0R!AH+VEUF=zTXrDoqSW{TmI!cOdEq}G%0PDQv_GS_8OY}S<2!g! zgnu#~!SB!wIIyLJvFmqWrx3;gj{`f2uz$v3CldD8IP6ry{$gM!AOgOp5w;ev!a&w1 z|E~HMA*r+4vP~st773yS7=v2>5-{iER7x@d=@d~HnedetT~N?_UZlWy=k@RSri)i- z+(_g4AFem)I=};&MZFznZ6uo+g|fcLvrImBk;b;n)jxwpFsueH+aBukcf=BzzY~5M z-zS+fNk;t79>}+!)Pv+(kXwe;IFDC&%<}R+zG{wFx&5>7uo-2NrD?dz<6))qMpWR7 zg$_?oEINessUqZ;eGSgDd%!a_=@tAx!Z7?l;YaH+gsdfmBfWtT@;o55DhIzD?nU6g z6Y&o&Pr*L}&acwR4{@Dc?!K5gB zoRMFf$QnenxI7ug~HKZJH(xlk@@z5mJ7`(;QB9yL0+oRP;&7uB&>+d8^xuL2;f-YF0=$?1pa1-)SpT-jCB>3m*DJI$wy-$1OEdi~QE!owP4H4ME;c^HdRr{@wjW*=#QD3- ztMK20Dp-tvaj1wBJ_r9V1?*S{&bt0F;`_UGouQGku4VN#s%ypy{uja4|0;g8u3w4F zis&Yp!gEW~{~k(gO@JT=6DII|q{9S$fCpG6(u?&U0$%X32cagg@NFoCwSwnNYZ0lw z0;GTwJ2rM?BOi2 zhaZWMBE;8#NP9?X%Tb9_{`!xRvxPnI9GS6)Bz@XLR1qe~(ia=I(;i+Qvj?6N9YQrt zIQ1Ud14bX2cQ|m`!!pDVaP6TG+5;E0ZB;T>@P7!l{yq3nd$=FWaN#SG{CiL|d}GtJ zeS#cpRQ$b2N5$WV2P!_1Uaa2_c)`CLl;xtR(QSF56We~5e;7U?P zHuwFNi}2F-7V8fJc8cM7FObh*y(FbJ^^#y;|0(jaUJ5#daa!yU@93-_gI;_{2c6h& zIw_mUuR*zagl=s2;@EC!%vouXwoLHH5UbeuA}j4kR@#1OykQ%@1FFn9braUvvw-(G za6~gWLM!K*rvuLWQm5cpZGI$=@2=!BR{-{M>5q8gY|$l%MsEFE;aKKxY)BBW1cCfA zeu6F_N02Fm6kNz4AyZt)EJCKbkUm24E~H9Gp9`5uNX3N=1EP&}&;?H;Vy_FCLCAm$ znL|j`g-j)+$At_LQg$KJ3F&tsvk95zLizzwp^7eeZUmn0f(MwtB@LFU^e{9Pd;~8ob?|? zDjtvFA?23&h0Z=qs_YhrGm^9%579rkqqr-hJ=-p4?>j8#t6dpymh$;L%QdzIbafxg z`4cJU{R}=Bm9xQeVqWxippNYB)wY0_z}X#%0{o6RSfT*GlVCjGWuEWmb3Dq;WG@#m z)$0r-5yQXPfMD~z-B5)OCmB|YLGv|rzK4= zkOc~?)l9WjAW?uXGnp@sXC@e#1q!T>#xqM4;44h#kD2F{=6RKQUd`v0sBj5f5|x_i zpw8?l2XlLUxj=HGJ+RNkeHod9q-`BCGn1Qs)EJHwFf`|=F{*aTs<#{lX&WpQl{p9bO3CWPrr5-6&cv90j2&L-rcG-Q+%$cHr{ z&xj+N0z<>u+9ND+k)bCLs=y7Q(04_JMyYN<3FHtE@cru%$+N74)*eTBl-N#4tUV42 z^GK}rFhh3ikA7dyiexe$fITdME&Kuh;n;mkuUdN=8MvR$wI;4{{10p;JN1y<)I+>% z?HMGF)pFT`>#x}chq7kkTukk3FOxrHuzO9VH2xb%JCv`Th%rjFdyQ8e!S^V+=E70J z;Ji$kV+GnEPOxVV2Hk;-F|3St(b9kgQFG8UMNxS&wZ~WrlqXaBDMMa$AR`JuHmO7h z^~nhJXAA*RtTp4)PM35ePP3$X2akAJCq(1_G5CKR|F45Gun>@0cpZj7*?8XRjaQ@0 zhX6=R${wu7RuI*PF+9cG3bi-GP#vh)m_ir6vzhj+O+K+^)e$4Q zSw)L+iW~>T7q_C-Il9;QVb5jGG**4#g=k>4^I>{Jwd2tUon{ewgp7IwwCHNjnr&Jm zLU0>fc3l~$O^0w1*N&)R zcSH?aJzKnCOONmPa)7#T=Y8#fnG?OGdTJ;p;h8>Gn=^q^LY#6`@$n-On7A< zdNLl%t2^x4))pNo>pxjD$&Rqni)e9HOr<$-In zIF~abEO>VoAEU1rHyJPF zLMbSAD~6$OV#MFRR_?Cu{q9sOm+lTr$G-||ZD0?hRO#Ve#ru|f#%DaAIkVg=whJb` zmPrCcP6DbwiJF>MHg_6R_yu>Ad+J#JEY(hC-%}bbmvPGougPcXKKo+nB)|KY;DdO_ z@d4#NE%5eRf?uETV_a5j0AWmRO<8z{>S2nd z1|lYAv^Ax=H<~JSn!t)_>$LGpL0PrMn}DIMe$`evR8843Nq~~tk~?zCWuvWrS6d6O zf-HK)Z+VI+Y%eHm;d=ocul^Zl@-JFyh^yX|XT+fPBPf2lIGoWX;}0XljFnJzN2OA( zaDYNXm;6`bDqO_bLc{oU#MvK*@gc<7V#9dt?ufSIH9}`*hc^Sdc!H5jIKJ5y(!U0N z>0JDW9kCs65s-0$@W;qQt1zDw?_bQNTj17W(X>R^S%gY?+$QoDj8zc- z6XNrKi5Cbu)>g4VZeAcT`_XeVv-i?-`wKk(Ibhab4oimViOG76S0EM;?lqprZ@?0d zoEN^X)xf?;bMo#=2@<@Dv>^LToKbi+o`*{rgw3mwR6htmJ)_eGyxRXDRLbV-2je-G z%XhEY3P9{fm*zhO$-TAJ+d)NNecloCi`5)N88T!;uREeJ>4vEO3qy)$zZ>SBqlch*Ap=oqxk zS}1vgm{(H|A}PYGgM=u+mD>1$+OVw+-e-dk*x-WzP7z+*65)sXQrmv55XNt(H(#57DG}V4+Iar10$sdb z>ghWWDZKaOZ=&1yT_seNz4wIJ<~`Trpyhz^_TO_&qb2XTwnZzH`wb%Z_Z+$Zo+3Bv z)yhq5Blq!?oALJLPNOAqw?!+I`;8*^4;;B)NRgXHXyqohk^2P7&3OBAr_mC*+oBc9 zeWb{Jw*hcQ9l$-JP1nb`zMavYg6Q=m$z~g+sJ(iOi=X`%8@7GH2Vb6fx17O}yCdnDldnM_|`0X>tR3C^S+2AKp zI2YU(g*$`$5q3H;^9I`f-uQj!YQ{f?cb97;=xs*!#=Nzv@vTjK(2eU|UpJr($FmG@ z=orIJ=~zA=y?53!Aam!~Zbt0fg+u7!Ws$>3jgdE}R~F=r5Bx2n z()ePZyotJFU!+T0V>?UI0{mu!U7~O<*cD-?PRxtTlof|EUH#^?L|IcB zt%L6X=S0@Q^V7tRURRE&S*aESnD>)OBGnO5lFnY2Nc=GT>I)Wch~inD8@`@^T>W$? zcO_SbNBoQ^y$)mEHihGELN+ERrl`!ZtVKg5rk zO$cFGLqj6(Kg4vL#f;LrlF{zGbtbviNu8~e`XYDHIIrcn0#jV-g3?SJoz^c4rol^Joj85{y& z-cKe;U-24?AA8q?bqp_`Ifb*q(j@jD`2>6&4)pXZ(y z{Co!ROezjF|qI$7-OcsNsuy`jeO6mkm+Ssc&3U^p+j z6|FGN+#!f9=)K<;A-IAJ6l%Cgxir6Hq+H68t3{NOwkNj8qev(hyS-~QbfmL|hreEnB+Q>}djiTJE! zw_am2gikm2gy*yAamzjCe0CY%0g&&#OMdK6f6go5ou0175-MUk6``arS~_d*PeNXe z&6q@_-r3l?-gjV%5veaG5Z{r|}G}9Gn=H7#mNMTj; zU9zN>%Cjm15UFBB8i}X4rk1D1M4B3kBp+HW4OH=t|AUiqNQmw zD^-XzXhbqbZ7ObBc`y`ddU<+Gr0JnZ`1D_;TCOHUn$|dsB2A-6kfUQ~{A6CzvBmKn zLp;-#$voJx#oxm4Qg4g*cn1D2Z;RPk33D&-FUWPeZJQ@!1-#V2ZZjLvPce&^^T-P? z02a4@SNAkZVA$JL^dCcF(O)CKkKur%%9 zE(JUl0loo10k549UhjY~?&0Nq8az7TKL~99A^ga(#Od%;0(k_GLgPTHW(rk`x*kFhzZuVN=v!GW<0y&CeM& z#r_4urr6Ig9F~~jNejE+?Roz(U`Zh>D97W7B+EAt!EMoSVD~=|geR-V~~5zvyV@kiOI;sRAiDwWSU}-`^~d#o&$Vd5|xc; z$V@C`CKAst3lfM-BQl;<^Q@TXR6Z>cqJappK!ivnB1jkDGJ3?vu=PC)&-wUXF5`no zjA($=nJ{vZxBM$`dDXQY!ED6C-PT|_Be{T?bc{I+dtQhJo2_|hJJ{$X`dB_+`wg;t z`Qf>>^Thf&p5gg9#m%PS<_xN=iCEm+B)I2bqUS9i0?R?o>@A;RBW!OMfoC1czOZUeZ7GP$s?u=(g5S#;-+<8_a4QhdRW0=8Wx{&!pm86$6E%^q z*1iT7tTQjF2b^e5N9}~l;jr4m{VmCkcu>HZV0*F#&qDCtk$Dt`Pz@1?vUr&uQxE%>UUHe217$CH7hW0%zwQ8I%Hm)> z&HkdLJLVgCXy&}y7N`LQ8kG9kSS02r7&L>l4_%vG0GjWNXpR{Q12}0YO-VAyxXNT6 z?q6(jYk$Gl{LX|5rDncJaXzmL9XbXnH9(P}F zwym4Sev*0p&Pn z!8ETbFjEv@P#wiN3-Z+-T64a-*An!nx$0hv@Sx5+Gj~Dav!r}8^n%Z7Pqla9^?+uj zm{}CFW8wQ4M=?7Vz5}5`(UE@eSQX7J+$vRs3X0nmjI3pv(s6jvBTitkEgKDP^3rs% zG`%b}O2g4Xwz}7A@ZdoZ`Z%`3ag;}|D=p=#gO}%5h=Vfsm#(0LVt>H{S=fUwz@p$$ zi+pqjU2J*$?&l7m!@pVykTGw~Jg?SG6kqUtLHCJW@4?TSf>-Os^HFoA2Kj1wMEMlY z??b{^_xO=;M2#s3;{_67^F@=?G2#sdL~23YtMwxh<>Q%!SE*PTw637cJcGdiAJv)F zMg@Ujssg9+(WnwKC_xrCm~MkZ4C<*g(mj0B)5QTQc>UT8FdC7$;VSTGpl+ab5gk1% zh3E`KSf9URowb>S`IK~?~+z?MxZ*b*?P)|?&LKC|P|T5nr=Q)|R$8qYrPZqa3w zeQm|xiex)RaKj7&wXN}knVS(gyl#|&s#rb?xr4XnwVuBXLZ#8|O)&;K>hk~?n^~xD z%O_5gY4LEnuQabve-R#R@cHTvcSm=Yu0d-Twlkm^d{jp7UY(bD?YSy9?_OPcfw*|_ zsXRrCS7fZ*-Q(v)hM0v}UW(YDoSrrE!Fy0nv{^nHBlzha>>0&-%%ceQ7P{(Vc*<2L zp3i#R@fX?oSWZM}bZTuoJSzDCY@N^$YuhuL%fr(*;NVLkAOC?wBin_at zhxDuyOw87H#V>A-U=#Fwg7mjO6PvyBMox_KqHzt@cVoJGLhA2b(BGS(zw9E6>e!nj z+4zenpSR{@rC!JCBs}HXO2DRT6uJ<>p3$KJueJywyhl{q9ZzX>YqIm!WRS220Q1-A z2|yh0H75W~{ymWx)yGIj4PsZn^Ki22^c7l17~t=Pj3YQ} zxi{JE!w7);^7$iAnp?n>sDmOpIw*nV1V7l1pw2+@JmdKYv*X%4R_u4SoThWzMO z1y1Qo@^bQS?CJ4ltm)}@VYISCcLrMk8K1PP!LEQcjz=kR(D|4JpoGK<=Uc7{vn!O?4PdH{BRK%>17(W&a$83> z*sbYDw|ERhHSa&J$$%F94hE%}-uan++9Y4t6=49KiF?%c#9HkH^f0y3?M;;wy35Y7 zVXFTS97ozm`<<7>+X2;l0eYs@}a7IwS1{ubt zn!qxAv#6tf4`}v|_5${D$Te$^ZXu+3w=sD&A7+d~Nn%dsuDKsTp6!ZVb64ZJ(~HKZ zLN=|?+GS^-yP4ne}*cy0vG=6 zt7)gzUV$oEy10HI90e|b5sGuJ|H(!4x_*QyG7h^^IRR}Jl(c-<3f_yANO%yg;!h(Hayb+qQ zVqp=6bb0Ga{RXzB3fIoHHI+;9I`Nte=)Qpb^FOu*i|&}Y_UK9U5sts`m&L1174`ey z_fFV8%PDqdyT+>_$_naiq*R5M$G}b|ZX)AP)6q!xKn|3CFFt%mhaB^f@`#Ihp2vFO(5z6@~6%)NJL5r@S z$P&D0X?1T-5hIzI?o9}ZXFy`?oc~5K_(I3ADxf#9Cv`bNz0`gQiEx5F8|+P3F4%_; z^rn1Zp>98Ub_OrTQ`aT_gQC5RYi!H+2dsV&Dis6s?Q5P~a;jveDVb?XW|~r&szkhO zH81b32x=CWbI4mN{T(ra)g8}^5No%?4uxWC>{nUr&l8*Sx5l0W>_HKtb_cOpN(UP? zCu*pw{8d+eEK}h<9E>=*Z}<)9B4FP+)`|D>=I2EPBaIv3-OzU|yp&c@xOhHJzn#S& zoS5>d$g$-Gd8>0lK{DW69$zxT!IULv+_P4~Uc~EHfzDdF8Vg0sUxEPQlxsBr)0e+g z0W2s1L(5;L0G5S-8HSl0vO|1k7k=vhgX)^6gM7S;c@)+P@`Awfc$r%u@NyYvkPqi4 zFDtSP_%GpqF8+_j|E~By7ypEF3O@QK*pFBUUf!-9Ocq}LLiAZ3A+$rb^yYcG_83Av z**l!)6)(hlN)c|hc8E~ux)9Dgg63+k5okGgAx`ESFgj{s%e9W}A;?=G`!r5+20c+& zVYP0n<_e|JJ}I?;u?P5ge%el66(b{*Tl21P@=~`cc?nL8VqAp-FR+@tcGKK_(EhsJ*; z&lQw?#>z_|);9P24yQtDxDTkbg3X_U^*8d#(Ub%LIFf(`p8p0s>#s$vVLPC4D4qc! z=A{xMMT1eviC1@+o~^%*S!C?D19So-E5q>W3kZohj=ab0{;# ztUHCm98St%WU;VWPd-OX%7=3?^tB>$nw<3|$UZMAXK!Z8ES(QUDtJ9*gDQ_jsrfw4 zJdfh@Sae9oBVbNfzlP0$aVJ5JO2-pUNaSE#a%h6h5ha|M$icYe&;*-95>}hq%mow@ z=0KS-XlD@`Z$Nog9L@aOE$5^DMivmd&t+Z=ec{c*vcSVhYqs_PoNOsS-&<45cjo#! z>wDq84_uaryx3%sXMSoOFPJ;CPUrz+e6Hwkw|lrgqVEc}q>r`C1zE4L0K`io0A9H} z5~8Vs$%%?>;uP{(_)^Q~rRylih|;eg1@aixQD>yjXG{7!?5Xt6FnNzg-mxANIfg2n ziv3No4qQPDN?0@c8@{qNPpau80%}9>-OF}C?-MZYBuM?m6Hc}{c4ZF6C5I+R4x4Zy zZoUJ;818cBvwke4^El8r&5V`Q6#t z@p!_At;YUR{RD&uXEkoZU^-x?e6DdL!dL)gtXMx0=`J~J$~*ybQ?dFqb#DK*m<5~! z48*X9k6-wdXihjYb8L{w9|`k8`y;i%`pLi@d52ef1SBw86lk`-6wrAiLiK9Y1gaq6hy>L~ure4-7p$pXj*14YCHOAh@QlyP)%?Qvs5xu$c>EzwfY2 zAIr`CCTs&{-XSv3POyfXU4A+O)%t13#(fr6W*#pNzXb*rNX-gp`5A(BIp6WN@+cMLjaDuGazU?b7mB3&m>vOaSH;8)xBxYXoqY$dllx*05%$ zdE;}}VgeIV`M7b5X3j>*CvJQE4KnK5fzE5Fuio!LUl1{K*m0S8s=I7v zC&b?cnFmF%Qho(BXZzs0_tZXEUL{8#yqK?)7gkVlBL{i9ITNt{Ok3$2o|-a0%8!%= zp`$G7>KB+g@o)TO6lTR)$T_}(p>c-Z$54Zzs~K9x(CrMJ&CvH5ItQV~I25$vO$;>{ zdNV@H86BRwoay5~0;XE?86wK-|Fru1YwlIokKDf60BhPyOr z&y=L9CM`)xnxaX|nv(`KWp#7Pa9NXXZcZ|s?rKgM?$Jz-q$Kre(sS`7F{ij44Nt9~ zO-r&#ksS^9CX*sVnx0IF3~6REB{HNr$&|>BhNmTyB0CzcB$FaL8Xia{MTRt#Oo{Ah zxIdW`+0k%!GAXj7;ZiawGNjqbl*o`~B~v0h8tzIaMRqh?O(sQlG(07l6dBTBG9|L3 z;c_x5GNdL>ksS^9Br`>JG~6di^n_fq9_btIZsir@?_*yD?-kAuw(+k-%#4CgMGq4& zZb#tZn6WoAG|!IZwu5iwyu)iRu8GM_ zY$G?8=w}9uw=Z`ZEs?t|TA|$U5xK8*84K-a(rgFy6l0X|zP{wrGWN zzgOhG&XN1gDRN&QlbhH^?lUMi-h-`%RGU)CB3FOpuM<1li6^kfv*bv<4HTf=!Szn?;^%@Hs|&{_1Tl zJsG^*vNrz;tk5-Z?5tF+!{uVWYB8oL#w%N6^eV=yLJadsc}t>C5nkOAp;U(;c86(K;e)W!pIr8H4M5K!=gK%dd6aE!0^bojTU}RWxZ+!u;y@r ze*`JW0j#=BUqAycKJ5IR>3YCHx6^=@4u`XDf}67knf2f0AO>Hyi53UCJnB9 z8{TUO_7^n%RvTXcxvTTOMDUfj18vgkYVZogoI1;A>u3n}z5Yu!R-RmaIU1G~3QP6) zIxb}?xPle4;Y_;>j|;(&5)}Bja#oy$QN|KV|)XkLd2a-l$kscM|~S{bZ8p zE{Kx)I)mjlk`La($l%IjU`2s13H+@#ehNm=szjjG6*dXq)jQvbVNdM>L{kKZ%&d2= zd4GVizo(zFH!i^=m^+2C@)zGL!f#6U5u7j_tj&f|>7K^2(CXQ zZ$X>ZPet}%1JHaml0gC1=0(2e7K}}B#HZYNNcH#=TVSh4q(P6#B+=u;lJp>c^_tJ0 zMe$tl2*ZObG1T;ep9-A6)y8jB#}YxEKWdX`5RbXh&R~rj%?FRW(L(Tq8!ZM;BHCPC z!wckOPb06F)%?jK*&_ZKz=EGlk|O>^lAgmazT3#~;7WKLFL++y{H->ogY?w}Um_^d z-)s_#^mjMf8NA>|^T9vdXd(Eg8!ZO^Lewcz!SwU{>nZiV&c6KgTFv@H%%?LSWqrO& z$0D=rFu@jfj*KLdNmAJ1D5*1;E8*Gr#lF$obJ)$;D}wYDf~}&+a96NJ6antrh`VJ3 zLC?I0jpTzpqX=-ZqMZx2b|DzY1C==W1UC_I<&K3&+$ngpay#EEO497Pw%{ z2y?YN$#i=cj0u+k@8E(l>@q~gTrkF120Y&dV{0H6Y~w=CC!(ltCl`DH!J@vMUGQ58 zzKgQ$5`kf{|A)HwfRn2#`^WFznYmN9%Kkc7}f?@1^Lodo2D zxeEd}HwHvdOhQLosX-7CMFEix(mNp(6)+$m0)jLZ1P%Z1_c^!C>?Y#-`uh9)_p@`) zdCEEGInU{R^C-|400nniU|-sWv4cA`fU)Zk_DELsyLnPqzJ4Hl#50UqRita<$=Bj?#^spKW>!F!I8cr=q>Y=SkDz3njJGwhV*!V5j zN2=bt0BE0Qg`|OmH6o6Dyln*K-v_r1a6=>#WMn$M0`qdpdbX1F(2zTn^>FdFmL#$s zK~ixAt_arM!-S3Bf_;gSRRG9(WJnsoDJb;L;|XUa%HJ4-uk|(=j^Zr1M}t&q@ZqAs zK9sOtVrg9z@ysVVMB;jxg)oMSE#rFM|AV+TNnCv?YomjQ0sm*wk+j3LzStMcDW)*k>{GB^?2f`F0OU z1D%Jv`$WL5i;ySWeIpp;&OHD|@{r%{5S`!j-_JvdHB~xSMa0ihOAla66fF^j4VHoP zApe!jGZ+zbzUJ{TuA$1G1adG*RQ?o6-na*Q33T@fAkcLmZ#c9i?O&-5t^mRO$kQaL z8~-@7GG$Ffy+KoneHCiI@+!*rkdkjTTzbr*d~1L-oLZ8|_bf@CeCQAA?lV9XvT+NY zA{<26s5xe$laR?74hcyc{G2BcU?Al_MEL8 zo~1QFy^>EjFLo8()e zBM%G_DaiOGQo2hvH0AUPDlWRnpT9U-;ha@pxI1sD5R|8V&ZK-c5UP1-2dQ?j3^X zw_txqNh|>J(mf%G1Gjqtu21hVjdKv!Qa+>}>k$-JpF7MWkBE=8B$4k?l8P&^olJKh z7B+qh_61HB9D6)rcpS{j z3Atl}JRJcKE_+NEolP~&j61fiYd;2WTfl1%VAP97bb2@v3AHd2$iXDh!qy}eSDeZj z_!+{+Z^8Z{XW)~L00S5WZWGdwFtZ|1W6Z=*D&uYoTqLoo+D)85({SJ*FH$1EtXImx zq(DmKmq1EG38tj<0OVRFrVlGIeF$RKV-~1Z%&`5TUU@*~CzSI_Rc{}I)E-psjswzg zYDpreC8T5VEx3yVyBbp+AHWH>LVIxquI|^}uL_>uf_;;!-vxl0Z6G5mt(Nt6$okX& zmaJYm2?SQmn-mY@)NJ{S1e;q+PGdv;aYwKA)}>1DeqbA`mLVi=tq{!~{>qy^wxIDuFA9 zNF+61zpYdO(kH-Tul6&>bG4eE+A}OKVLbN+(r{`?63=~vv=_c{cfY`1aQCHs$&Oi! zsocBLLuVL2Z{q^JynUZIcLj9!1RzwNpe<=X zs4}tufu2t$DWbNa`hlk<$|EYxb#;r?JLa;t6OWm*+hrbs@dek7;&QjcjfhJtPNF)W zjlgPU1vf;9t#bUsIN{ohJBzWs>M(RB%KO_}>8u-LE}jF5ClfA44DlqC2*a=+Lki_m z>7IJ5cFu#{ei5JgwDky#RMOf4PO)EEx_z=Xx*66+ttUb3u1trRRkDfj7jHm#%Fed^ zCXqd%L_eWbSt@gDB|pI4$&>s*CGtTuDsN8H7Q0Y;jr0c$mVWvMq`$XTdVdew?3jZy zp~xGEcNMD^LFH(avQF{LnRh>v0Na{cU$%|_z4H4fFJdvi3q7LHc5pSF`#zz~WwNBDH8Uf-iK&|5gZG^Jt z>RP+%#7>=m1kPWG&g1shh!y>gxlEUQBJMKY`9#8{#(ZL(F^hU-@eq}G1?1n!VhCqY{uqX`=4m%5 zp|zH&u#1-I;)R=+0PtovzS2O045UL?;{JJ6?gRgE_;LySwYQ_6d7tO+kS95itzn294xd%(0N4$HT6oelMDkwSQ|e*t^%S9IBS z+SAjA1s*NstP@2@MHjS3=5?$`g^?9DKtehujP)rE6C(6ecgh6_9eQpaoZV z7CJMR;sVdzK;e0AjF@NL;ySLQIhui7VGjh-o9{G5W)$lIBc4;i4`@GG%k zxW}ypGcN%t%ij9;6e%|ZX<+@N?+-;P+TUhimkdR-C9q3FQeWoF%E>A0`|-JV8xwJZ z+Nhd*wr$RO2puFWql=l_iVJl$tBUA|s(AX0%ZBh;e5fIWUV8-PwNljoiPuWegT20o zqR$wtkYz&?R_ z3)GiO1eM5)PRXn+LUZHSX5p2icwRN=i}XEbXj*GaqrE+wXTlWna-s4D zG+Cv$OA?4#gcFycwATdX>;fOm5n&+txQkP*egG;aE|~%$*h_IaJP9xfinVKq@jFt| zyZemnxc(z#kCA=vC`Kpdz$j)cF$YI6oxrH;un&)-M+WFaqv%mU7YaoiOPm=O2Zh7X z$I$14qL}f-%#UKm5wjqQnLrGVQiuL*M9dLUj7ba*7>7I?6N3ZAJ|>St$syDnbC~$< zaUm+@bihf$9?P78Bdfl{l+z`6ymxE3IF%aWM-y+|1pEXP1Kg309N&nqH8GuUQ{BvR z${7JJoTKe61ZhT0;aqnQ_*KeQwvQp}$c2U;gId|d zp+%{`8-y0c{+{Te>Zds<`z`g&v7&n+r4d)9|rRp`7QUcwo*crJav9_6W zUB6HaqO%q*)wQ}ToD7Hg*JUZr8&a6d!}AF=e#SaucF_1?CQ>ziz7PzqwlK`RmX$|X zLVR9n%xl^qpEguuLNH9l-zs_|j}rWzl%Kh^lK?NRt8(zo-Hmeq(%fBDj|l_viGtN$-6d)k;KaO0*L9f5ui~Ywy01!=aOZqNY0pRVwcB(KuJjx_ei&7Pq4A z_9|;tRcDR<`%y{r#`-a!r<@Y&nE_4?CYp_W+}Q-M_xetPGeQXumrtOAY)PD31CBa$ zP7S8BX)vno&^d^p^4#~RB{irv-xN#wuc+&~5I!STlg_ZfF>Yd;L9o1*aK*ots zfEs0GRFbA-)-CTr)sawXoWM9au^t9adm^M7XENFev1}9z^q| z)TAfv5&eKvig5u0} zp_c|V&QhT^Ak>D?=SZjx8wj<*mEmm`*N;{uM>z6JbnZuyqd7#ze?(#mcYgWkh!$;0 zY#Hu)i5j4~r(TcjqaxjiNH-1{X{=wZN7ap% zTEbYEZ}gThM&(Dz62>UCgwccuHF=8|(#J2f{r`Ed5ArflrvevwV%cePkjN8 zBy~U*;_~qUXH%HgYEW?Pt-N^UvrlG{q$8}j9{hU<7!gC(6H%0=uun3Gyoz5-X~*Uk6~A0_E)u_V?>pXVU?gaP*SeSb@8N>)h+WfNHz6iHCQH$S2Px z(Q}x`JBst9dwr^4y^1t%OnE$7e@ZLB+FupUd>XSjnRUi4oW=PjtAaG@MQ)Je+^V-l z?l?5s7#K_0?U*zt^XC#-u3v<*?$H!%bKY&w@ss<<#>yWK7lmCU_1< zyA$P+^Siss{BCu7pEr#D@1ktF^h1hY4)Y|Thu?vR^{FZp!;k`5js7mtEGO0I0ZLS0 zQDOeCrmdtC=I(0r#Y8jjR-?Zc_{98MOTR;Dhe4dDtUsZ8N9Ok* zyi2Ci_6f}Qb@=%Cyh&fOT$g;#Gft;M{JW&z%Gu%1h|RqSutLS5mrWk&gTI zb?tqWr@J9fv*vBL({Kp_R32~E+GUrWo=q0#%9{+B5tL^Ne*|+^G`*MO_aT0t1D*+Q z`p&|qSu2`PK`YG~j;?bM+^mh!uzScwCnT`)(v^^uazJBt8!RpZYjsu#bGHsaXs3_#cq*HY9o^t^fBv zmKOcb1=I#dxiq}81cOn1`L-x2^4^FXKCscH%AA6-8ADk-5^><4S0x3j@G)72FK?`> z3y;c`cv%wc^~apVB;41qN(h4kXWijVg5_Zi@x;U?b+3v2Z5Fsj7P$RlOA44>$As|FDsef{e^B|`q z|K7{IbBsC%v|Y#=?E7|i5RYp~l6Q6_skmZK9{br|*!V5jC#fSp0wC|~6q0bLYBr!D z+KnZTBz`9yDRZ zoX>GINVb1P9U9gZa0gfQDb)oP$K8C7SoJf|4d?3}8LF^ zRQbr*c!w)Gil7{ffzuhfGYOsGF^6Pt*>dhY69ch~`8Fn^6*`1v(-r)nx61V(4w86Q zE2)`iN$!XKV$Ko3O?yp5+z(bh;E6siUSt?^{ev5AzS*?ou_pSpnPaj^<=woT0jZYF zNFE?TXN;7I9(1N2A@2kCY4cq!A<$YI=c%_yDAm!PdL@znotUf07JKnRg+#jzw#pCC zyeM$_HppwT2!!?4$sD@``%UFt_g3f(^Avc)JW^;ZbdHRv&m$5h-pkHpo!8N@ z%+00HT4<+idjOUxr9iQfa_&xGbcTT^CJV9BS~|?$og*Pkz3DE4XHRbc<52YZ3~6&5 zHZ}8H<_3&>m^brD+(^o9Hioqs>pFZukV97>>`B6pNw}T_wbp`#ElgWp7?DsUb}42A zDPkw*W;&o{I^C6m{Ba-2WR5%hM z96jtYKjN8>dgfy^!$^@0j>!ebWMZU*37$MoW|&WS=98ZJlxIHenX75838Fz~@RY9L zDIL*MI$|Qwk&YX!#1TAy1~3CzLo?JI(eOmDpg!wyJ?ELvd*%x?!}yR5uE>R;$;6>E27jB2FaajS%wH6vU;{ zRS*$>N$zJb8KZ3lO}tOH8h1RXVDU)ZYE1X|fb~;UXIVYjCT}Lzrwg%F>0%sHNLt;h zv~>fB{W)mHl@wW|n^Z@SQCSNGbt_0ce#rMc*HVf2^W@fTbSMp%H9WGzCvfPp`viLn zxmyCh^U1cwB z1p9l+{sQfPR`zqCWcPh#|Cq9UpzIIO{|}WNn}iJaBW1^0kl}tzyWL08{sJo>zmuNm znGhUrnaAAE$l&mcx0ubJKqhGBdK$>-MB~lqnEQ8fDJsx}x@X0$96}!6i?@};847~9 zgAREXdlAfskPlijtyz66HM?y0=B<@aMHQ_77WLogyTh;CC2q)p@jD=cjR#fnx~O#_ zq8njI3d5abSONyTZ-uS+2FvfK@Pl`7)3k6ydIm2<(vHl@va*Pih2!#3Uc~1| z{Fa_Tc~|8{54PG!Z0*zFm-wUzIM99@gZ~E5*69pKf>g}b&yevHqGx}X?QD2 zdsxZ^!|u^ryDOivpvKIf0j^{cb?RMc^{BPNn)jhJWQ^R}3E9ddFsOZGm42TWJsfIH zPE5Dv)@mulll^SC(#o4@n115=tgamf%p+A{BiNrJSiZ2=+HEJ0&2U$d+l|a3EY_f6-L@iji0Ki7Sl$v$K-UG}w z%E|Fxg21(Hf6_6ZKtJ)-ie}U;PRsuIN&!}ry6ljx0MaLZ58*%dZ-rFcW2C7B%S6|OOhv;Ho)<{(mf+Ps}1M&eevHN;n5V8pQ?>PH+hau30NFdvt=f5N$-LSAt99bU%+=84?t(^rTDmHQ_MwcnN$Jd@Kji%jkX&1j?yOWrrK~Q6`3DEag+_fvk~~=+2S!OQ(=-ZyVjXf+5uHp3p6-W%CvYB6C$Yz#rzl zN-kNqI1}pvICIgIag`AOJ?Mbt4RvTQajSKvG6`szc*~SdA-PG5G6RY-_l3;6f;p~5 znF&RiXNJsOvBILs!#x+9G&k0nw<8fNI|dv^_l+^@4&dVQHMfD4&qh`u?-b-Pyd~-P zuh^z6M{ar&db1Cgda<$}Jk^~z)DphaZd6VZY@!CcT(CwB_O{XN;3R9XR|s#a279w$ zGsG@J_||XnF)Gt>rGxI|h&?*QJ|w*98XrCoY<-OnxfElOt?^-$U>j?ArwO*H3Txj5 zW#J-$W?;*cm5G-iCr`jbj78Mr#N%QBk?wA=%Ik|h+my9NWez+|+V_Cu#pzfHCC^Z> zQQOC^6l_CP*vyAV3|_`rk$mgy7mfe8gH z(aQlWhA#G_3&P?;5yVAEKy%w_KF%uZ4835_gm>-;IPk{@Zh=7D zZKEgMdTVRUd`i`CaoL;lH1btEm)Z_nIyjcnP;Y76n^qbXGp|4snyFli7-mZoV&+l- z*9cgY*Fj_Ez0B3}1Zzc4gHJb-2^9eRh)v3B=fLD2dbvd&#lpk?zD)7(H4~Mx6?|2P25P9n*5yX4iwmsAHlXuQ`O_?ywP!<1}zNEQEn%QDe^6`q-RFG2OklG<@_vqt1L{{T|PKrd>Mbsyx8 ztNT@wxS{KQfJS8^GL`iJtxyjy&TmNCe}$W@(Ynrf6Bc>HH)%Zx7L@UaV1V!z2@k`b zY`~)}kH9j43SeEzeU;Bf!=OJ}6v2wj(JpnLgJ&ErG z!+Huv*MfI6&3YO(1sANm9@_iCI%%@a8d%l?$!sz`izvW!6#y*Rlv_dT`CAwJSu}|C+Yb_=0Hsn%F zE*mQ@ga<9DLQ5K(HF0kY=$KCCKH*$x_k1>=#w85-1P)$c$4x#xcMi@{VDC`@dy=TF zQUiA0g9Q`KAhtjYqZwOkLid`r6La`8E7je;=n*ZK{- zgz;PY9LuM2*bPb4T3E_B9HdfZZ4#$4>g(5HMryE%u~|b@j6I8+s(QW*-J*vjdloT? z6Z|#9RtFuo;FpA*dT*Ijr;UdF*U)YEwFw?tSlxj@3_;Y#JHP_^$JA5?Gx*y6JVVxR&h3s*3OK(1-GImtPPRihF8(4N$1|KH_w3{+^SH>R7;NU}Fx(U9O zpCZySj&M1Q*SnyJnTy=L#r_3=LP1V**~5@M+ z*CRJT0|zL=LCQFohM!{d2{`yT#ab~Qq#o3auPUE=zH^>iaPf!23 zV8lD}&Vjhh(K!MiSJLyM%7qW$L2O2A>5Is+%O=A%M$?8VUfZfI@D1Pq&n)bI+>|*3ZkV~Qd#8QW5oLS9k`j!qSeF#l;KvyighQ$wP{_7 z1|Z}1hu9NnExIQu<760|`_Z-Cp?Ci2=4VJ1J*MsxWD#)}lGj5p^Sg_Pz=eS{67E-N zpa32xX2M-8rr{nB6WvSncvK5(eol|^Rt)_^za^nvgwEk_nKqSACu)mhW*w(Qzd`4f z^rQfBx*#SZ&K}1%1+kYPVsPReQp)9Xh0ZaTqVhYD*!i8)Mdg|uei<>t|bAN z`z=8Xgotko;$}f4DBxLw*n0{EWbp2(f;eb$fH;kaSY?l2RSjXjUW=9P{xV?Kwr462 zAOJO&B}LRf@X?x$RYv6ep#aAZ=1a)$XcA>alAifZq*+Rh+>({=jnx)6$E>rFRmwZ3 z6-%af>$D72WTJ_KmA2lE^gJ#pks%4kT-aS20_LmK-gh8YDWw+{iA}F;g4iWZiT`rO zqe6vvh!x}=74WLJpM*_ zlPiU`Ry3m&+&iC_=q*4uC!mP7aSc-@pRN1=p{ijT)5diXa&x9~3$WPDE0JBIP%lSN zOMybOp0R!h8FaM3Yhk(<5R1VfcOd80_;AK?JpEBwCs7mME(DVQa%#%nUK#6F$~qUfB}9?+ccdT-5c&$~9{_&-DN>Xfyru%utJ_qaNiCOBHOx>sWqw zjceMAk@BlEpGq-D-xamH~fHA-;k`L+)kZ z+(7lAJCvuVt~;nlBtppFnpdyTdo@vCU9VgPmj55sE276}y&{Ncy&{Ncy+TA)y+YNm zuU?U43F{S0)Od%eQQCH@@dT#Q)N6oLm5ZV3pfCm1bopZT=&jf200X$X^1SA>SHbxB ze&Sm)&1tD#@)?yWq;5&8x+P;ubfj)cSEO$7P*S&GbRcz0IO}e`j_{^@Q%5BjR5pIa zB3=!uSW?WHRTWE?m_Zeb@C~Y11Y1?Hh-+3XvC16gYih8Jrk{Y9?Joiq)lOBtgL!$4 zKh`^H%n;Ks4$yv&`Hq;59c9wkB@OF0sDClpPXDCKD}GJ@4;B{&`6+b)wr#BhJJ*bqiw*e8cA{IlW!-1^0ybCrsRbpa zO!|8q%AXw(_DiT|!}xCQw`ILK)qq)eUo6wDupPZ^hD?fK5eNH{XPPLb4da#XMYF1Q%C0xk2wC z5%L69WaSP+{0U`b(Thr{;*S2S_B+TK57K(4Anr3%+#w*lHO1adAYioV?(|@3uyd)H z-!)36tw`!J99`CvaL^0ks64X+EJ2|zPxYXF7IDm%urw8W#~Ou5IUeRgQhKwoq{+sv zDnERHxV(Ze>_5VJ1~IBry%TO=OZuIYM+m67Wn2lu=@x(X*z57}@P>y{JrV3xljdCY zLl`sL!iECs6O<(^Y)I{l#jf5_?w;7AB7`@3{qCvEyJPVe_?V0NN=09p_38A|o$2H2 z533S6Cg2@yv&(}w|aS*}8UfPU%laEIncpZX!vxg|T)PzJU z5Yk5k!T~`|)Jo;^1=9G4KnfrvwDks$g%?Wl>Wag;PW1~|@sdWD=(PoU#k&W@CC?@~ zbt=DdDbph5?6@hS48&79Ts(OoIh5z;V>|}2)K7Mv_&OWLsPsV4@Rdc(E zQXVf6%udaX#b=*;iQ)nKly{UBcZ3xXGU`M_`v<~(9pN_X>xMBB&B!5fm2+-E{8YA| zD%jc4jQmRw;akU?edwTy^uvHu+PIlSm02S$0$j)nKHVXR88rVs>Q?AEt0WjXD3oi% zP+G%4Laca55FTpx;B)T`lOAT8^`v_%@Xfm6-Uc%TJtVX-=-<5oJtS5f0WHW;@H9}( ziFLz>P*N;uPB17{0bqv^^QG=EGs-1;?(MKaDQ!?n$i|r`A!pW4%C4WpB!-8jdCdv< zxuGyYt_>@S^1_IsJinV0Mlz*t^t%HwzzM^%8RvZBR584Bzlj;|T`;E8I zKI*AU0hGOWH^O{Vbo=Y5ZV7n0EoW2&S1#;P0(p4vpb;|LT*VO0YQhTxd72w&rGX=*nV&)N0fQ4Q( z7J^xyW4%lJBjRfBg+mziy7_agc1w3LleV#6IOEcl?yN@m>2=25JgM<#)b!T-_y_~C zj%>ks9vrE2P26#)y!VohXp|Cc!FdGHPm2)V7MvG=(3d;|26F@|JP-R1!LA|J46$Px z$onj@-63{cVx8xJU84fVY8nBNOTITRXF{&6S2@0)H1;alr!lFk`{- zhjkD>ApIRi&&yb%%wdT#rs%jfrIf0870qY>8MV0I<}% zU}c=-G69s<1t}u7BzY$!$C}dAyUYjN068k@(25CS&fv%hltZdDmqg}Y=xWNZlkM^{ zi(HzT_6{fNhNXA(#J)DXbCmE@FloMRSCr*$_m<4K` zWIZR@3d^c;lJ%TqjSBNejgzDl+Cub!8HFk;R7P%aQ>ZqD$|@A{mD)GCTr+Rha;$r1 z>tT}XCeI|YjK;LvKtqz|N7+w9Gmw2X1i=9m=rOuY?=OP=Z4I`qk-RU~U}p;Ur5fzf zf_=FLyHc>ftHItZ*tIp-HG+Mm8q0c?@pu#_4g|{C|Ak0RZx>y&mXsJN)ye>yQ6rjB zil8Y2(Tr0B&BzhWNJY?$9np+c1kLCX&1gl?zTb>j1kDJNn-Pnk8AGFcy6*fDmg0QX zukSu9h688g6>fn`5_Z=L*tu@Lf@diwxa-h!vocn0@|l`y9KG*3^1^BJ-9*A^t8wzr zY9}2-IO(Wy@_DtBQA0QxRpaCn&xuOcXT1E`nf5d22hbLd96fgy<#XWFowvadP0Ei1`wp?sp-%D|+f1Ik zf2!dfBiMIqc()Ynd)2(EzT?{BpFDjZQ>|}G6Oo%@F*+1Sp*gkfQZAw?PlTI-5lw+2 z+?0%HN)+LyXmUj8udv8rII&=c=3^pY{>3x@?3wS=Jj36~VfM1cBo6y<$b#9MkH{f) zp^Z4=05axnHUk?EsbFuITqfGt-n&1hM^8epp!1~OU5w76vTxNp)97sT?VB2%J)I@% zTZnEp**U*+6VF<-RsdyA#|%YoX&0=x7Vf8Sl#;QeAByHF$#} z=c2?p<<`e{z}Uz75GJOQKY~$iOM0-uAK&df2;Ok5^G-%fzh&U`zDJg)nq*~mXlWoI)+%i!$!Qyp>L5! zO;({#f?&$)o@C|2Ew#m^MCB5A6Jhdvd>B4f^j9!QkX1bEZFoL`a((E_71K@*<$jvD=U2I>O?UXMb|3L4hIaf=j2Zan<#gQE zKzCi}&}b|A;j_EFg2ATX9cthm3EO`|Msc^L)#0~Lv_1hw0mZfm(AE(F+DAozj;NdA zQ8y!^Zbn9dQBe;%@zg=Yzs^k5!_I7HE=tUy_=O^N)>k`is0JIOVRklExy%oX`qSLG zPJwn38QtBE8i|>+S!PuGiYZ;~1J)G|6{iLl<7DuFy~4v{IQ|N>n#M>P^}pkkchykh zIo)9jv>3b=ZZ!5oCI_;~a&rt1bO#RO$@;bP{2Mj%I0HB3*Sf=Wlnt10g}ojFxfEQb zqOMZ)YsZBfG3cst8p>m=()2k>;PuFS_M!NkB4cg#0e6FNA2JWFTsV9a9L$S#oU86d z-y}BNv$e%WoZE%Gq|J+sJa^7B*wR)ox2HD10ifss9R%7Gp!9Sc{Kgeyd2FGUz4ToB z%;JZkn^qdGv=-H6SqWP5!1Y1m!2 zD%l|sTa`31N$o{#4My(tr}73^%^e{q5DcO6Q3S!1t7y$0huR;EDqh32XPBGnI||mA zF);N2n3V>wDUopAH;zLPh8zJ~m2LxzXn$3@oz|`4DJs3~!H-IB9*kA#4iaW5!Xiaj zDg^UWlr9pt0nz$909+%90fp8aH$MY}YfZNVWmxaX%6V{*lzKn{PC8qFV15p!(uB(0 zLlKo*;WqyPzNE7iL-{8|NtE_(PMGUp%~f87;||d__WK%mPK;HUiXG1LrJT(HuF4y2 zDW{Kw<58OcY)?5;BYYAQc=-jq?D+xi8BMG!Y#Ce&i|A+xEi-LAW{W_JuPaOoXfl6- ztT*EvOc8e1jbPq*Ra-E#t^s<0{S@uB1C^a){!4+w)pJOnF5clO1KF(JZew*QV`Fv= zcZn1gun++5_}z@RV~oL4&)M9%JpOoojYHO)DrRSC&YEC|pPKU9d^}l5SvvemCkqmQ z)eLXO=X!3d*;SlLmyNWy!?>}s_BxZYo7&E{8b|6{hj!Gd{@(3+ zZP^N~u@P*;F^@jZ&@^0`moH|D*^d7Ll+;UBr%Akd+JDr(@mV$l*I8fOP@+xWGgEsTIwt+&Mgqa`A9#lZLaXFBDO1rI>zi}F2JVAE=~L5i$hv)g$nD1eEqBTEQGZx00;8* z&$!b;3NZzDW)(~cUDnPaOFq{=AZ1)cby@bK#EyXqi@PGS{D(w43oW@U_8|^i_}-wd z8UH;N`l)dd;;(p&sLaNI5s}vzh)Qb=)W}Li+t8Adgh&h}r!i0~C64>1QC^?P^ljk_ zDix|^8zm@f*`zP100T)+Pz4n|wJIngsE-&zP@gn}po$a~RAF#!Gz87|orhc?8l6+4 zQP%z`Ur+%CQl6j+YV!nDP()B4F@&H#X$V0TDJrPKw4^aD`%JFyZ8kGIB6DK~pPe^3 zUf=gDu$V&J6*<2!{dN`w1D!G{2w{O;1-v~2`58~9;r@#AP_L+Gn^7gSN`dnpZ*Ig3 z5{<{Pcz>gzC^lRT%ho2}VAaEizMMp(sWJQ!+$) ze*m=xd|L4%58EF0{V-V7kgd>Odv80T1=d{hs$ZB;= z(rU^d4IqrJFFJ8=H|~rmjh6P@hf}@zN>eL$$bB91sD7vN+^|~VdCxOmP=+-OV0c87 zW2>c*Z9B^5pTpQ4B4P}-2aSZgCk2kr%OvoYOM|YCCb@e7S=u;($6v-pQNDd|I`vrh zfjxm&U2;BRUn1~ON`Tl8h;H^{4ecf<7gyH?vREV0u(%>n%o;_zNaYB|p?w~XtG$Ln zW>=zKhLx1f~gjN(^tu9zG=C6lgzK*bXs(+^L zFlOo0_~Ns3aywk2JM=sPGTaErAOcW!Kp9i+L}HJIr#KxiQHVD+X}zOx?t(h^Wurfp z6Op)f0ZDg?$C|=Xv6(+&Y}*EL`z~u^J9G@`lf+QEKtUYUiZ>0h5GUjv>&Xn@*8`V;UAoA;H7OqxT7+PIs$0Q2cDBmHoobK=| z<4kjJ)XSw@3M@%DCO(N`7?f!iLy&&@tfM=WuAIVl4UPd2bBYN zk*6LPl_=2^rwE1BbYf{I*30c)o{7yk6vHonO)oxU7eG*?)GS`5YN(V;s+3Df%IRrI z5gfS@)q6UB2|E9~i#B8;jG2Dh(CqCb1?j znn}&6hhjWyOWa6z%=45JKlc(s#W|i{Jh%-owUhVYcED5&VQ-zAzD>DM8Y>mvl+*jh zLn4j{m-621g}xa1gfBgB!X;+WZeLvG7+KDflwJ9tMxNc9#9U$w?IQV3I#Awk&g&;C-Yr@pdL>aY-IBV5ZvT$D%U({jACtE6|fg>D1934GTY6i=p}QqMe8310rb8d=)U z-{oD|_^ODjteHl-h(5d~I0RV(MX1a;0HyIwO}VpgrPL4VKziPIyIIL!{m%qQZ|{$orEdbi(=gZXOWjOrn~^H$IuTR$&Nk# zD#kE$w$NM8EISy1R`v?O`2;Tszy$=~48TJOPAd3r4<&d?03Js0fdD+5U_;SoK7!z! z06dc5ssKES;JX2MG{McB^qEfu$R)EgJ@Z>M zvBu|$1%z+=2(bWh77+)7gBAs1r((hV4)LIiIZF}H>52t}<-Sj10p|+O#Y)dSn0mgo}>oI@Zh7v61@2-&W^_ahN!j;em zg+W>TFer~724xy54D#z?7<3W|L&bz^Ye%#2;V&46Qqg*_#YD*(ua*_PA8%thWz{i8 z^*{*}<5LfmKrssSKnaw0MlO&L*}5meppMbaqkXH1ZAqDK zkBw5w{i++{<=BAh&g-PkJqJ#(ewD%jdaE537S}{#+C;`(<_OLOeSAiCs$zc(xxFi# zPGAj8c<>!`^;-J`weRs?`-L6vnf@>3SGC;d{R_FzuacYGQMn0!dAW!3E0p_R`Bg3V z1^+_s3#;TNcT{e|UtaE^{0im%SAO|&e@6nPwo?$PY8c`xrg#g zH@Q8zu?1(iOZdynJ(OP}_m}d^m%C2n9*D?2VhFjv zUnMuWJ-KmKWVlQC%ga5KUn2LH^2?W77r8Hq$USlhxi77fo7|q<*zz&lCH&>(9?CC~ z`%C%d%N-NBFN?@MY6!V6uacYGp4_KUZo*$)?xFk=xxbWOJb!W}#F!ynO3zB^bh{HeaIX|=7p<#k^=Dz3w{$V=r{e%wdS=z6?W1)V&!lqqrAcC-Yl~0LN4r4abP(FPZ^W z9u{%VgjR8uZ9cME=L8%&l7teaK16)&-q4*hrNy(D|NS9ue~Zv+pmxlrN|ZX__>VWnLz>Je8d`)atbmg1xKSyDGC z=7sy)B`=)Z5@f|t8xD|$Q%e$UEFr15;@iyOrwALr1se}f7^@6NfPt9nh9taRv=mSz z-BhMg@^Eujn(|zO3m}mKK6dvnSz9Ka41n2&LJXvElI*TG$1YQg2e7&0?)^{@)1iO+NX?rcz{$) zM-VQqzyrCuyFh6C7VHs_0lE`lp!zy?@#jcz4OW-GBN8r5)6b|fa^i)my*M)k!p0=< zERMuGF8AYSq2Jbwy$=pjWxeMGCf0R(XMN~S6$GmrZVQvAC!tPpi}(pr#5J{tYl^n$67|foj#mP&xKTab zOg&(Cx>gT8_;ryp8yDkA6F>7#kc|EntecX~=_sAvxd|6b=Jd3E zF(Z2{KK^nd@4KII08}M+_3L=`dZ%+#+!^0BkRESN*Tk1SmYKIpe9u<#J%jP(YfgO^ zGrl~DhG#&}1hzURUhEAu4i9sS;v7;_{W z#@1qNBd9pwcqOp|F=X^E1iU;h%GA#M2S< zbYbXeF6!yv^ksj05#rZ`_~{ON`sG9XeBA#6Dl+6-wjU1L2wbu1H2@Cl{bK@%_5Cr; zIttlpbRSw0%|x`bt#GmxFUa=X8_#d)gSj?$g0pi4ZvV~%DPjJW~={ex<>fIweOG|X!}^M^FU zt5HbCRvl8YRY!~hXFc}Wcl0I=dnz(~x7^N(7mLcRx>zUXbZZ(2 z<{!b`ZDU8gH%D55KX{@E{=5xJXS(+g?^Lp3U5jHh_7-rIHLSmYSYH~Sw*Css)z~I8 zJeO?N&A$PHk$`vB_hGlT1bbQ?7JhbZYx;yVQjFVR!h4OA-39S9sDsC8llPUY#bnMF zlT2D`RGuTN<=HAKPxnyr*w|_v2(^krO%H{7YW+gdXTOY$(>9wI%5(r^8b+DQd+OE< zu&MKGx-}Da>>PszwuUXs{>&^`U~B_JopC!-NwX~wJuhGnxxTKjeb^&`GM)y5A8tXL zxUJvch{;@fLBicnx3+@^ez@Dio-0j2xI4fm;qC~FoJ2z4JHc+E@y=LY;Io0~c}4}k zZAdd+a#Ue0=4h546Pv z(-8ZFuDZoV&%V_T+Tu3PUJrY_XaD#qZE=TZzwQ=o@o>-n%J$mg5uUy0X>IXH&wd2# zqdfcBuy>|C;9&w85BP#W)&pikjLw_~T)8VK^&ar^hX6EqK;8h*=m8%-0-(tQ`sqR5 z1Ag}yD9s))dNzO-57;pcpw$DeNC6n;0arZ=z}L#rr1)xif`R&ax#e#Fe8pT!34G0* z`8WVyHJuLw@O6`COnv1%4`p`x+Ijmy0G*x$H&E&>4|tlC(H`(|9e^<&FqeXk^?(nM zl%3-|U^#U#-UGIvI1@bJasnH9zyoA6J>Yl>y0Hh$CD82w-=^YA9`GoYSQcPi%Q9vu zFK4B3+F}ZF($ueW(I&oK4~iXfA>Q3Vb%Wmo{CI?LOZ;}gZ!i2XB9dh;9)aYx%Wvby zj>YBpU5DQ<@Vghk$MJgszu)8cE`DgQ;n#N$KK2T{Czt6X&a?iARvhjC_A*+J z5G%&6n!Tr3zeVdjvEtbz%|@8utsVp^jGMtLq?s@@Hb@SNNp*%2}=$^$8d%8SVJt1zU%VWLD^HPtZeE#mie}p_|mUoejshd zFxIv90%N&3irJgK;`N@HaK&a0Uua4i)`_^>WM7pF?szw)93At=2urcoUd6 zE%XgAJ$tYsTlaF9A}^*`b3o``iI+rf1J1q+pJns{h}(%kSL zKgYQVM1LKBE>7SP@`+Z5$7%qU8@z#k-;&ziko;A%xH->#~r+< z6Yo3(JAu(C-UDO?=C5F8jn1Y`63Nb{DPOOY#?&nyiFO8E>=Yg=@lJMPqioVU1(|At zPpje6@~gnKDxYcxjMstuQlm*pHr1xOfi~+k*}FK{1o=Loj1b7oG%%KIR#7^2t?wx4{kjvwRJu z{UfbioflE(FGp1AJJT5R!uYs7u2B~pC;igC(qm|P!oKE+asdc1+MmwO91 z!#O_YjOK&o@w3N5|4`7y*h6=*{V-H{Dlz`1xh|eip0cJJ6+72F{sHMnLRRlBj=K^V zXdBL73kcv7davcw7CCg9w(Iig?DN|m6d5N1a1B5%n9z>#cS8`+J zoDkVm?g$wkB0~s1Ec}OqKfN5|NL^im&i0`ycVT3F3q0dU{gP_sEEVolQl14Uo(3rJxg+(y$Js?@-kP#8t3da1anZ*~(>5v%M`u#S3Vz5W)0d z4b!?PlMuo5Pz}?8<03u@5lj!)Fx?(y5~9X^pzN&kFQ_LeiN5q#___>FUwR*{^i^Ma zKdp4DFCm*BleY1G_}zXgsuXVh;oE+ZFPWNV0e0f+8M7$dR819$xFAx?PZjaDEtk+BaHQ%M~q;JD@P#k=t&JSa98*&xA zISva^NgwLc<${CsX+_~H%tBs+*_$-?t_obTet30FL zD`ecfEX-AYvkQKjM?g4VawDO%@lzG5N|F)L^lpr#H($2p^8kobLOXx~Qn;|wuV4dX? zqWW3J8VqGBreQP^-B*A1e`;U-J4q#QZ=K%aQ!M>93_BRAi3&7tJd?El}Bv>f>%r6mK5P&Zeye+Dp zcxM29M9}EjA$U#zwi0|X0EZDAx0TOaAb4B=775-O zfNccz={|Ei!CeBdgWyF0IGo_C0XTwS_YB|dNP_(VIEvui0oX|}HPdJABDhxojwX0X z0FEK}W&n;QIB9F&?Kpy`1mJjr4+P)@f(^5L=8Xu>2|$zJssP-W;JX3XO>nbqe77Zn z%L1@W@UZ~wA=tXD&peUf!2!4l!D|C>62XrGa5BLyxAWajA$Udr_7YqjfSVHR*xqOU z3cqo$_(A|~L9lB_pLt7yivn;ff;R`?bb{*w za0bC0ck>t<~zik8(=t-d?7tSJF z$zC=ifO8En<^nkFL4Q8r5p;LuJG=8*MZw}O>G<*$BC5a(3BSQX;8P6Op8! zcEb~gnE|<2E4~{R1{Q-_?#(Awf0qe^1-4AVIv%){3yZyJY?(e5n9}G<2Y6F5hp%Rx z`5v-5h@DSkW5#uBN8u*1OUdL-?Wq}R%a$jh68-g~!fB3XixYc;#+X@2~^Hk z#_quadIfBn17uC0~EEJy00!Q#!5!*mKS%{YpCblC#aD1^H z^u>EmD`$e!-V`G~EJj=b{&LQ!Tm_uE?G(Fih$|YEXT`@=fMi10szASZmHfwEfmA_v zbazxf1|y54U>Z8*_D{@HdrMPTl;skX$gsbTu@Cd4cj@Z*J^f&@PxC5os1cz=9^~ zHgcvc4XpLJ4X+OAAv55${EEbfL9zQnEk=J8<{kLGjo+^Dt8XiO(*0MUX2tCf`MBhO zL9zq?eFQ11H?@I)rm~PxDFw>wdlUW}mB}IEc_7mLS2COgb~HN7G=sxQIG3(3oGS0n z6yH|SHv{wW4s+Qc-y-sq=BE3vA~$aA-yA~alTJ-G!fhfzN=`FS-WLccnGs+cKo~$YWz={)jkv$H#lSv?1S6=*(P-+q!mxyNqtz z$k8rS*T2$1U38U8wN1=c_J-hUVoFz63JjS2iJ z>DiLZ5R##p?#VVRGXY5;ge9^BWJv-fVUb-f+)fa=xgnq+LWl&}i~%8tAe)E?DElHJ z$|5K#LS7fdeZyUR!~c0s)!k-#V0_>2`~SZDGJUH~ojP^u)TzDdl*FkVU2A3pSn$wD zYX{J3mCt4=P@kevVL1dZ{Ra1ssaXUBH;}1YnxmXh_jgmW^Ui}VwHKSvEj2oSrM5PP zExX!>FCo+@H1)^cyqp6)8zckAHgVL3;etQ{SOS zou0z!9I~uA4^HRc02!7u7d9ayY!tik$5T06HEEaW$YcG zBGsmhjdLxzo(c1x`R{k$$=HLUO}|1>h+++;LTxIhhW`!$qEP-ob-EE5>1ovJls+s} zr%t$ib*jMatJC}7_SNZNxP5i{5Zt~xT?)5<;Oq-<`|9)!xP5i{1>Au;r4Ns&(+>0~ zb%F+wOU-Nn$HmnFFBoBmoy3JaXHiduRsnu7{-{DMRgQak*yy+T8^QsGpg?hoE9ZR$ za+D^{m$*RhBlNkExc3u!|48Tqgi@060(zL>OGbeo0l0E@9Q9Gcj*G({BkZ6!?5l*$ zjl;f1SYI6WAYmi)C2lDec2a+SNd`vnAWXNF+F@Me1)`gB!b1F>%d(2?7%l4 zzE1_dec-!4@Eri(cLLubm6dTeA19j!#9>bm=2r-<>Q53jP2;Ib{}e%m80hN&jmqH8 zJgSn*RDp@*^xSJ4co201AkcYH`d}W2RHxuV{?uh2BBut(RP<|7$s`!#EqF! z?Hn{cuu}Y4o-9ZX-GW$!)Y=+O(Aej)Hcm4o+6E=}S19wd} zfL`C)b3iF$yC5~3M}peF2L58Q4MQy0q(__5jFP($f9K-wa{MjO-vNAW{GFiv3|opn zj2i`SD!v7)r%fG)pmt$4Y*f}{6SY6!I0a72kt%#&#=HzaSp*bLvGPj2H@OLIj6#Tr;66@EIASdmz3jQGI>%3 zhqG=?xM-7VPTD&n+4g?tTHvXIlf5&ZPdgIa?tn6BgYGA4-B4hx3A6(}7p+b0`K>)o z&MSy+%CSW~1MY#`6+N8FDSIN~bTx}*1U#St8h9M8LF!=M$hL(#F=eXJqjbVD9zhY6 zk$x|aw#ZKn)ilSNSUwMq>FCJTA_#rMAK8&z34VL>x+B|VN!XFihuiPS7QyXzWQW1+ zcVx@q_B*nZ;r2VSRdD+q*;=^$j_hK%{f_JkxPy*tGd*ftguaW6Y5u~#>ziN{dX~or z&5r!>80&le4Q&Jxti|_Y24f5!SmITh-FQZ5M+;|y5*c~)l}gB6$nzGIuR;-&*FjL3 zt|g8B$X4Vy=XtpiqudX}#O?dF5q!)AO3tmw!4|x|fYYgXao`Q*>qNr(h?jb8KriDI zoW7+f`pC*ox|&N`)T{wj%yQQ80dTb=%CdGoOVAW;lF@HI-Cv9S+wgUB{rpB%(MvZpzAsVjaHCfU#WkYJ&2sO-|Ij7^g+8m!6 zdzu)vEUhzE)XHDdlAZ`Bas%$*4%v$?>ph3p?2%H_QI;GQ_GvR;G)S*vaAZnSXJ*c%~*--nO;@CWZ zUx;*Ndb~5)nQ+ty)JV(czgJ`0n?QZu3Mh!P0Qh=k@B?s)TDHqM{(g>+I6}(ejIYv- zW+U6Kbi**NF=l7I6mbRxs&$r^#GX_60#NFE2 z=zJE*jUKTXe!rVGN|XJ57j5&7>YOY4{dGudCUsAanmf-Q<{zrxjHI!#z}nVUo`!@q z#tTSEaBX5Fq+ZkclKUj6Fxe{)r#^I&$b7cr^US;z#@cWEf{A+&0vg@^o_ToO(C` z9U)+i0C3%b@7Mf^k9M^rTzc1_zfuoo$-M#7*$hmTtgwnY;O+_(WqU8-4$+;ldU+&! zCBk;|{U}HJcMtt0{qGC?^XcCs^e0y$E7Oj|dtA6AosvhpG!I8fe%RjW{Ok^_#G1(j z+yYI|Xs)0&0jdE92wH_`d;&~E6P=9QNhqw3`p~llcQ}Td#30k{0VrQdCzZo=-UMR0 z+y}WP+$jjdQD4Vg0+qovnVi5YC@n%%TmhL*uK;>Ue+Ma(Jp`~F0VHNRi(^Dg=WIck z8X{aRfbBy-3K!E7ZZiNnYj*=f>&QbyUNakEYvzJ6wP^TGD22zu@ZIW#KNW`WUN8Ka zFuY!TrPt24iRI1-IebL`gCXEe0qhh4{w0Jb0T3;;+)`$zYXo#EpgO4#2gE@Gz{1~~O&^jTCb99Jv zZh+I$+7iWaLL97N>$D23g(%KNAr96&HBM`5YZT{m#97nN;7H}ZJB*3BlU9RbYcX1m z&xSadR_U^CYi*0-{5ZtHi~_?w=5}K1#3;_c1!o$ARSnJ@MV59XAYe)BBqoH(o(U^n zYK-`M|A>xf#Y;`5(}swd^?&A=kDEDKmu3K(UB4e%(ik+*j5Q=0rer$%AxNr2LIyHb z+|}Tq$(|&WgGzcW8d3}>VRNEXzzD~_fxU;Wsh4*7RVmUXna-#@-o(C!J%(oTtMISA z5rni1eg=QSolee_P^!mJOCx~81kgte)e=5-1jWX-G}@Z4md0%!p{vMtsTHQ9!@B&d zNtk0q_*g*nHG2|0f^`AYTC>*(=na5I<4%^O+KHw5ORQUf=ZPWUlY&tS0S|#hFUC9P z728|eqijDP1a!1^L<4>r1a!7`Mg#s91a!4_MFU!v`)PEyc1HtnBlb+Eqa`SV^f4%d zUJmtyeJQ~HO}KS-APd-G_c>?HR(>h^(f=rJWkNIz8dh_e`H9EaL>xJp`_No_liQ;8JoiN4AB7NJTwgrOnzKO+D zHRiXBo50&_j=Nk!r#EW*JM<*%n}A(CPz5FI&%u{#PL@uc-DR!$HW11;1JY-$c^+;o zLw=sV6oL=1)_f}x{2bgV6Lz2uXMEecrZElt&k6bW&8v|A+O1@Gt8Z9EohxDd=57@q_k-F%8AsHg z1v>5rk!#!!V%~TMgpBik5c8+x#TV}kW02`h_mdjLEv{%PXvT!kjFBybe0Cxp_A?Pr zn;K4dj2OL=I4T~`ad2(&5v(dtBb&Z%^kYV*m@ zGy&g1Fte>$W6sUmorLZv&b#QGNoUXep82&e(#tZzts%Tb40F-mKbXgq_clMKy2VE$ zb6%BLz0W{owdE)cuS~y2kc)7;(_YQpBseg3&jo4QaSWSR$O_-&_&BCDS^f$jo_2h(11$)gIHE)}dg$t>>&z7kcmBNUoTQ&pz@ zL&R$DSNsf2F>&4XC}7o20B3Eze*vY5wGYDWkzdm#KLb;Vb##dJ%LJB)`J*t2qcSzH zQ&ix4@?NFHJtmBME#{QH{84c!0%r$wA(4B9FeyfUREvoM|@E;5D*Dp`rf%x4CC>HS%xHyaiPqGb0Vie^{@ z?EU~2rrI&Eu^{IB)()JCI~IxJ?ktn=ug;>0Kt)&Q)Lu3ozp|mkwFlo0<4$PHYTrq7 zInzA^ChJU>%5B>iNqL9D??Z!9<;Ild;nmGLK^O~L-Umpm!(S##B~{w>s!pAHGP*XkDdlbRL^InwV(5Gpqm@TzAyJ)MTh{|= zBMdFHT;zlarMpo8*nLd9ymDH?N?7?Ev^^*U`wKtqU77Z5 zmG*NXc9{0_lEBCyN&AH`s7~51hSch$4Fxxbqzu_YRu?Bqa}G#IyE$|3WNFU)q;d}> zdRmUkCGnGo>zI}XIFD&T8_ihiMmS%YE~GLpZ;m5$Sz^hxN3{2+rXm632)$R9G8Uqh z8b*4FHTyxY-N&+Mqb6(5Q}9%0MLZi$Db4P6j$F=}!6KlqzX;Zqoy*{t6$ z1q&au_v=>I{;@4may~C{tT-*J!?{<%JAG>aR+sal0twaf$(RP>O{?uK>@t{H9OPBZ z=)69PjF%5a1y|?u=KK(E>QRMd%EcL1eQfHFYKIOtvdfKycu5OupeeB>IakV*b)xrf zEV0$TGaZ7#9`~#SG?=xb{9R~Zi@9}1U!s&KZR|Y{lM+0Xlqjj-Qc|kS)(Im3R#Md< zt9B>iql=S?O5689NhhQ(>?RGvnipvpZ@}?<+3$U53_gU_@6|?9?jX9E*6qqORzDf%vmP8mxvf=PB2}L za9S<<%gDjNw_v1Zm#QBR&ss4CUWig0L|&8bX<4bClg1NiOf)lafVpNeNR{seAsSs! zk=iA3yxZr!4hFM$RL|w;YI-rFXA<-k(h2)3hz7%bdN7X;f-RaqrvI7I@@HkUkMf~1 z?+*FUeu@xliqNv}1EJDv7^7`D(2His^Es ztoo&Ped$5Q&eGtk3l7dtQP)%tAO|b@=a_3a$Sgky#(6hb&1*PcNUZ)6j@IU^w({Xn zs452hDxM|eY^<#0`me@?jfW7E7i7(9BEe~a!b(K2W&n#cU;`G6v)&zpVb%K}XV`I5 zcn^a}!ljjiRl7k~ZTcmNfkUGE$iJ7C0 zq&wI@uK#F5Co4z?X>hT%3hRR=tp2LXm6Zy??KQMP z1ZCZJ=qz^H+zxydd4FR~g@O2YL0s1fohp@k_-zPU`yYqDh=&5%W?*~nQE;g|_G97< z8_(U)0M1F9<)zRl)OpT;A~ft30MFeL5*9Ho(n^FQz9q*xmdcWAkHnHA|A2KkC#t|s zB?D<%0S~*TeoZM~$d{aR1UX-aQr@SOk5kGkbyT}`t(NIwqJlQk@?OPPxBHL7iGu|% zL90eJ{HR?b2{!x@7FFwCI@Pl8gqj9jfSi}&$)kaLjOic6h`=Sx`lwRtjIW$uGk9pQbYH-GO;{wp!gKa0eI%)Y0Y5A*m4H?Qc z*3Q7-6FcD^)g+U((Yxg;ZS|nB=mW3UPDDf=yofZ51)RBh5(GTzUdDb3&OFv!rLE+g zgKhZ{=!4|s?5FVwt-eZ!n8$?;EF@zL zvIz#3**gyZ7~ZsU!#qu>t3%M$J)T5h*4-)v90nbZpqWQUk(UF~mo0gun3WD%b&gT@ z#-84lFKy1QAvM(==#rbuVv+{J%&K9;!OkzCo>`Z@qv*HdK^>}l9*v_6wR~ZuBEnE{ zR8>aaQ>rslZ3eDNB{BYijMZ7I9%K66s{b^NYD3$6rB8XR?aV;7`OmMZxIulc>i%``49?5^$xoOq>2%JtG`BgEa@aJ!vT&4?-;sk&w?Ls zIipk86UL>G&z_>|1O^L)^d#(W0l9j-=}J_0C1KZNK0*iII3@LCJo*&ObXUMVIKy-q z-H%4tRra?*st2Luc;e`!KfY=*YU|YaB)HrOURkC^eD@Nbj{`N|zS?t0 zpD_PAr5 z%otdrmYDeZ{!1pMRVt@J=` zm>K6Wp+G zEnR68D4I^7^U?jnGG(-<(XmwZeWr1jQG8s9gMHH@-%{{EE=Pf{u#TSthET_o2CvNQ z2N@+g$}gi9=4#)?FGeL4l3$IT>rvko$o>Gx1V_7^yV($wd2C)C57bECW7W1QC7j%O zMXI*dYL>qbm;D3$0E#(DZr~?4NM~&;9Tyx@4J&v2SYVU$D$9Nu6YzdXX=OjB)Yh;d#N$oBi{G2?OT~jQx@C8m2`&ou4Q}VR8eRiN)sEu?A}- zIz=9hB9Ep@S2kn+2$-u5;ALQ5c($>=mE#6w^g7F&A4G2%Y~8Mya>~c!E<J-(wbB4(AS{{8ZO=7@U=kKfK}`lc`a3O<<6Lbjx~0%ka-Kp)wiH_0{e<=eBK#c=wpJL>S;((pWXU%CUCyKvBu00k zF%}>eq-7R?*|dE<@`uCW5$>f~4YE1(1~L(3k<##U_pLB@!_@d_POH@*N+1=RwPm1K zC$X_`j|Z-jj~XxFWL0heW+y~sBGG~QqvIl+EhW#WOM8nC8}?`x;eHZLGc_&9C<+}@ zxZK=#a0?EVXu`JA2ZKt4dHs(OHh|?w9+IylctKsOOrg?>Gg_iAO;(}F{s|EK03oq~ zpMz3i1f`!MK+&s$UiZB7k)YFuvKm8W)BS~J+%3k&E!*#2{LR51iaM->aI?)m0)J3z zV>|qD&yM&H;x7ZollWsB&wqqt>(c1K7jIAnaIOciZ&(zx?+I!8!7fWt-lj*-E#b-P z!AU8VL|OXKVP`(F5PPT0IRlX78urYQ^Via{VTmmqFC}GY*sn@5;rAbSP)kxRf0)fG zhIt=C>&fpK{Dx1U5R9W30!66J(C`5l@dA8i94y{oKJ$Lb@27y`&u4yyG8#Fbxf0>w ze1_P1e0?6r*YuBnd|i*0jIYN<%byny4=@$+4emhe3; zT0Y+g3g6d6`2KkvzORk(O>E8g`Q)4a@$+4emhe3;T0Y+g3E!WN@cm{TzBk4ACbs7L z0`g7&`1!6!OZXlaEuZg$h40Tq`2Iy5zBkACCbs7LqvV_Z@$+4emhe3;T0Y;4h41Sk zeE+fz-`B_ZCbs7LW8|Cu@$+4emhe3;T0Y;02;ZNL@cpYgeBTh`o7kFf9J1{8=pR4d z^=Jv-d(La8^>(LUv$3@HM`!M1A<_O=vt;6@{V|)`^^L;V-rhoi=*P|tT zkBgSi_u<0#EfKzdSBLLgV|)`^^9_q0-5&kp=er&);d@-Pe7=tmzP}LR`}cMDzAeT# zu{Gb9kZ=0O&v!jq!uPmn`FtNKeBU17`ww;az9Ysru{GaVX72XrA3xvqXbIorqUH0w zMEJfl!uKER@O@W|Z(?h{*OPDh$Io{?TEh3ZXwgpe*&H0>pI!~*KutS2_R&rbC$y72 zw05%7(@ypy+R3I_JK5T4CmRs$WS!Jbs=0PjbF`C%p`FZMup;?IdR+dh7ecPbc@!Lm zd=TU1@P&{l!tDy-p)nEePzVo?iEyVvcyufTdBY7nJVFFqfwSy$lU$_l!sBBl(feD)!&k>dn4}OM8xx_;kf&6>HYUP7ioz3PB0QiFo*WYa3#rV-Q)41j z6~fnJ2v~dZ&smOs?^G<- z_z3mOE!?E$Z>e@80`Lg6c<`F|cL9tPrcaD#{C)yj%RsB=gj~X2fVru46n0#B;@}t| zk3Hm&d}YV1(9BrJs3ZdKCYV22h}e>p>|OFyg0*bU^O1D3^4Pt9Tp>N@dX-|@S~h#7 zPAq^d{hy_(;@3$PMHH0LQIy?pTPQns{)9j@VHxcS;OHPJqrHNlgts7!D<>Ewds-Jx zLwZLuom58BIfJKVRecK6ITJw39T_C)oD~EmJxAO&eiOn-$9(d1Nb z^eyx-NYZ_mx6p6JvVcne|Lj}nqm-Qe(1VcQ=r`R%X8#xYc>e#-eEj17UOtQuzH51O z{LkK|S5McsN8hn;-xRxTrF1~OV_&!I{x9aa_y5g2WBh?~#yLC8XSl*q{g8fFyY^+Q zedeuIccO*H(ZuheAy&sahvbR$CLCjV1+c99ef)}5OIa7rxH$_OnpJlqeq^Us@|H2CHQ$d@Z$ z0~2-gCkK2NVUuwf@6Q^wBg)u2%;@~9=c)3rXu0aI7@K$`Ui&k1UdX7F+K`AcirgWl zQJOMY7uJ1~_FsS%GjIH3KT46zwd1EW3Ie&7Flyr7rI_`gJu3I_$XC%yyHmh*A+yao z5**h43i9^f@Wb=9ZRM{eaN@IsMRP2N0=Frrp_ zfnvRwVr9QR7vfkc^5P26FrO~eVzE}WKpFFVI_y-IJPKzaGqoRnyf=|#0NJ0ApF|;x z2>EFg@_s->Z@r&I!FbP7gMSfM+fVYvI15n4kpCi1oTef46 zkmUhn$84uS&Ilmw0lPw{#6bun2jImZ@BJbQIVj-bmjEOGdjsI^i=RyGdz9ivN>SZ` z*n-+~tjLiofKr(PITn36o~Gq^DCr!IAMdw1J%Jnnh?3FoqTnNm`0FTSNr3p9D0pcA z{uRLB_YeTw!|;=-y+nRDg#11Oeve}tuxb$|Lm1$k&>%JbA5bVBrNcxJZ@q7u_*Jr; zP{El^?uo$i&O#0&u#*XM;xOFQg_-j>>{P;5#bKurwpzomA(KQJrxW&Jz|wdf9PFqg zZkoY)C*hnM-myC#Na@-Sn5!$9E9&yU!SnG_23!>!##!i4m+>|>+qI)04Aej767Aa1 zt;{8wHpwOQjKOH9R^p>_8N!YuOmZ2*P9RKj8N!YSOckPJH4IomWXWm>J2pT*n=(Ma z(SW!gBq}Aqc9J5{?WE#<-Xe-1?Jgtga{Odsa!48HBUdMg9JtC@Jtt5^9PTjl($zGk z-PITz#`+jEYUco!bw7gNXdiQ~?;pF5aaRGy{V;wqwO_GNu2HInv2@n>HTIxBNL{n< zLA#f;R^iq$3**Z;CR&_ODz*$^=g%liD74@Xj{5+hP1$0hP*}(_hbjEc!rxK&!>Xb2 zCH%dHzcgAZnwOoUzjR0c@bv4ll-Su-GfnRciohpt^X;3rDtgH z;8t9cps!T^G+NZwl=9(ybn(Ij7X$IU_`jgVCal*IqzertcEw%mZ9p|79> z^e z{Xqi&3!q^`bP<{`)evp32D@m8J^@(Py#&9~5ZU)(c&zU-VYGz13*SQncp-w_i}91G z{fK$G2|wtL(dHzLAr$jTk~UX#hpX@gspI~h8rM9i`{S>W&;$7K)&Q9!0)adPh-%8$ zMZr%J@#9g*g8|}sQShSy_@hzq*BF0o6mmZyZWQu3As0p=j|Id&76m^{#Pg$&CkVMH z3i&D_UKH|3Koa!%8#qd)#C#JJ|68y{(we*WbwTP zSl0bBe&40|eve@HPx#5ye!_IW;HUd%q6%%(vRY`5s z*%WX?0KPm5P5|s(5{3L5M7)cmkTh{Fi$YR_tdBx+gnTjzNfL5t6p|%mLllB@mr3sv zfKcpAGgEtm*}sF?$5Dp60pj;d{D$Ws2*x=Gfgyy;py~qQCd)@BRF~6g+&( zXrRJaIPA(uG;G00G;G00X0zo+5smd|9E)IJ2^3h5X{^WNSOf!0pul=UV?7ziA{bZ#1=dp<>+5kWf`KJa zU_H&y@YsoX0se-L{7gJD!H6tSV0}|#J*&Up(%*0E?{oV5JilRCF&d~a7Rri|SXPY0 zvSK8bl|(`!FTl^TdQpGBqrWfd@5}o8UH$zYzi$PK!RSbgv5^=fGciVHVvNkh7};!2 zdlDImy#hZI{l5PGK!1Ozzpv`=kN6F9#%M^4v5*)eF)>DBVvNMZB+@Q&xyN*iu&=w6 zB|zH?i6tKWc->blJ9!h}(c30bfS73z#Dic82q{WC{zV+1tv%+byW56>JCTknnG zR!O%<|M>UD>d}(Dv2oGz_w-H^zITc6{qH(_?;7Kq*qZMRz)i`(k_(Tl0N6`KEvTeAlBTe2VPpKs4 z#1PQ_CX%U+@(N5QU@WW)f&B*&1dqUQ!I3bO81JTEg|a&XI#){on6uDLG(n73!fWGa zs$o2{S85=QFRnh&X2-gDOT117b$Ao`K?_~tHzI!fEUZR&T@q?}-S{?J)ssz^g_p3u zjB>0l^L=;0hnK>nr@;$K1x6})9r(aHR23{WX3`$#7@33|H*dD^2*ohqTT8H1ek}3` z`!g)pY#Fl>3s)*lmx_d^8T1uT`Ycy6Wy6j%uea)(D77NCAZ4}q@6E(ve!PFe$z@}K zFr(hvQ3&(u{VNI~W$zz=^t4@e6%G#J-Xe<-{;q(9~o_bP4dk6GNqcW3eXfa~ z0acpzpc$4dPetnage46i@B1@;BjSIYb`F6I28n{(pkXs#-kuP)@k!%Vka1W?EWmPB zO0~90sriX!n4yr4QOX)NhOKfEHU50mwFWD37C&AE8M0C^lGRK{=~QokU)@*Kie0>v z=w4o=bxQ9_e3Yl;eJXGRcVpm5dRM>=dOas-^Eqdf8lB0fz|i{|Hm8wW57ru{9R;}L zL0#+rDx?KFZRB3vAeE*++Sn^bQr=ZaPcqN~+{)qYjn3Ww>(mr&H7_E4tp)mKCpLE* zd*+mHfc401&zvPq=C-1{5Q$ea+1}oRu)O|L^_@8*Q_Y&~+ln4TO-qzVmk1BFq~%bH z$`f8vEjs(3>g%9ys-VF6k!l-HZ#e!1Ws|_)+V#I2U!rarHRwTV;K1bSX^2x@Sla^Q zcR4G$ieCFhcr14{wt!p*KhA5-crkQGNEwC)-CePLs{&Wy5{>Du0*3uQYMJvz@PviS zow<7)DGkPu+N98A{qPC!unIi1HKpc$3U0;7FwW5$@6OBK0WT{w7l)9G8o0<~5BGR- zxiDRO76XdLOm+YQw~pdo@2db{sPGIv8PnYbEIGGZfeOY02lvoBK7G-0xaciot)QHE3G{Gjs$_%t*B~#I2);2BnH|BrBNKJrV zan187sX=k@@ z!A$WWnkm|9l2YH@3QE1XklJP~9a-$P6Ci!$S!l|M1u5+3q_B@X4R0Go8j(VBU;?Qu zBbDn>eK|tJTd!oW{8{+>U=K87e1wILe^IJSAgk))y1ZA1>w=w^zoB!Z^U|uC@a9yr z)toL@AYu$?In$ArU4iYpY0(SA{L)n8)vxbcDq)joIx#u&*PxUJapdoVFaZ!W=%i4z zu`3qL19m`OzQ_Iq3Dp*Xn%#zRE^=D(#y^{0M2bA;*c4oR8r`|!&- zM?X1ZpOt~d6vOy1bf7so_Z~z|4c~#^S_%j`s3s$*k(=(IESKv~eykewp@}TBWUaUD31YRQZNUH#edn5-($|FTMERRItNPDEqT1IxD(rXj*`~aKn@yNW^cncg~g`fs@%qk#1XO@a|DGb1Bt*VB>_@nl&NNGtU?{5 zJp0@7h{zn{Y>%$gD_E(22Xz`2x)CDBeP94TTjMh)7A-u0xn6 z6ErN&M-VN|He@A}`xBC@Jqjg%bHa=qn5>3GFLgV_E+59%~h7y z?vU>hwSgr42i4x1%I`k4d#3ZdNA33#zDunv;WKK#lkmP;5j!cl$`ofK@|TFbh^GV~ zn%+iRI6RA81q|*f+_PLtk`y8P|KAC8Oy@W8ZPsDtG^9408++xq3bT<)jqKu z60_WeII@;-Io|a4g;N8jyE6cp-q^mxqa)+(7lgTV&iyQsx7>Z;?EP&*8@2QHhZoPA zAcC4lCsCquXaS{t;RLlyACOjK)O(B_f8@`DOk)mXY^<{KDWHev{q-_>I(5O^frIIhcHTh^sa+SHYM#?U|_spZ~_Xin|Rz zFmI7YVGREiij`jVJ&c#I*Uv>Mv~n5C6})$VC(BtrpaClovI^w`3l49$ zy(O>Lc{&THE69r~N)}?q(eO88gEpt8JC++YJ}bId>L_dJeGcF7$_Qr^ChgSnZ~_F+cRnnz`(j%>#uy994TXO z=+@d$w_xxp)UA2YNOwMdeBJ5-a-dr*h`B!(!I81vYtbUB5p&CDj5fw|fNbg^nZx|8#nn2b`sj2h-s*IqW-e&Ord-;D`YLnr4(hSA$_$XN{wFNfPS ze%R3VJ2iiY&3lPzd=Y{&XkLaW2erO_uZ{tT!X=wkMzQ48)*(=~@YbmcD zh1ARC>3}yZ@EBN48W>jNc#cUf0AwA~!Z;LCgmu>&ZJFN(O&NxV49UURI=^N~FJI_} z7(2oy7WHL~*yR$jS})Q7uI`@XRS~Zh=S|tOm$^Kx%fpg>5@w5MfNQ;ewF>;4ALbpl zfy`WMgX$k#b`?UP4dW}e{pnUyTKwvQ%&H%tU4dQg+5*atecc z79Iu5!r6pZmUH;p_hXXzA~`SP`QzN+AsQ~3k?jguj&rZZnv;7Ce$+}se|tWQM`|qv z|1{uI^#jPYgiz|0EE3Ekp@EBFWhK3>bb4T~CEOcHSC8>|_6DyWw zGCuRNs$V8vsh`;3*Q0Dh=TueKxTbO-n(B{+W%r`5OB`pq9AVbgrQuFQ%dC2Z>J%Lx z;lS{O6)cmi+XL~;_^|J4UphF!%(~ouL0dVKx*WCa{48=0Yt8L=SekY&;p}jxoh7hN zMaqZ!XD)-fr>QEe_N9t;AvyPYsA*)RR!m_wSK5d!cH@-emcXq2#-0{_J2&=p9JfS9 zE?K4P;h@3U9V{rIYE{pNyv5>Cgm70@TKVW0dBZ7POJ!V`_1pDe_{<>HvRC$r5Gg4l z(p41LLqsBsNlDQ`8Wc4~{`|yc94#7%W8I4C30ar>UFDU?NnbYJ4@4C^D}(e=dY!H9 z$(AFdS`I#dd@Km*HWd4ax)VfNYCMrO+a{YCc=2z#**qAw-?sqru~6?|l-jUo*6aSU5+%ZdtO;>yaH3E0&(Ytz+zafJsV)p=>v@xyq$kT0+i z-j4E0$8t1gx32Ru!{|HA@3YP`nlDprAPy$&16q-DTjB+H-#A#j0PjaIzWehVo_8Y{ z2Yv*K&_x>S{rYs~V zfo}v*4g>p{&K5Ki<-?FfseB}UX(E?QxVvH1%z4ZYEH6V?ENE*GbQFTD0d$K}3WK;} zlyu@WgU}9!R!4-E@m>K6VKO1EVz$`DuZxwtV4yq;+jO0ej=V)R{Zn_7L)#*TJfv^?GI|6AA z6+na6#&w;LT)GS?Bo#aUz3)hT2?uZA9(ozWm00@sQ<@LggW3h^(;nC>LX1#EU80i3 zRH+D-BN-tfyA@H2jg{l^lxUI8w23iD8})EAO?w|fIqc(ut_Nsf2)>Cxn96!N3*!`p zejURmnT3=FXsq&5P*Cr>BZ(5?4P1%AP2;wb9Sm*?*1!&Y(|saV1zAdkjFyYoro*KJ z1%^1bj*)>TWS~i9AZy|Y)=?SIAZDOC1cYb?bXb@H1<+X03^auqXo_c`G<$|g3+1d? zX{8wD6xJBgG=)l`^C4Q19%whq2LronMqW9(QJItNsL!}+k%6gyslf8KoyxSd7V~bx zWdp1FL9ON(3XW(M!a4*~jQMCSngDO48g&%VS%pfX>Jd$!n|M(`w;sZ}ZJ}auUJe_Y z*coqVyRZQhUCxP~GSA#8Atv}te@7%i5XPlqr87E1CIpc{TO`@XU7_bxuF?9hft<1|~XZqI#NY0A7H-zwQ|mfv^6Uc^#kvf2x4khkP6 zW}BX~7IIA&HP=8hkApTCWa5u|`@WwrW*(+7@9OXFpNPFG z)7S@a{!_)-G1!!Fk~KW;{d3xdgvCiVmjd1CLhMEf6uV`rX`Ya9T6|o-ih}ME>$@rA zNmTz&AP@2gN~tN~9)c>>v7$O9;T{TCwUlr_z;AQHJq+Kl8&Q~DD;UCR7=++u64IC= zA#AvUkj7*+k%r2)m{MblszECxm%hX|G=kPp5@zcYLdXIdn+Sx=6w%a%IAo%jjY61s z5l29nks{ajB#vL_bOOf z{Kw#YSs{;4a@mq8$G^0>kj~=2KpP{_Otz3w(54WYthSPHA)DPe6W67(^lZ++FlH`W zm;fjHo?VzT1jC^BUjG4F7IP@t?oOTq0WEYE5p$#-r1Vj5^pXy;1% zVAO`xU?Rds9`=eFXx99C_;FTA_aw%Cw;VXkYu2>7K) z7Y`^&SHNLKE>X=}cm!TVjAhygFI~zV<;9BeVkutQHKS2p(CnOyr#+V{y6KIlp>J6? zFSQh(^A;?dofhSSnl*wKX~OaF4huQ0KN~a4SWJ~R*wGgF#@TqzU0j*X(u67>dXUZi zYTaP5(RPCWu0s+Ql3~M~=Y$LvCGRL zex(`dg}fNnmKHp#~9D^1Z*@XjaE~-n9LMYmMG86H0s?;O_fx(ed$Y0N}*=r zawdQnnZdpQz(7~Hn4c4#0z5^y8aajSlC(atwoBTfSlcBnQmpNwDxqtSv~SWfQzRTv&-rNoj2evO=GL)$?$1red=UGKD1<&% z2i!*H-MEx-C|sAJEKK(Uz?(i`^~r6LTn%TwbNRG0iJj5TJcf~W7De2PBkmAhLh6Ts z4j)+M*LJ`G4v}00?2N2&ILl!MT5gUis+rOrFui3&iQ_&ytYe_}B!#SvT8A?sY3EAN z$kwHicJ7UE^M^gqscMd&2OMXA=b_J*6|a%0r=2$x#{97{wv9pi#`hVZy=HI3bl<}J zezc74H2wy;>p-2G(lg8M#8;(=gBLlUrw1eP{>FG#t2Lf@-;c!m3*)6*)8mQv=SVy( zgP=EV&5S4BM99(4AMA;s&u-0*C*E!n&)s)yi5{si_8J?*Rv1`>AFJFpDvbTd!a%7n zLKsgleF3Px@V^zf{j9O*dW|0&M){W*t-|hiQqHD^$26+b($17sqDKqHO0BX(+Sw(< zDSr>uYYc^3tkBReVNVBYF|=$acQj|MqtY}%L3K#{)$5~|2$Q6LgN@8-APc_;0>79hmkKLy+p zgHIbyXz1a~!RMyt)OnLBYalZLh^gu{J=;f(}D*_b@E7NFL~LT6!8p}R1- z&{f`wo@!_--eW+yUF zI-Jzg7*OB_PR?GB&bQb$^Z|vJYw|Ny7jNQFMd7vic*9);bcpE6_mZj7P@14tye#_) z#t_A+g{g&%$FUR~S&u^|IC36GMsVak4uIfj^f(TMqse2B4M(%b&K-^k9tXE@w0Io9 zz)|ox`hcV8aR>oNo42QOO!U|}15)zX|Ei9&Fx5T_%=x-?$GbHGdTwGBQuCaDp{Lb- z*Sp5?kscUHxa|BGAl1;C(`AO@;|3kF$G$U@#w_`DY<|$AennlwQWCWG;q7rl7uvGC9)+LQ#Wl{A zynQ^L+AIaVFb-X$pcloVM;sxkT^xs=scHXR_ozEp#i274?hSG1ehPY19J)?HKNp8SprBjg(6cpX! zDCp^N=noXM7Kgr}py$P*x$}jGjdAFry3mUi^vXEyLkjwdIP^6Iy&?{^E|AnNi$iB9 z=!Q6SrGkDk4!vAKFONeXt4rZ61s%~MwtiH2I44fwI0gN19QvzCQa8OgbiKk|6NlcX zpdX1tUs2Gr149qv@)5kuRjK5}x9;$1avxO1i)b* zj9I%+9A`lAA8Xem`PvW2IK{@}dCoGp6-#&+boMCJQxR;XYZrs;dJOLxoQnhebWaN& zFC0m`p$mCV*YeCW_DLI@YaqOWCqaI5x`ad}pWw)Sw3DUCC9ZTqofx1S5YEMJd zqf(hvCy}fDMAkh4vg`JWCK3lpB2m!z6S-AnMf#8OXI?Ck7)T`&15IM)q7iGCQsx*k zHaK4kML5OJoOAa7;Vh{;Q&`W>8mHwA;|l1vsC7UuU`sT_xvp%UEZ+ct~?S zL%PwyHHg{nQxry9?bVN7c#h_CiWm%5F_RHL6y2`?a!L(a&@( zfe7nX_eq6GCFg)6$@--BbY`QbJxS5ljA3jS&%mTkKaQ^U^@&d|OfEUOr6fK%LVR+Z z_+BH3Pww>N_{2vvZvTd))0w&zJ=4?3td5Almf=5&!20xV5zs5JX)Rio^9oSIhF3SD zQwmc`PU}T%7^fiPVLJ@JpLqq`4QGU-4eFFmXO4;&ExHl;xe&?@_IMkouJ&VBZXKGi z71i0JM8UfIZaFJhJ-sWc2aJmM7-kw;8}w()N~LNKbD>*z3kN+`SkCT%jFMDOp{L}W zEjjLiq_|Y<>tK&Bsg3LBk5G}GPG^IPqoh<>hKc)%>S3Ay?X)Y)B$+fG|Aeh}bq~$C zHpYVU3cQ7k^ILqJ(@^o{Fi&}Vbi?*E_Qjb(dP!r!!s(N9)zW4b$HB6!C0yz*pAY#L zv$Ts1(7>B?jFQ{8A@4%g`4^JV-S0@{$g<~^)t$AqX?{Fl^a!N?CkYE2R3~I`pXxP&w`#nc2 zX{>z_7{$g+fv=q7c?63bVLy2I_t3CW+1&|*-c2({Mc7*+lv|kjo0$0}vCNO5HNA!2 zl5+wuw-kCuXiaaZHP}CnHM_l?ew;BHmUG{o8I}arcvlSL8n2-WqX~u46fcaXm_p#G zS}aoGK<(++@K!q{+ZDEx9g^*2hosnCXx?zjWdmpj#0Ym~MxhxNxXUXMYhY3<4g}Hn zNxVYgeEInHei47pv(6P@zA&N8nP%S@V#9JADx0*&QzPy1R9|GO_F;7` zCbp@aejFt>XbsNUVFfbNQAgpA1NlO0`AKMsD$rYl0`(&n>qfkU5sT%g>O>r+HLn3z z*Y)z(#}nbL|1?5I`WO+&N#&=Hc8Vr3u58Q*laMiuGg=SZ>gwU$NUG5Gt_nP{Zp3F9abjHs_BFp$ zH{y>Ou~dGxjvx?G1{&?`37q{TPla}QxTMS#&0>dD=+Lb-&hN2lp1-0xU9j(!)~vQY z4zsTRBU^SZO%*$>LZ^yg$(FA=n}z<&_*6Krw6J|VxY&6G6x4_&pDvkB^Tp`E&qKSk zCEcFb!aGP9`y_7W6met^o$gG?#Wee?*oxYcEj`(V2o)l09dj?YSu+dl@F zXV;R(2f^Q!;k;lq^Ha?xZss>%X>M&$u}fv<)>1wC46++ciERfv9(`$%1nl0O30Y{o zBY>wueTk^^au}ByL)g+&q;urHFgV#+3v^Q_7Y@P1zC*urM;IuZ2Vnh7^jARZ3ZU}{ouQ!J0d!A7AtU0dUdG>v!PdyUc={8dUYV%Tq)nyD5it-VuzfTs~l#fRnL{i93MAMRn^L*yYN0emJ|jt_pf~y zm9VkW1AnjhUxmM^G6DWsgIR>*xHGJQ;L!oTX^#_YxJFP&&H20%b`~Q&8BA^llOt6x zQ=RVzKTt0iNBgOiKF;%XaIj9Yryu@i-S81a{!s@h8}iY3$!IolOe)65q&hf04>J&^ z%OV?=1?%cHk-ExJCF?4`vAU|po+7XV>ZFpE@o2oRo)M%NudC~j=Cw%ERISbfXmxTH z4lE=qAH;#mO?l@EL`+L-BrRClw7&)%TtvMCGOy+ni!-WGtjtU-9x*~!(R7To4Ra$o zA>^-JK?`tBC5t+DW&icgW+Y@LqD^Cb_Aj?mf%obtyzfB$!>OQ;*L&$mdN0+*J9!jd zeA4dIyJHkyeE#j@{Vj@j8JqYLEYyzXZ;$m6{sgbBF5X?E@NizD4!y?9BJ`wdX|Id7 zGKz=I=7#mKkX?t~9Z@{t4?ER$@cuRmZ(^Nv&vs7V5b`%#8V^N6ZP#0WcIHJkhcXA={2uchXixRh`+r<*e8jP_G6 zqAq=!ZRu*RV^t4J+{|xj_WNb6LyZS=R>|CAVH9BbqX6Q_A%OLraD_SEV#S66mKq8q zRx=Bv&2MR!C~b~4;v)>=l<_cLZY1rx!wjjuW+E~GQ98}@!tCcZh5dv~;_@=undq!) z!h&;2tv<*~K)!OM>h$}a-$SZad)VFkc=(>AOdEX_?By$cjL)2rQ%Wb_-W@=6+>E%h=e+r27gATalJF;ijj5ki*;I9j^WbAk1@{pOsGH7 z?cP^zG;ls8^fs_Pj- z3t&*;PMALvu2E^e-cdhIj$k8c!XPWt9L?JZJgz!ob?`m$KGRLSS?`Irs!Y83?};a( z>rn=SWV!QQWd{R7QQ6U3Pj;1@vj&A$J`GzPX=ek=Po45rf-J6sfd;dy%+1^t%>4^-hZc#o?q`gI|}cmx_G54Bk4-5_(EO0qetQ0U5CG? z9fhYReUbV_T%6L7~T+g48l%I8GTqSLm z(2Q_T=Sk~l)roSEa{;2fTca%VQyfA!Hizwk)rD%=wN&Qm!4|CybT0?Bu4fe=P=2OR)qZn^f^3ZrE^zgWW1y82*GUO#N{#*L^VmQ?$8N7^fXll$Jg|qOVU; zuO*F5Gn_1h)bB(^TF;;N<~MEZj(T`Q*p{g=4u=^-Gh`8Lc>bG69kyunV~7b19?IN{ zY)xW#AWuw=9EzCE4XE-N>Ahv!%H{_dYwaPDI zp%0h(-arHsTkI7?QAEk<@Zh|(eJ5~%(RB?loF(|RdWQ7q{(NvNLrDSQxO_w~N=ejx zn11JM#0%SN6U5bs{drK(>xZA^`RYwbOx7`Fc>(kL`QnvMPNyF4VH88r-Mw2=6T>{x*D)01w0Ziv7 z817>b=|I}K?MdTI*r?uK;2rYFJ(?qgKN1VCNO+eH??(8;vG73&pQOWK(ZYQ+7QUN= zPjME=w+wm8+iaGx6g%EGv5!c|I$h3M4Xzt(m~VwOm?1udTS(h~1v=~$-p`hu{TiQ= z=B{+NL#V~6rJL6)l zff2$Y9!`#2H}nYxgyhVgEC4v~2Op}TsqFUN5d#Y0vW|-EulCQ&qL8&D*qau!FxWEm z9Av?_aW{!wJ$8W31AoLZDJ}-hy)6_JY_gPMg39}X$_IkV`+~}MVclJJbqaZrQz4bs zeY2(H)Cf8069koggU~)?b18BiYOsjejzWKg5NctrH9B)mXo1;N9|Sy3nXBxo|APdlFD2)&*k*91HMAH~+EU-WmSS zMRZW>VyJJjt1$E$(D|J5ro7fWZs5eknfAq*4#b)E#hLC>%geCoC(=w?@rCJRurPg= zUV4@WW#>^!qgSa_^iY&hO`G}dkw!0V2OAs^dZ#oaQrASoGNod6D2FDU?=NqHso@d& z^(%-)3k2mB7f8+*2rM3JUCQ|a$#p4GTVQR7?LpSk+Eu3(a&+s5OR>CoGZIyHFn330 zKO55!Mc2mY?WE>5qDIK0xDt=yFUf&*3J73?z>UHXg{(U0=gMGl$4dmLri@H zME3Y*TnCem_UTxF$aRG+7I(nfP3JaLRCyx6{se@;Cd+EyByE+|u}S(0HePV!gYmr7 z_p7LhtnZEOO^MYMMRf-?cj5-chEq!0%%The(Bav>QGS`KM1T3b)cRu7k>$QgBn zdOz*qv1xk;{1o$*Qft0krZa`N01!K2e-YixA%N}(=)g~4Kr6qkga=l-RTU%MVj)^@ zS3-qK{ROexgpq@3JYj7Ab1_u}S*4A)ag+1&tZxIBNUL8B6cVLb+gr}-v7*$yHdRhl z`N}Nkz|UZw-nqo?2RC`kdEq&9-sm*cfoSaBi0VoVIop+JU((VL>HUjV2|ddxyiIBq z(wiFfWTpaY)lR$xBh@ldzLSFq)d%bfTn(?<+A&fKkF=b#z*oqKnw$9J6)rhP!c-!n znQCeqA6lwdLyw|e(%i8v82%A-Oec@?tREebob*tkpt6yUG&95@88%$mky1qldPj{m zt^qln?twra70z)Cdc{Dv&WN#$AIAP!Y3bX(mP)TA>{TJ;VOHibj#ILO3VR)#fCW`< z-$}B8&$*LX$H^#Em%Q4R2*V<0*7KbKIOH2q^ie`sJyqR0HmP$}oUiaxixz%mjy0ln z33@Zln@>eVF9+{qb>UyUC!10I)VXlK&i1m9snb>IqNa?hXOD5P3wBgWO0%}$m|0X8 zwL2=CCM6p`BqEun&d3xVl(a++(NGacsa{>E%or&Se-19?6rrl8;IMzhLz)H5r{=B4 zl~I3y>i5Z~Lf0O~#=s{5v2CxsUQ*JnRf+b&j4pQ523SOpC$=ieQ<90}p zyne&0$v7~$gOW0)L1woGGAQ}kb`{NPO=YvXEA3%3-`+C(v^FHYqvf0Oj=~pjVcmy} z%X3EQ^}oQ%u6oI+vXhErLNfPa`fcw-f%G&wUqZ!Ghxldo3$vgs7J0^i4?v0dd{#Wo z%4*HZF0F|uD+$d?Vl*q+2rK>dIN7e4bp8NVPy=}|qz*6riE1X%`}R8xMqgh)@ADYO zk;cT+jh+b@AsWU{jER3UwxgT2RQE^d7a+^T%@hG1%XBF$%*ktcbT=FAzE)a)AJFIp$A3tuwOLZ3gS}t zlg1ICeVdd!;{w3~S{5{j0rRhm()v5J3kSY*x5KS`B@A(IYX=0hlxE=YVeOX}@Zz>Ekdjsie ze;SWb*~2NAUWHB`iK2+>Bn24gWGwQ`bhR3Z+$53Ji56dpB9Ys3)d*zFIwg|l6DRqL0vrY)3 zhAVs;uB2eNOhA`J-nnyBr3l1@2YACev3J%Q?dG#7muzf&PIaR6|-4-m)IW^FDs#XE(uYPffi^G>C+r%fWL#8`g3%eMgEyQDr5 zNB1SLzSm{C1X%X&h;Q$MvHMnX_QMgolt&Q3QOGj{Xu z^qKN@)5|8>new+lZ`CrOV0G;BxtOUx1%R?fK9IJO_8uUuvQ=%h>~AAb`RwQ5?6d6W z@hRCa;MaG*7`T;u?C%gjV`^-6c!x4&9E7~$kU#p(g?O_{@)tB90VHA1L*n7>L_A+f zWEO$EHD|vyjmC$GU;YMKC|$0m(Q35y`SsT_x*>qOB`p?1V0P7|&z_GIN_+eX?67)^ z;PvyE5z+ERW^KUS$`9QJYY0LKxnK+Co39UUr%Oi`<&!B!;#Vz$HY@NkaJuJdY zMi``>)F=CC0hz?H6f7p^UNilo3)7M4Wz1_A0( z!kB?{z#lSq9m0JTn(h)?zc;^;<1PAwBm+HZGCBi2c`sVhX^e{&+gscPHE?kSd|e;m zdtn{EKO5tl*qUz~kM8#9A3xvqXbIorqUG~_ukd|CgztUo@O@*9Z(?h{VYQ~)qksH- z*P|tTkBgSiH+BIa?=2C&_pQVCO)pdoh)1Jq`0(`9GJEJkWcS(boNZV>`&+yi5d;$)q_nYo*2&%TKuYD5M`0(%&VWzds zI)UYkClqtFwfOOF7pD2^d>=DYW=5TAOlU+4S(XnPMZDT=7?w`O)`c4lXKa@g4jEMZ|;Bq=#c&KZ;_ zAW2|h7eQE-C`my9Q529UK?OtvQ6z{WAd&@?s30Oi5Xqq8J$0)3^iaO<{hsIE=bL?I ztNPdHe=1kU=@$K}1(g4D?z;(;339;)QL%t{?FziXVHs3Md=k9g0av8MiF`1t0%u1V zb~3p5lT~TVJD`c5#~-2X6Oa8alP>Ii7QZ#88Luoie{}yEu*;kboyvumP*Tf(V@EHU z9{?*|$v$Qtcl0{HzKQQN7q)r5pw#@9e|v!&UYZ3D!aY*pfe3%oOLOoo`gpAlVuLQ9 z9AV380jt90Ud-#j)o|7$-vJsqxQ$wKa*zLAht=kaSvQ(bB$*rF*DM7ZVp~p2NT49W zaLTI|E`p5aBNIpx0l1puMY#9UT-t4O z4C9fU)?k(ual8n=&DnOxi+;W~KHh=8@zP}+K76#{U>JVy8uSPkX;O?IxP)(v5ZF&rAEnO?qQdW!&D+UKz z>1vO&_E0(bqDJxg#Nw@D@E!m@YN0B59p`iaqv8=5i}H>eS*MesPUYZ$bM9GDGmHuB zCc@Jds1vv{f+q+?otHlYzkE?@S?|}q*!T;gp82*3eh9#}{ok%by(?O?O8Kluc=yYU zgMOHa0SG=Db5!V+zcgRaY16sBeG@`he!;Ta*$HY|?Cy3&?&RFAbjwtNa2* zmS7kME?Yh~jnBIP*<30Y=Gk+e=QCJSOb6G`vx^6L^9N)XwD>RQ58N(j9?SEa^C_{} zV+d!-#*d*oV3ir-C2aK=Z$!LxEEl=pkJ~P28O!tQ^3<9Ds?4v5>SgA$ew9-(W#$0h znD;-FIs9009sf&lCI3%x9sez^1G|4gY;hg=|8sF2`TuiqWorK^uEQv9R*~EZi{V6} zoZry@Sg1}oXGnXvxYr|r zT^40-V+f5g-4;FbRdEIF41?I6QNA5H1HRzF0=~R@!dIMOYWT9EFLf2xpN+3d*Jh;i z(QZL8?#_yLf5R-+EB*)!ZoVcyueBK5xG)cPDeYu$7u()K(sG`dJ?%NP^(}}8+bqAn zeoP@gR5`;=1zViA&&JCai2t_^p^Rc*r2`whQ=hlv@ca@y@xX_Nva}y=jhVi2vl6gn z!R(9M6{p`Mwkv#xi*E*P0QmMqa@?^3TimdG2OAb!?1lyQ6WhanBHyFa#10+*Ic3cL z94r{SbFjdNg4mmb_bbrOoK3`G-;nRd$$d!Nhg)j4;So7(eC3%#x$P><%3C%PYIDR|6)&(Ff}$qd0kR9sG1@EdSdo(t>XwPD?02@0OS9?G0Q58mPRT7Q>6 zj?C?m3aPPc!>^a*2NV3ChLfN@Qj;I?fz8L1HFsU^sLyJTJX4PU;}_l`C91V4b<=dY~e=S}%XKPe99f*QdgwtPi6 zKL(0p4PpHrJ|>=r9X%I3t*160Xxz;H$kvA+Q}^N-f?bTgeCI9m6#TcNn?hw@g!9=s zumMbP!s_o}MLeBRfutJ8CPit%Los}LePh$&c92#-o>p&})_zRuG^WMZD`_3TwD6ow zbEr;uz69i-OY{1`e|S^XI^OZ-!qz&cDjeX$9fOB>hfK(X-=ZeC#;oBz(wqsmgTqN7 z5L8(YYagTifNFlrqtFdF)#HcF5I?9Y*Z}|h7DoZ^)_(4x26!mojpUCT{UJEb><_xq zEn%Hp9stV)yn_i3kunMJ@|&C&fM%7HIY=K^CagyXmw`8-V!qOID%f>XaP|RrK9DQ(`R{{icD60nEN3v-W=9`mGWR(-unJVGK~)7V@4_<^td-$} zsH_gL!e^a>^;CL3`0kjWQTxMj4D@u^H44G-O8M){3rhCIZ^C zCNx0RqGC)WJPLmV$D86FEqwiFAU-~42;?wauCX~j^BQ!TK)kqZoWHFvoVyKnVBq$c zh%X+0DvUSRoD?i78VrAW3LM`)jF(kp-+G((t=f<}Oq(A=b;08f`@wGL7cGZB$vj_hcyDhi!Wn5%k_9BG7DaR z7_&-jGr7yhaIoN0o{B58KBQ9hX?{uv-w+AKkd=q?37p%5op?NN_X`XUenL;5PdFb1 z|8_!H6ULv;^?61O`8)%^DZ$^0#O3=S^(ym0YI$)X-%XwgQFyT;jPm^E@Xs=g(*iz% zVVtZOsW$;{HH4G0 z^g>_PuUo^`b2rJYjvQajcFR2pwXqu$Nof+jq- z#qyg%5P7D62hbV$ehbXpY#*L-4|YzU^|6A1;fr9HeE^0ZynP-{O3UE~ zC;526v*C4txgS7H%4Pg{PVPw^1&%&Zu5R}kk|%xn>R>X;b5e2l^o7uyeY9G7Y1{VA^--?YO{Y^KegGZMUMj&wh~ z&OP=tHJpTS#An`uzJmLuwwzI5SN>o;o>OlM{tkdYQE_otpF??d^4lx;yo589nAM5_ z;`35=ibbx>fm19A*%~c&h1}5o1@2G4kB#v?g78l2&K8^;;L1f-O?b}$6c^i2T&uyf z%=vAAinDnzPbwxBoD}8V4zv#1dVN-*+>21>LXJH=_rBf+;=%;HA{0E+n6={lLkD?Z z9n7l{u5a*^VOVm%`mp2@dEmlFqz!Wi12Bg-9lSfrmQx%DAh#>@`_fK9E<1kHopl%-p$kPjvP3=fUd~TD`Rcid5l-2_~c0-BYNDxrLjFO*#_6t;&~>o!wnaiF#BgwqdaTQZx7jx%e)IY$c~5M+zuA` zF|3t+5BWU|`3(jvc|$-hhA=nhLzvs;6+rsDBz47QHh5JXABJ}9HZk3$DCD_x5?nA* zdSX1h%yta8z|y3Y-wdZ1V2Qsf*p_)4G87d+3>CN~*uzK4P+pR;V8_QRe-B?4R2-b_ z$ekJ`3}~{B#7$C&x})UTa8_51tbG;E8pLqkunc3C{O} zUF_I7l$i_1WC3e@PFq+brd#o(s<)samcl*sanrBy%?R8%pSwb!C~ADxXRyU!O;YX# zvBubO!Lb&wC5rRXIZeU2*cje}7@X>jhr=hhZB-0OtYbLp3YR@9vK?n!`SjUvXX7!` z#N5r0p2!&fzEO+}{+e8UXP^z-ztjPm8Sa{d|8lhOV-PEA3w`5z-j{QsH4;P?&{iKT zToE%^;$WQQ@rJ7oSL_r>f`cP zfE(06KJiyU&G@dI%NGwn1~OjjEVq4ljA+W_^M7yFV!fF2&2W?27r){`DDX6P?3RA+ z-O9SbSUASpWU`aDN&a;gHGy%S=qAAbuEO&~w~SSz`6Y32UGFx~B2a_OiT_>rU*rF4 z1;mPgc(rK2hO78Hi}CbQAc|*c;JxLxLMOp|Mz$Gt68{8uG0m1#nLmlnmxRs6UyF$C z77(vU4e(cg{-?c?vnu$LMSH=qx!7PAmJ!ij38KB6qP^h42XCQd(Ly_+g_2`i$mhy- z_!F>c0#2De_M7ZVwtSvjpFQtgs8BfLEtcl_oM6vSi$K6nXW)xr3m%{;Tq&{x=KUoA zkFzdx4@y@y$(NE|xJ-Rm+y(VerjF!gYGieQ=ms;G1R?SPM9P$rq)b*;6^O#wOID^h zM4G^~T_z)|n9u3VD&%vzvXXsHnD%^5xT@oY|JE!xhXJR-Ebu=b>Jz)yd;BoV+XR-I1tRLfmhyr{&~LOtU$;Y!fQlj3X6{93;Dz1 z`m)y-@P&NP;DP3Et;duE7TawtSukpFi&n(L==2Jlr$& z`DYc}@%#KKwHiU`GS3eED z+sPL{Frxx~mcbG%c&oL&v}M;ezREH%qq29lwb{>;`I2p5#;FHm25cF|4ebLn@`Gy| zo*T6R790aJesBF*+N7%=!vZ{@6DNftefnIiS!CWj(OSO57xJJ_CKTL(jKL|%sJ!=1 z9CsKeqH{07wgPuwVP{6aC-7&e_S*0*1btjTo`mj-_Z0U6=7j}*wv2x`=Y0+CHD*;| zp0aZYA1B;fQb|PNh?3tJk{#hUmj4A?h`in~h3CBtQ>?gS1XmX-)B=7PnUf4Vn#J*U zSMl2i#?o1^g1D!(h&dwe6#~C}TQwfSDJH&8i}yJF0ew6sngg2$Th4&uux+gc2byvX zO_;eK_!!(<4M*Aucu4?sodhr_>I_*U;-Q|(M1(Yu(dVV zI?VS2`ESeiKzJPHX$#(<(AtXE;akUKDNfBqI1(0#!~J8Bc3F=9SK4C*OxGl{Lh<4r2kkKou9|?W?A2%Cew{~QINX;9H@UgI zRL1iXVvELi7sPq{x~$VY(GB=D3%;N71C%kGV98kz<91jQTzqiqTLy>NGPttx9E;`)UJupjr{MA~p>Y6PEUs=N=)lDiX%iv3&&b0$IWh z%)$esio7Q?3ZqtDRDnlFn)6)XKIdEB8R`5o973{2&>p?vtB*T=>{uQ6kGvm>7ODVK zD(qk37{Tp8E!Yl}j+cYU4CT;Z<6wq=c|M-V5uOOYzBdy5oG|>r3mVP*n4pa<-v_1R zKVQrbLqv1n4k^5dB|ijCRH=fl}!~!$%od z|3CTQ{`efu`wjP%l@KWvEtOO%41YWWy#3b#KMm>UO@_geV0OmC?aZPSaIqfm7#|2B zTzOz);aeGIM`jD>OaWtC5(ZgAZOLLe-6KP<2qSV)!!WC{Eky#K3|%5j6+xn;ZVa=M zY*7(`CsF%FEM6wbcdqS@1ZN;9wh_gk0nR`fQt(v`#SZ-mZJOB>wm;+ed8d>ali*Yj zoLfwt0k`p*obi#!g80P51@Tebw^$ILB*SDGrpOSUV<99iJ4oz_Nek@Jv<3F0bjJdF za(co7yEL@Jc}ZcYIl$17n7qIdO3SUBeTJ@s`xX5ldz+jCUEVOa*xj$%cwgrrzbatj~VU~==js7S`IfXJTz5ca9x0>o(=y>!?gxD?ZDtX18ejY z?56^s3RBU1m{8#Y1={g>40b{JSjYPyKY(~PtiJ+w+hHa5#phxe?>O(JL7X!OeBnGR z&Z&HE6|*5<1CtqR1x4T5g~xWne-S%Cu^SNk9@jQ%sjq!RYrSx8Pbi90tOCVqQEVv0 zI=~m6SqA?L;G4ka!~dDc*1~_`WwVUA*;R!GjxO~!0& zb}v1r@5z{({R}bTrEqWEODTv6FB>IuvyA8UwT=7hIUO%!Zua*JVy&P3I0)|Gg|CfW z&e8LHSH==p=V3zYX71s-q8r4xB7waIF`jM$TLLj&ayR>6oUn7VLF4sU0mb%FEPjGm z8)k<_z_V0fDa^`FWGo6_cup1k=XDxp`yj^G+SqByY^>WPy+kiTOw{u%iY=wJ7a;Z{ zeBoT*WZ}=oPE3KT_3*VZ%Ty6dU^O9D7QP9rfMN%yixMTUzae%RzBZOU1Ge7qO=4!) z9e+5Fm-qd}dMQ7l*d2-$S)#9fhGNSpwu|cOy=A&xO{$@N#8Q@vwP|b&43Iqd+Su7O zdYdndVzv^B}rpWWVsV}mPQn*< zVsiETJ({TJpc_mdqIbr@GsHw)xn2`_Nn`aO#_KeJ)t@Dpo4pP(ZdaVaGfm|<-|>-& zeFR?{>#@!x`;dJLl;aD|%tu6OHdf)dZr6ljeJM7XVv8vD8O6S**ma7<|DgLTM6qfV zYbRq#Y&66M!PmwtOpJ;y5ECQn1&X~wu^&3> zYc~z#3sbBl#JJ}XY!Jlw$Hu;s%*KvGjL)ZeF>6Pj)KfeBsXorf5W9Fv ztW97kr$zfFu#z(7XPqD>=CyGU6K(Vs#g;%!)W#NwiSoX&)P!@6jXBTgu~dkOwX2}+ zc+Af}1tvW2rnTm?daru{VnQ*IVhbtuBgFW;W@FbVX8K96FmpqU&wpW-1Tiru7M0A# zrb{~*(-b=cu|4p$u{#ut{H(L05EFUX2r=Gw^VmL!@y}0Yy%qAZvsm=FUEcXOQcu^#cENk zi;UUWXov~VUqg(SBZ&onG2slH#GZm!N%$tQ`V>12TQI?f1A89Vz6t*)V{93*4a9as zjE|lqc0#VTv6~PR^JM%5JqOSJs<&WY8B1fi5EHZVXj(gs*3OY@)7VF3_wz-)|NQ|m zUbX}_^|C(Kt%sPX=MxYUIq+Q(c12hk#Khd*7h+;A9!jyv($2=-ld%ML5@K86o513( zikOWJhM1_+DG(F$nxlihm0S-@^wTdWwu@p3zw3Ff3o$;kCa{IqMNSh~vp-BM8@@L7 z8vN&Jq_ON9V(XH|YRZ_OjfI#PN7o@H@>1qcJui(Z_8i5IKci++1zHnF1)z&_Gy(|MJYUm)v zex=w0hzZZr?&%}oU5Xum7+;&fES6wJJ3Szu{)7Wl^iGDihp{TV4b_-%>;G4i6$ygfe_?NItW4$Ogn_`<} z%*L)lOr)m$t(W%+8QWyiXO(3ZeWuxD(q|tVTL5;0;Ok~x{?)faQP|h#?aM#nzlfRO zoUxasz(NuDT45dk^WvFmPVCGAUrrjr65noH;ZH--QxXTHl!1hwALBL-7KE#JTm?IF zl0@K_>YS`2k`AeuATzrp(ZEY}BqxYuN^*rrMIhq~dD%abSmAxppaRcM@WoRv3(t|L zizF&ZMb?@%MN%q;G)Gb;hO|V|B8Id^(j$hnM=~UabVf2EhIB;&yEm90o_cpAOJc}# zNIr=ny^!pVA$^gYh#@Z^fvJH!4?^;fBxND393+}q*jT}G1arZu>og$z6JmqdC1wT% zfBqu>MA=YD>c)`Y(WZM0xq$?30U*_FB(q}3eM}v062Tlg!1Lcob`u!^zq{q_b(Y9W z@GD$S_%%S$e?~F~l0ckJ@}UgeCY#7OxQm;U#zZEvFp|DRCb1}ziIP~^G?s=0-sjDq z9S^;E7OP-Nfck-7{o^OZR34aG1dvw zg11QH#|pp7>x?!F$>s#>f&?BTCDS^?x})k_Qk`Qx(dGo%TxPw{=04e6VSP-dLSAOJ z>VE!UeNhD$KcweO(*P46rGmuC?47rq@xmiByA3Gm#u2l4E)URhLLL#PpVFJoJs5WRq)}iz;ipNWC`H#XKa* zM24B(MN&Z$D|^wj7)f&?!%fSO^d~aXv;xT#BBM?3Bl(cX7}IJbUlSQ?`UuGxA`?yP zk?@n`qE=rvZA6kGNo~_)(`QH;kj)g+7f1#WnQGdGVHqp0E@SFZld3i~OuK{fuM@kyWN&Fs(0Q$VId{BFSpgD$`{oSBboD`W=ZmK`+He zra#b6GLdzrn`l!(k}al>O?QyAC-RBuK9XD_n@oQpd5!#hW_pBV6_L+PCfGQ5*>^;~ zFjKG!9>^pX}bXPM1FN&^w8XPC>NsuJ0hGCzTy`T0^|lVvWCMBmC-Swr)aNIH^D z8*^p!)06zPGgmY7S+syiM{`ZIc}JRyNN(7l{{6DRY&TEif-K17d~w zIePeLY_WL-+LR%i4>$pv%0Rehjjb`SMAA%>DBH*hq~2Q+E07P(aX^Lv;U6p8X5NZ6 z1!VJ$c^jtwinP(#9`klH-zS+PNr>&2WHFILK*mFUR+67%=C3h7pG%^#U(9Eb>>+X$ zh@-HV9hW4;ZUW&W_dNM|V7`K?E2R3zd>hGML@aTFXdb;b;w4EU;*_Kq5sxI*iG(C+ zMkGa&?nDYnl1rq7Brg*wE6GeEttEMvNC!z)6X_$#XG8`7aX`&~CrOCCB*}3iQ@D!P zm?T#Ax+Is0Y>T^(EqD(I|AgSa-KXMsn>ygipdiP9fFqV9NffTLKNZJ4mjxpBpHIeB zMbd=GnYfxrdJ#DrR~tzIkqdDRkt`r`Ij%X9twgTIwL)@=$o05(Nd6}BXIv*FDR9M4 zj5dP8FQR`}~)#8$b z*a;xKHlCEk%1&9=psJoEQTDTSEqZu)}HYB@D(Tfatfhsbs7E+p{8Cz+o=tb3p~ysW4sR(8X>7fVqZ2>)p8 zw)GUM;Q0%vva*Ljc>Tb0Mx>1sewximXCh%qULcYo$xB3PN-~wm(~`VFq@g6sh%}ev zGa_w(@IJp&k`QYz$w4BWZGN=*iAYcQJquU;L8Ol@h~!@){cRy6-moZXh>fsCkQ63T zU`vFd6g+!`J@)41`lI$STSdwEz+Dq~?kxr6a zCDKKbheUcwVuvS&wSzj;*h`Wm5g84H&q!q@39<3q2Kq)VNv!O(_!`(2&4BPvl--Lr z!J~J)te+%SAXX&9i8$?@ZG3!9kVIpeeUOcNejNzUkApoS$-6`<+ee_yCq!!7$07NS zNCW#6B&Ufqv%iMqHjx(gSxBr=J*}4ZH;@z}(%wD~NqHij>F-ZP%J&Y~F72g!yQG62c`7%~{iuQ4PS z34?nKbAjPNM0avOp=#~oRwr6kxP=iL*#c( zpx3RC1fHVk5abI<9L(vMh&D$gS#0$Y`l(1Nd6`ga!f|z=NDbz<6udSDM-o? zDeRbvq!E!!$226piDWxoLGm(@CmpXMSw^I~V>*)UMCv+bAUQ^)q2o0q*N8N6ypF`0 zs^_q^VrKdjii8Vy29(exSxfRSlM%q z`AFU;GTE^J$tEJNI^IR{4Uy@Ng-DJNnc-N3=nBnF(G1qf8o>)yr~#@K4az+_?+MSRyT)-=S(YsaiV^p$+_QO{&^Be?%L2VuSSD z-gyRX_L5CU=dVak6Y1={f-1QGSE{-=|3H!ecNX%Jrr5eT@1ZIM2>%3aU7i1;O>wdr z?6lZwU&QXf$Bj*G~waz&O$z4$KPtf+Ub2<`xAp}4^bsCfRuxlHlA#kmUoWRst-oNE+6yPO*pKf9fq6+e5N+mRSKJmB1k zp6in5gU)Xi&qthx70=&0k1L*!I!~dWj^yV@=g*3tlg>+upVQ83s2W15bIzNJ>R0DO zMRn2nFA}5Xe{;f9@uANf<+|o{z(q|jn?|0mJKbnwjGY_KFcM?z+;k?RYB{NHI}0hQ zyUt8Sb>EqdsvV?y;4H7G{&H4TRDU~bq3RT=oUVF`N^><+R32ArRNW<2)YU;zCA+#Q zs#I4mRB46vewgO!r>F|KhA65ct`|{Nf>cFaqZCzf*90WS43O!Xf~u;dD&v~2sLHwK zD5~(Rb0yyKh<0xDt>CX)}g8wscN}4Dyq7!t%~Yt*H=i4)a$u+ zqo0xFr=e?~;-|6eC=#RpGmOA8K&oCY_@x!}c_Tl)T?q+%6x<=3el8E%7^7f-3!ZZRm};Oa1yun!u_I=! zL9W7zD#uk)Q4MvKLDdta8sVy-s7AV~DXM%|ZB#WP)o53JMK#9N9Eq`I9Or6-s&1s3 z=<2AbCb_yRswuACs2WYGS6uxSn^#>!(Pk#u%ybP`Y-YK}pv_vcnd6$Mr2dxcRYf(| zH4|0ekm?=Rn~Kdm*SlzQl5Cc`mMWf?yFO4p4Yr&eb1@R#Z>xf@?6Ul7WcPebJSts4ltkk(4LZRo6IF zH6qn@*Ca)C(=`LhbELZKnvKM0i~Fv*Nb<<$folPJewjQ!bS+Ul|LuAo$=jrQf7+9UK+pZtWiIM?HSK2dWbF;dUayl@K_ zoL47RQ7xpXifgHgDpMs*F|T3fORYNUTQ8m^^py~{%nrfpJRdelS zMb%Q9hN?eE)l+*-QT5i|QdE7k`KXF7uJ@=Hw8e^Qu(k>byfaAljUn0^#ZR8L9{rRg zKf|<5il5=yc11N(+li`bq#C7ttEfh6hZWU0?KrBMl4_!MN>NSHenDdFflSdZp{h5j zUeT^8Hm_=T&}Jmr%+MYxo@Z)ijrVz@HfC$_NQ^%JhUU_EpPxm3=E9>~9v><1Xi-Hq zUrR&P3Q{f9G8ENf4PG1wo{hAYYGqNiiB#`tPb#VvS`9_DN~?>igQWUEYpAGJYb_Pk zTCE+bE|6-S_Kc!huRW)zHfViNb&pgVwHFlCCM{1z1JkJ?X)>ZEo7$xEQ(pP=oub{YLlBR}W0>x!RW zwY!R+-?YCJKUd-P0lbGVCO>~_R`=sQ{I;ecG5YFV&5y*$&pj=Iem)^T|7a@K6IEbgZimCaoZRX>x;?yjw<65NdxmCM~6Rq(PRnU>~mqo_RY zXBCy--5pilOkEXl_f}L9_dq0t!A7)B)IAi5acq_99*(3u*%Wc-qvxjNIm10p@m$nB z6>a*GO>y@O#ioS&O|*HLY)ZQ4DK=T|rAX#b>e=puI>kzRzo0Sf3>^&5!x6>3eUN19zF_;?M^SZ)5AwfS5ozH zd(p;F^>Zg8(eK9&+6K5&Q8k!U!`(&DW<2HRC3h(##<9#u_YPpcLTK9L1~S5w?LbtWHZ^_7HzJR%@lWMw0T4}Q{6q##$QUW`DyNcXj24; zsKZy>gV4q}26@%}BHC0Xn>XB}(55l@dCNTkNqZvm+*6QrC$hjj9sLX>KkvF{p^Z`V z3*GOa&C6u7*u7A(S>|4WVTIbwHkzAzI&$~~cpL^uzH}_ezF-m&beNpjz)qNFJ{w%#Mes|wMn+ibq zCuqCozK=F_$mW*&AGFbbaS*iKc3Zu?hj%2Kd+r1zgJXyvZUTn8kI3_VcM{sXMK=Gq z(-oUX?hY1ut>(B>4`csvah8?UDY+FT_Yzo#wQ zm`m%m5%P3KVrIf^Qf!KP79yESsTcPwL)F`)D&bj$HY>@dq-PzH&xmAs zHlk`5smgdZD>hGfzCxQH$)=)bH`*9I^C{0kB*vUs*>ev1#Ce=NCa=tpGOs6SOt*Sbe;QHzZYSPXgK)rD*H% zE2{RM2&#IL>RC^UqU!1?iewa})!kDP$uuI*d&;1n`Q)dMr-I_ApQjoUBhLdowNdpM zsfK#$E2=zCb4B%{rwyu(l4_KvqoNw^>5jx`uL4hRR9z+2SWkaNHQqB+QBCv=M^#)I zy)7nr@)gw-&qPHv%`+8MNu+w!Gec3$@Vtqn9N35!eBCn-RkcYq)3ZoX&GxKRRBw1z zqpCfr7JEKcR7*XdE2{TA+fX%vRLebIE2@>A?-bSho@-T z+?>lI-nrs~2g^EprcLmz)Ase^% zL$ooDK|J11(B?GR_`IK?jZyZ1_e(_;@_vJ=N2H2)_bRHW_lTlO_WppX259GPgEp7QrjxfL+OTqZtv>7RuBbYDd!xz)Hezq5 zi?_d$dN=P-Bu1_F@D4{+AyPf(%~w>tyc3nQp7%~gRb^83_0CXK{k?B0su#TTP}Pi7 z1HFqBRgQP1q8jR5jl{_FFz?6cryKcs$@{6|XOwrFq8jb}8dW)@8t2`ks3v$1DXN#f z$51taR8zet71b-=^GJ*qobLS%Rd11MhWB?xHPd@rQO))~Kw^}1uJ;l8SwVi@@y5Z= z^J4GzneTNXF;aim>kaae@+GMjc|(e7i8obIE%O#Z)mc)l@Rm?)R(YR5@(^sq=w9uu zh$>5Yz1Mx@t)is0-djiUv%%Xy@$G%$D?X6srGv(E2@Lu*A&%Z?;EI^LaOh*Z==n- zKtvrL^)5!6b!2nQyIiq3?p=d6JIUsRcfDeB(z_XLej=Mw-tCIbY42{dxlcA{z5CF{ zm_>i`9z`2?6NsEi&UsHLHs`(P(55)qT<~5*n;JkwxqkItN1MiE^PBgUVspv+7uxhB zo2yPABlIo_{uc&T&lN8lmZ#t@8CDnazQM6eOMCAE_w=~*p zARCLXoML11RY9_kRPnx=s5(t5ukUHJF>2N4Yl=4a$tLJ)rPxG#osbw~IqK_*Bv?_; zVXChu`Y8-V%=2l!zKWl8Uk=(lNj8Oj!xWng-)JNa$#XH^cvL-0s^Y%MiYn9h8j=yD zD&>0vRntiIl<#dtRmry)ZB~*^72k5S*+hP-`PLxWO{Au8J*rNUsJGJCZx3 zs^{B@s`w}M`f1?%R#7$b9Y#_JY(%>^@f}Ci6QpY9JEf>v`hG!Dk5p}Zmyon0($04c z{q!O~?R_^DKb?FJ6+fMQ|0;gE!gE)74$4j zEb`OWS4i>G-M5$>zGjN*C0}b) zT_)8iUk621;OmCO@s!?PV|~4l7`=DAuOIqJ1{*OhCi(^`ekS=|R8&)aqfqrEsTTUi zDyqf4DT->DZ#t^llj?KdEJgK&?;S<8&9@L$gGjZ*w@gue?fXzsedAk)s!62U>)WWP z_W8Cdssp~SP_>9u2YtI0)nVU3MfJV!D5|!R>X`3@qWZyiPEq~nyNIe&q&n%ls;Ex; zZXvk`He$q`_1#BRd?mfT&inpRR2SfR!Mx8Ks*Apa2p<<2q`Cqxb9j7Q{O*e&G5W?I zz7$l|Al09~!iwsaucVUJ9bXw#JwvLyz6y%!zOR~+)9s)Me$R_-y4Zh(xU$UsM`f~+34pg`RVGPtN7{RU!?fy>3>i0)64%p`mtBm`$lj7TE$Nv z|EEZdviI|UfvQYW_4j|Ns0RA?AgK#BqMir)_bYye_>Z8UHsoiL{|Cj-6#q|(YMTE7 zss@tkRsUs0HN*d>qMGTyi>jANHQWD}qMGB6OXNM=DCt{%dm?J=d{pHZcxaWVBzY5x%Ae#^THI=m1 z_!}U(3^t=uY(x%!_m4qh^!aQ4iRh;m`MK_&s`$C#pQ-q{>3uN$3{_UZ36C3t1Bj}6D_0D7(Z=ZWl>&)Kj5E?z0;!6hs(~Wtr#$(o9w>n} z#(rjvz!PZGjBIKKDxyt)AfjBg0@cxGB-zvn)Il2~KTii5Bbh_0`hgaxT1KkofwqdO zWuUX7Y8~i-s;#7I6L?;+X&V@XHpj^3*+4GZ7+06N1V$;UZh^6=x<#tz123bEQHs8S z=}3$tmjQuUs7k1&x5c2qTZ$?tuuxIu29}{JgH*!;tI)>SJAE;*4s9xv&4|E8#q&#n zt!UGVY(@sYQf%@Ady(`38_`|`frF^ZCDqu#QAIUAa9UAK2%JOJG*Z1BxQI5!sGJnI zjy6llW^&+`VlyT17uswgo2dbo^!UEbD*-!_lVBtAJUyT#@jm}2sb&WJXp>M~x0w}4 zLYpKYV&C|!K)PZxH&6m?Dw55-KxrlQ1%Zl4jB8{I165GfoK!0UH5JvWKm#PbDL?NA znxZO?RI3B66xG^5Cnc?Qfv%{UMyk&OJr&jFzyKtRDXp!698|3%)t7-`it4MtXeF(k zf$^x?O{#AKlNHtOz-x+XPv8wyohH@Zz}t#ye_*kqIv7}vU7{oMRhjtv!ePb@GGj? zlImRGilVv@xT&Zv2JRsl2rAK^e+&GLenyj@%K=mJv1BFnvmQrYRqd`u2=lD3vO0a9fI4D8~~N5jZVRx=;vqh(=+(3;^+C`VI)R=`Ua0Hp8Ew)p`SC)s&zcZHz7Tv|w0Ky&6nL)i6@M7A&NwW(G5n7_~7wn2oB}NHr%|UQx{rR#jAQ z2Wuf&0V>fJ^Mm!!&!^;PNwBfvXKAoC+UzBp<-rb$&B|amB*q@d`@vqQ`ju242KySt4MI;u*N>hs_%MYSdPj-uKc zT!^GDsQ4#n`!cu;{j{pBr@kw=O7XKNxK8o2H@Fd1gGse7xLHvh2!4gcXp1Ak-Kctn zR7ZpR6xFfdQM6e`HYb876q{4Qb4ZNZI2*i(s?DT27rd&d&IfOy&0(^+7`(68TnaLH z(4?2u1snbe+O7tzsl3nsR$H&1KZ6NqW3GcHU~@C*N1Ff;(So;w5wtP(N$v#G(WW%n z+z%E-8)NJ|2$n{hMr89>u$*G^Pp}FS;}=gXR1;ObNEH`)T2Wa;O%+vqs1>U6N#zK& zS5(eWS4HIx^+eSiQh7st6_r1fqo_imVW`?js>IMpMHLN=N1G#LlN_3?*rbGBLz_!v zlM#9YZ5{#PpP;R1Xg=Eb>*{Th8CtCPDHU3U#OOa+p*5(=CRMr6dPP+}v>9#cl1;_X zcE#qY&~7Bg`Hjkb1syd;=imG1d1QO$yCJjPo6+ewbzo4Hf~bOUXc zlTG{39VM+!p?{RLo(-AdQL3@OH0d0Qhlgl;*)H02Zm}Ws==Z9NJ@c?NGm7Q1XYzu zH8j*xQRRj@qD>3384>ED*o+MIM$(f!=ZE^EYAC73g$66C38CRgrjTk%C?8etkm}XY zI7KxhG!@BOQq2y{K-Csfy%CzNsNM|CLt<>3=7tub>JX_Gh2B$COG2xW81vYQ(8s9y zl~k)jpDL;kL)#S9n$XusjMUeL_Mo5p*;O!W#}Z@WC0N^xFd8P zZEBFs&d_gYWBg8GSLhEU?Md}*=r*bblIlR{fs*>6kSU$_d86z{Lbi0?=O>Wrc*v>P z{1^%#G49?!6-q?aTcr9Wl!`XSNclBX42e-c7el2`wUku9hn`SW*F%+%7&FO@P<2#o zBh}4N9Yu9J)EJ3z&hu`l1*(pd${B8}sI+irB*vL8Pq+uFu9GSfejaTe0THc}7#@T+ z&iZ-_M#H&ilL|!GB!x$zO&PLD36DimCx%Q>@{<;R9f?u)!r?inYE7z|;dc~O?eG#s zRX4l>RRc*?Km4JhY8d`RQ8f;KhN@|#Y8u|EsG5hrQB*C%dr`HJRIS4Y6;<2t4~nXN z_%y1%B2~xmIkY(gMAYH4;mb&_66qSgu6XVqzJ-47lAj*o`-)AkFe}9Sd_n`=^YdXV z65}Zc{lf``_$WvM8?h(zLfC^gMt>d{j-X8?vKbssK^vpJa>7N?rUlu&5-zFOyc#Zt zHZPFP{P0ssTJMHyA~EihSrmR6RnthdJlqIvj5%RNxE0#GOEw>d+bcG!!(Gwl3$j@o z?y1;(6dr&!2gqi9I0tQv+Sm{tf#e+6i1zw4JQ`KkNVO$A9&OAGb(^i>X=vjHBI`_U8+9qB;{kfi@e+=BMyk#pYc2B9h(Y`IqojRGlEzrSJ{3 zF@9@*C43*rWl~)a|AVUgr1~RlhKIt#y=q1En*TGLfW%PU3VRCkKA+G?Z;RXEAlf7W z;h&)GZa4*ru@7)BTo_d)NOeD49Bqv8^)Orpi7_tz4p%@`RZ^9TR8~}_BefM(nMi$9 zbtF~UNE1a>KGH@}Rg82*)euruigZy_RU*9=RkcWeRLvw+jmTidrePM!cjqz)phLM>_&XB5ctfC34s<@;MS?6ts_QL(dh-bBD;+Xw!^Tog&{M=}hFA$RSh> zB31XuF|>J^Y;|kdz{_Ba&W(kDV$& z#60#@q$t`LIs7_O8f{vV&F)A!#b!^W3fc@No1>AMXfvMDIu>bAgg>coCXjZJ?GQU1 zX^Lb4k@J$QAaW_v3~l(^zl7@dNOL5ci2NIAfn*C2bD|)7iP$7LOC&1E6(XsLEzu9W zj7p}J0faw+&@YL`G9@WOgSA`24_A(;h4yaQrc;txgm(~Rc<;hzv&o_Mtge=EdFA}b}?L}Wb> zUWa>t6akf;ZA|_Nhu;* z6B9DH&67lSCOR|B(8_gy@Q=oRNUV>f9g&lg^dWLpk^&+(fbg=vE=h>pkz_fM2a^&qw}#= zeJ!z?;fb}?qRWtE#E_M!DhEXLglf?bGx)qw6Ns1rYDU+iioeC0e>B!Gx*16uBCRFq zLZkx_UeA4{A1mu3$ygxbnY!JhyU=Djk-pL685U5@k$$W!Cwc+XS|SO&oh|w+l1(w> zGWt0HM3iD^^coO&-?t=IP~AkE>tr)BdK>B)j9Q73YHVcm0TL&Xv63Vcc~z3)L}mlw zHC92A5POr`Kq(qYVr7ef@IK!G2>(Rcr_nA&xy=A+;{ehF$xB4Oi1tD98jMs*ps~9Jtwt8AClf1>apDam2?9-$Wl1fB21K~B_ zKoX5@k)$P&y_|sOE|N@-I|PK!#=U^>Pl)}Pl!9b1k)M;&kc=gAIjI!-nFd763D=WK zW9svOi0#hZq?$~(4_Jz?i0nzeg*Cq)2!8{Y##*M_L2{hPGm`v74nk=!GamvRruzeGk!!rzN5{EU%=zaLGIaX@(QbxWHX?6s8pND4~=Zy88= zh@`kA{gP&-{EehMk=ZH#VA*SsYEH_(SkmS|cnfN5PKv4ccu1?OB=EK`AUyT{l8jE8 zmlB6$43T$JY)D=wvM9xYWD$|YDJ~=*5m}bvL9$H}J6o3GNAjH{R<NNFUlj)qNHB*kM$#o~O#)c{f#z8d(cjH!2!#LB(}!k@}M zP^zqKZ%Q>(4F$scs>TkcR7X-k#$9 z8zrg1dZzY3vWIMXrap({h$Id+D0K{yn?!O_$0PA~5;=6RA*mCK^PX8&k`No3ItfX2 zA}>kOfJnY1ZHP<-!gJVN5-Xc6$skD_Y+dRuw3$p~ed@PJ78Cg_^$?P6L^h{>kK_!I zEvd(m+$XXv^#l_CGkUqcOg)XHB$2ODe?roT$j;RBNS-IMEA>|-qlxTJ{SC=nBHyN7 zL9&L(!PGyI>?LwM^#Qi~MM*SvI+c~+J?buzpCmCotM`^ml4wMJmn4zMpORz{fhYB& z=WHVPC8?Qc9TnL1JqO3t$Wh5J7NOe>lmMRC>)JF0fk%nn?k^D`hQCdAD;m&%y zH%V)Vq#_Wp&26666iHPe;wYePT8|QZThIsyKi^_y?bDve{B!^!a@ZklEvg0p5!;;( zY3obG!AKb=ZLF+Q+NKixnEG`|LhRYJ&rr3TR9%5^o6pInN7^>D*-tjTB{@T+f7+MW zrq?9V*r2p;k+3d$Z+V#$Xj6wIRyG|7pOKP*@Q;pdjZD~OyGl=X+ z3nO{$q;9h_EfL91BD>O(ko-gB+q9HS?y=&}x@vz~8rm4C-<0I?dEMqtS|P>eep(SE zMh+jQ6-83xg0A{2tr(JVME*%Dkr{y1A6*nSA!bf5g~a@uN-F$^On;0#USr%3Cq{na z(n~A(v8HDuF-jVr{sfZg{FUeMv9g5pa*7{UdIiOgmR=Fb1yXs_pF-lhru*@yS4Ps8 zNHD!BlCeZW>D7=J`H7_0LSnRXQhFUEMjfW5*F$2YRXDvq5~G!iq&GnF=WRVdCDI!q zao*8Msr1H3IuR+8-W18JM4m`*j^qrHvgs|67DK-_;J0LOo#*^ut zkQjAXIlT)KqxV)%@22>vm;RhW8l?9^V)WHU>CYos@<=afy-XDpPR`c{1 zkQjB?B7GndqXk>14@UClzq;pk=|hlgA<`i|7yI*NNkXhs`mjtJ+u4=Rp*D5^!s5)t zZa`QPmg{$8tRpMTnnCz1@SYHMhvf+n4ua*a5RQW7Kjm_h?u^Zb<$e(I^@}0=0G7Am za$&Zy2V5^Q6=pjiED8KO86K12&k#mo{Y?l{Ak^*E^*aCG{PccK_}BgAz;Y+>HwMDa zF@FDNz0LML*v&F^7T|W$;V&fq!$xQ4O2uGOpyh{0^2c%jN98j9rA~t`KtlItWd1h1p5DT(lqbH&|{1Az!}~!b-5b z50}faaDO;j#eep2l5Iz8&4&f~DQwqX=VYxDd zR=bVefUp&W_aW>I{q&Ixt;5A~7{Ye2K3#@oAdG_DlMwR$|9{fy+{&sR2t+)pJ4dArqskms)+gk0B3u75_Z?*$>B&jvv_9sKC? zX8|np_L>MGpATosP`7_qu3ruzPj`(BH%h)4LZ04E2zmO4AmrQUA0V6!>HG{KPxlIh zJe@lb@_h4md(VaS7CEmzl(e3R`7I-t_5N51mU%i2 zWY}7UdU?CZ<-QQ|dK)3b@shtP!?_T0{~yZmOBo)M;WZhuks`eW2$w*9_3cTb`@203k2ma0pj`p8~mlDule=-<08E2zmKGkn2B{;SLD7pYP=QV{-Yt z4E6TW>rHPTy*>1H_yg>Dz3c6+rl+T)w}+md-Y$B6)OJzxqql!-{qugr>yL+eeW>Nv z`@cTE?m>Qey}`~Mh7Jfng#3Sw+n4|D59s|w-yiUS{W`EulVPR|pMsFrb9D&$yz>9o zUw!by`=#!;ja=>~{r7^9mt&X=b-Mys=J}f@!*^u3LWcVM!S5T{$n7Bf0>VwOp7)1u zAmr)l?Rx~4c{=AIZ{cp5Onm3)buD=zjG4`N59YPYu}b;(mGk z?}OzqaGq|449h~u)8p;LxxQRY>Kn`TZDgqXnS|SM8|w_5m!}oX%RHSPa#^?2=Re(E z5B2r^z@De8x1+v34>+b^E~)3AJ)w->_a{X!0kAP)fA7daq2g~~QP!IL~@rty26GGlz`g-o?VvKI7vi<{D=K0h4 z|3lrI!0S}C;s5J#PABs`mpF!FNTy^cV}=N2>KH3Rgo>hsa%5J>kXfNpNs+lwG8KuG zQc}qq2}J{n)bG0Xy6&Fc^FHVue*gdb<8waW&$ZUQ?ltVS*Is+=_3XV`ez^Y4`fZZ^ zE^)u?kIC+gbmGH){IGGsuH(57eiZo^1X-@4AoD8+^7>@Qp&IlF*wq1f9cu>Cz7@!F zSikKI&GxYR^@cu)bk+|2ly0avPWIEK=ZSXRH$N{SocX+}_?6Ocf@k6XJus3XI)B&; zokT6W6Ckf^zk)2^rH^=>PfQUjfXt`1bW^b%$oA*~GJSuA4-+SePm3>s;p4m>nttCC z_lqaQgdsjYr&vNPCsqZSZ$0TYAnVgf>?!tB{21xU;#1;_ApI;8*MTh8cIkcMcj76< z+wseg=KF`;|K)(rgmz8_>8Gq{*OBVbET^5PwWV(mZx-$PWAl+V2xmEO2iYHcO7{nu z&mig8a*aTEj!=0fLGw7w6fGaSE}CDPpUj6{KBRvU^Y%g@=cUC!8{ZcqzBIJ?vGZsd z!pk9i1k!PwS_{p3Zvk1}_oY7(4~jpCzleW`Nke`5EMiWvfLKIK5i5$dK<3v(I#uin zvK{XRE1{eNz^dSIum(65WIH_xvfMU~&Xj%zq~BMhSBh_ln?;UGb>Z(bXpR#{Kpw~M zLFUirqx56?WK8@S=!Qtob%by_3paa?n@wSt_^9`5$HUeyI3H?(cHrNm0)_-n==5_vlaSS*yLqzwzxL+K```09wez<2ga1rW%g>;Ho zPOL0m2hy&gI8%H^^TdCM--^e@lOWUmCMJyVI-{5aWcmUi z`-8QQozKO(Id=#0;rYaMAvLt|JLtNZD!bdjhTuH`qw9RDq3_C+nzmW|SUf2HB4!-r?Fxxy z#VP@D-hk|PtwHwFTYdPS>xtc=Mor9(r>3n#I9W%!LBJ%pQR%jc%&!Ri?uO=g@wvkP zA$~8O2D$#3e=N(HnpQesi?nKBfk=zAy3&ormSP97XTXZ?A@Fj%ocS?vj`$L|DpN(b zTHG9j|8?DUN&3_@wgZ{*anBrLN>8uzN*4+kZI@)|s##Lg*sn?UXEH_M5p6*nhfqI(P;dB~x# zBS(pk2aKkh2>m?bX9o1)JRb9)=b>F*5EloGrlb9+D=F-3|M~2q#O3SBjOyY5}9^YD0et`vzjufYJDt&|e_Fqu5=1KxF+HKPu4C zbW@@Kf$%xvLUEPIagOnvN01v8z9XRbW9$3V(2jc%PX0q=dg_zX2@|}|DPAF#6|WO- z6x)hj#Cyeu#qr`iagq3j_^$Y=__cUkO!tH@Pj>M#@hY*7c#GIe94L+p=-c6{to}L2 z0@U|ugp&)zWdZ+cHwp3U5Ke9qw~0H&PsFdqqvB8EZ(?Mk_mf4;EAqUc|H}g%J??xS zGaKPW5KdkdFnTKzIk*T*zx*h>qIvHw(B(4CF#%ByJFX^Y`rRWeaqIb zY+cLN?`%EM)(34~W%aRjOIr_(UH7zgLR&wz^;BCgwe?h6|BGEGv~^Hh7qoRuTQ{|J zPFvTsbx_`qaGllK#oFE0{cN4i=KZz~YU^^gPH5|g*50w}a<*=0$HCT5ZJo3`j%N$> zg9k-hM~z(<9EJGyStIU6uzS{Iw-w~P;L=IXJqn!yQr`j2fgUZr9b654Lb~c?=RSn) z1=9Xa@O$X*q-##WJR)1N>kTq~Jy;z2N9jgSI#(O|K9KSDTzM^Y`)twse4Y=yUuHYM zitA!*e|T8^(AL%GPp3WRM?kr}*xCA*AZ@ElGo z3G(^YicbD{bwP!j-yada6@CXJyanoScGIDA=7{Pw&^4hqgN;JrC!wc6M`r#tpPJC^ zL;h}oWJvwaPNR8bL4fG&cgad&gl3vALntaoEV=FPL>K7jjs&d z7U4C-`eJjjt;lq=+my$%yYzhl|9M_$=K-(#d|uQS^GuaiG?fdy%;1uX#(ksBl(Cs;w?P+(v`)KAd_Wu~J|WHu7`-0ZxX1CF$7wm*m9*o{_N<&c$*o4Z>fk1j_xsxr z&h-yl2U(Wp*F|c1n&T6g5AN7=cAp$10em``UCG* z*CPBl!r#i>BJC`=2=_7RpYi8MPH{_`bMM3MeURlVjBv7oSY50y-Ym8kyNP|owemAa zdW1MdwDq4RLw!D};zFe3dKI5b@cexi_8*~Kb)WU;*Nq^{)l%erA9Wk)+d;P1aQI_; z-lOmV;t+A9I3DDFkJ%veYu?!(H`{Mw$Itqg?I*EyfgMQ4^WOHI*!6jz{2dh|&w2km z&#UH1a#uoMk98J%u3*nIu0uHcjqOvh@x;c3hKT3!Z7#M2xsE>uWPcwgP6O*9pQk~# z&jN9=_`0}R+$nx0ek+~^*)Db-BrWjm%lRbB$>%3zK7=!R#$wHA8T7aQO@%;V4XL-Iz1lQ)Ao@+P@dFmGPpZam(rp;Pmw zroAa{5kC=+iDv>v$NNiO^7j=vK%Vc#L9S<46=Tnv<_Kqb+l$@AKH?){?0IkJp`HJB zp4xSV<9%@5M|yIe7<(PE>&(TjFLoVT1V60TN|5#1ApL>J@sas)d?Yz;l3yX7_gi%| zj>TSYzUk!c?0RF@9~)0>eECj(PJ!$PkwxBbW-&L&{K`mI73+$AUnj;fX&X0Fp*hdC zagyUE{oICdUXOc%%w00= z3A=9CxX1hBpxkI@lH)D;pN_W+Q6KuT@z&-YYjr-ZLpk`+Qr>?|2z5vz(#g*dbfJwox?sDU}q+S8P z1yZC_+%Cl5SperR$m`8FAdmA;0h8T1uuXyJ{ZfuqykEk7L%?KL5iIJGT{V#F11m6I zbN{+$#C1b>c%8uFA47Oc_%%Ka&3&~iz-ao^v>%{(-A!2SnN_?jV6^_6PhD9sHLcid zo~12>2cJG-E_O~1S>HI3`44$ZRf(R!|h-JkpVqLL`*g|YCa=n=8yGr*C7|mxO^ktXh`G`1LoFGmW=ZP~h zuG5~+E6GI)Un#yN?hro{kBC2t=fsR}dOx|u%f-^-HRAPRW3iRkS-dA;v|cvDD48m<5vkdl}$MlCi&+pjlSF*xwp2K=`yrzG$I>>Q- zDB7KR1N`y2v0b!%B6i)geSRMyp847J(XJ=94s7|_`a8?b`qWl_H;6ZjZ9wL0>%ms8 z&s7eqpFJnH{8(R(Z{Ny}>!;MrkLy_$Z_n8+9q)g+&SmAb^xwk|)1MOm5HDHp!>yc| zp}9}O=Yw@6=vtR2yLuqkk=lW&Aw32$AUI={*+#L$f`<8RRg>*ycltRhw0dOJO zkH50c9Z7I=pxd|vw-D@52*2w9yMgP#o`s_Qj^pQqLaAwEH+ViF&JkY{*NPj(-Qs@n zJMj-O(?_S*u`NAWzUjChUMKui^Thy%sp;tX-IxLMpSekuMSCT#Ng6OJQ)cR{`>O+VE1L-Kk^ZkFB=FnXNUbwoc#JfF9b%`=lep3fmaf&C7I z?-TzKFq)qCX&)l~TZEI}i@%7MZt>xH#T1e27_@(KsApM)R}!m-Q>j2_kL^%0|xLe#W z9uZH8>EHJDImKkLoOrF+M7%}3RlHNYUmPqxF3uF66Bmlh#5ct4;%DMv@h9<|nEoAK z-n?Rpc#T+3Y$J9P`-+c&2#G8?jHozoy#*d+zfiha;YxC_XQ)3+U6?K8Ag;`w-#eXCn7eQ}cNaxnJS`5D$w# ziGPS0x6%Hu<@yTguR!=$G2w?0UJBu4`G7th?;m)c97QOHE;zn_YxKBJR{ve(eGra4|Q9!&hV6=XJJDTS}}a-X;zbr;E$P9pWMJ4>9Ks@9!$Hq1aVS z3m9<|z(R$S-5ikjQG38@&?lv@+KK13&^LpO9|zt8Jx_WYI0pI)=^XDn_bhZ}koJSX zH=*Z9Zv^*3e=4147y1G8RUqx}1hW@OcH^Z#0B+eJPf^D`Yf1`jPiZtP-%?@& z@ec7}ak{uf+$!!9Pm9@)dVl2t+WJwlvvr{x5xxWWH+&wy32X_fzPjSNQis z3`(EuV(a%E;_3IC(q;Uf=S{N94+iZB)=Kv6ya#^9LDPPQI3MJGA?~l?exei5EcYMc zjmN!xDoB4_rL7)T&Upym2mgye)^C}346KzK`$A55KPAPAApOO*s~zWRh-bO#faNmy z@}GqNCeZ8$mTojO^P8gZ=fqVCe@FUbkbbN_eSh%f`K!it1mP#}M!A(B-z@h%m_8-q zD*cFd0q+Nkfa}1rDT%JrPq>bO_ke?v6WtK7CiGY^1;5*$DJ}vhVw_!nlJ$O;A6yDu>=)lTH7!+J?c*n>U6m%&HC@4-pn4d>tod<%RXtoA#`4R8T?0L=Oa-b4lt1~ZmIIl(Ky z0w_Zz@J_HHxQt~2&w%%Ut7QI8&3xvD%Jl}qpF{jck@wZlh2q&h z3laZ2`aPNTXV3RwPrX+>DxMQ_UEo9CO7l z#8rylC4L()$#H#`*Y}4O*B82Umt|Gfjytk&q8_3|HHB$rFcs>S=#It zNG}!nT=O~jc|+RlEq!b{|2x!_KkFN>TysO^I$wUV{@+FZY=^z#QSlVWc0LCd0Atf7 zUh31G&;ES%vG&TW^yjlXU%2IK<;y2OB}MB8mY(g*>tRL2lh=v8#6jS~{3&h?$aZ)e zWPNvmtp8^L@%|r>$KU+NYk!O{L4RdG_I61wQ+nT@Y0q%qkNiBF+P72XM0hzy-1EPB-??s_4him^ZgL}FqE(F2T9KNJM1UB%=_hWXL=rYlE;x`yOKQa zWQzQ-U8vbEB-@2-BD+>%N0H|daHgS}uk5PS$62J-itqruqnjFZ1-L_WV@`S`mb@^yu8 z7C#ri6;FcW;MdA^PT_Vu5^(LOpIl-Y@fxwEX#K&Cv%QC*m*V@2kBC!5{yv2MtsUko zd?`3D1<$3#4;8NC{^$Dm0fbK~ZVyZYr{8o0q ziPwEQ*NHcaUB&+57;&lmO_g3Ct`xIP_vL#>x}o#|=`&*X%s&5O;?-gkv7PwH zm)>7r=`?Yy_>}mvxJKM2?i6>6pNogZpT%JbKA!~q_K)q7Su7-05NnAo#5+ZNQ-Anc`jnU< zyDvu}F-3M0aXn=Du2gtUv60wO>@5xzXN!x(b>e&CUh%N_v-rE1Er%~pidb8`S-e%e zQ(QUKmvg;%pTftAbHx?n+u|4E&*CLHeZKj`rfa?58+6{5Qh0r_i+G=yWuLddTuf7V z1GVQ{`Fwme>G6u6E50taR{VD91L6rWGk%M~<5EnlD&8!16$gmp#rfiLaf7&9JRlBI zJAN;HR?Lvw=bK9`DOS)pRa-h${C%3Q?_JVq;$-m|@l|n)_^J4nZD<8GDw= zLSkw0jM{DOXWp)+!dr=*#k);oU6X!>OOF?y5m$<{j;)CL2;(W1ZZ(q-q;%^wwZDL=s=iNU4LDG}N1>!pK1Mw~$$3xP;i`feJ{ELbe#d=~Zv8(u? z_?Y;NxKi9EelC75{w`)K=<_QgmKSdjZx!zqhlrEJ1>$P)L-Ck+>1FaS))8+L2a40g z#o|_RpLjw{yxjZCD;5{4i#Lm1#RtU+;&b9^ajVELrSZ7$l|C+}!=4w0=NGRMYl|(# zyT#$+6!BT{HSrx0U)2u$MzGdT{{_U#Vtuit*jc8e_T|ejmK3Xqjl|6R zy}xgDo)^~jqpjlcwacJh4~er>uSw9{_ck}Hb2nE?a#Nvsf5H3q&A4y4qA1o05ndYH z16Boje^FC3T~9jSN<9CAU1Mo`Zx`=J_+0uXgnx(l4&aYqb3FfGIOm7_okA~!^YUB&+52yr&Z zbc@8pNzR=^dHDX6bXP}z?`-wWkml>f`$pD__Lstr_L)QWX15N0*$&*VNPF&Av~)RP z&+o0}15aea?;S(wWAn53aeWMXrr!_pcyWK=Rrq~*8 zKHO(WKgsaNb}1{~20Q+)tu{2<`v&o5(ejVo7ujFw*-jNzo+_d8#MU#men(MHmV@c9 zQ~EmpLi*VD3Hxgxe>Z|7P|oJyDdd+L@^9^B?}M^-nhATJPm{#zAlrrSG2n4wc{|E~ zXZgP~j$hli8rwhkdj}o|+wU4F9&Lx-^4nK_9{^eI!EyY@9^cIH!}4(-DgEb`9*uQj zhKI}lsPY-5d>)VEKfK?T{%pT(A^2r`upK7J&$Lkbiye0!HGy_dot&*xPkzxF$#Sih{_I@xas*<1b0 zo_24`ZhOei;_Y`kvE{RNuzqLfr}f9`I(~NE*?HIy;oSGz9OQAa`dfWjo?R->$D#7X zmiu4L-|~%@-)G8i{{`}6xem(i$OY`|IMe<(>^Oe@9LL`5Y`pBC_Ofwl1^O9}f4HCh zDu2I&>}Ls;qt^lRXYFst#l`^}7i=H9jiW4Q2KZq)vxfXxdz)V?C+%~|K0nBE6bhv? z``B{WIK=eDV9$PBDwNLhvvjn(N_Le(b`~Eyepvsrdi|%@2WuyLZw<>+73H`S$EilB zJXUUd{|xI@7x7j;dk;{3H^7T*`;;dPwvP35@3_tx^f z+Aa=6Jg)~iZu8>|{dJVT&LMwRkJ0i+yE_rjc~Gx7cBgSYVZPfsb00yH<33}O>G~*L z|2XN^!JhAjk4?vX28Qg1!5`}rYj-A}52yW*kiC_k-xOuJSdQT;$C!|vrRVcRwiEq~ z55-%)^Wca1KM(RfidJsEm!9b!ZsXh2{4u}D%5OTj80qGO{95^5M>xlO%iqRtmgAW? z_WW)s>tp%Q?u9sZ41XEnVY{W!+mL=$$ezzwuU9P3DcEO+KKnP)6@Z=1H{3ON9tM30_~-lz?a$*In_uPO{&|YM zpOg7!L^^)SD;vn;lm|SX%ejJa{8{_)y)`^9t07^XI9r7R@k9#v|`Y!@M{EBFa zIR5THINReG&YLobxBDx8HLN_e{jQmQD#uCR68rf$4l%wu;#vM$aqMn?*4y<{ezdO- zyGNlLE8R_T(pmo;2RqhxiqePuv{w3d7f8?Vm@@q$aT&;Rza@Sw9uU6=*{<>OyIuKp zjgz01%ia^fdiIq4y%(@whU+cwQ)%D-0(SO0e}3naW}V7x{a5`l~PU zJvY>R&kf1n!}I=>@3SHKdw7z+hbQ^|8pILP`O{aK)DN{ z{h7X`jzcAo=T!~R#^G0yz9IBV`CAjmUkjzTd4~0W>sKt#TS~trPWpKE+hxD&0`~2Z zFZ;XY!}mV0eQdtOeD@$d=QaD{__6Cp?E7+P{}t>lzMJYte}@px_BaZ1+&B@(ueFDj zt2gXfu2T2=^4$k**OOE7b2g42d*4UAdPS=E{FA`g@!Qhbyqo3DEc+Z6u;=>??6~KX z{pA<1xBDLYFDmZ9HT-gX;J0vp zM0{hA<>9)J&0|k1{cmy7+x-RCNp1X#RQ2~KNnq?a)(rmHt}JgR#J7gd4t4?afW5)X zzz4u0U~GDRUyJ#qA)XuyvR$|bnVcc=`xtEZInw+dMhg5@09mj32xs~iLDqkAA~!0WU&5u{CGHb{e%0H3Z90RuJ0^Wbyrh&5=Y0eHa6cEz$95?V@_JP+ zPW@}5zp(x6`nEH4zi~C}`PJNNankWSV{8wO@1%`0`C(6845VM{=M|)@gKVG1(ru(~ z7rTr7!J5dI_k-7ic3)%+-v>5AJnfr>$~gp@^GLH_@+IC=g7`1-`-Y&th$rp+0b`+g zyzRbgJak*wv)$-t2K24aL-zagjQ4MMK->Do#-rY^&2RVxY_>zKe4fuDeYl;hT-oO0 zJ&N$t8^^6TxCnOl(J#p3xK`x*MXC9Ghuoy_cR`lh&NCkG2a!IupEGz-f9zkLtK^0#$_BZy~xepdborF}X0{!^AGk90|~I>__n2JsfL3&{5E12WwJ zko{wrI00mRXNfP0tj}Yr&lCSfJ*?d4D;L}8Nww2Va5eIM8jNiRYp+d+XMcJRWPPk1 zEFZg{{akiO#M5G88J|9fSVSx@))Je6Y^OWK2gS$5dE!d(U2(r?>tH9Lc|6>eo*6*4 zdu;o&ou5U$*&Z)~vHi-%>6}Ra3gRyVxn5QVRI70b=@i)@Q<`r~`2Sbo~Ci(}94&(q$nL-u~$aJmg~ z(shRaw-L_u1J=u~Z~XoR`+pC_^LP&u$AB#7M3C2crr#b)-+zWL$1H^JLOAaaJ_fli z@|o&q*X~Pg-GlaD!EPbq4}mtma@=D5IPSAOXm>0WPyIuTJ_Y?6{G1JiZ-SmS(SVyAW)v8BL@dl9nu7!B3*j2n& zwDW}dT&;Yn#mVPk*t18B>r&jqgs7lMuA_~ZBa*l+E7ehc(G)b6MG zejk?KzUyb-@uUA{@W=LO8S-n#Bep$a+kxLzVE^TJ6-a9j`fVe>9pm`@SL)vx>DgcI z4EeEsvMSV0y=2!XWM}n=XWw7;14H&^w+?>U4>pDTr@`($=n)}%^KZ|IS?{s3n-H?I zc)qWQ$HDH$Ij^F&=S23L`R}~1i0Lw~_wOsR=h4i6it?Wk%0FH?pOW1(7qNRmb}xf` z9=G%Y_V%3ZLi-X{Aw7@h+K?Y>Z+ou02kp%MWY5*Cy{w(=`7M8^#&-Bp$H}hK_FVNC z!a2^_@4VPPZz=yRq5Q3V{@rq1D8F}=-}@KHkLCJEc6%>iXYI@O`x17s^LpDq#Qo`P z7n|qP{%hFtJyC4ePmlX~<|(x^^=+gZ}ZxWuxI<)IFT2c`LaGI z;fH?DfU)De`M2~%`)H&gx$X;fyZ|#+K9U?LMCMDk=N2 zaqP{`t}py9F6(FOo3ZByzt_QX*t)lUhnL?u;e5uf3-P|=!T5`P$72!lrya{(QRS`z zmcwzp4y*#!y+A!`BcA2A{%gmB{%(-JrWZ(G74=}hqkRk6r-IDC1IYY4Um*R3^6xHx zy}=vdr|;kJ(;9X*zj!c?J^RIAgx@N=9w6&K5ae+hq43GzP}tFaBzW~q-#>Z$Y0vsT zj&Sy?iC}EMvVKClsq!-`j-4ID-wKNrV7Y`0K$i$RuSc^rH5Z~F{ppE)w!?uq_Ob0SPwilStX*RF*RUPF zk^f_H{Mz|qerW%L>`%q9xADft4@<{-o`wCWan8AGqy6c8_V#?0>nS|{%pdblLVEhk z1kzvjkUzV=n!V+3`zkHJ!7U%GQ3-yaQl8X{q;mV?e2}^H`ZS`T|cFJ=x?O^0RA6=ovpKtK!4)6x)0&x zL6Fzo;~<|m{|a*awEN=EVbA;G#B%=r*!IVyhvxN){)fSTUg*)Ge60L-UfFrO4f6!% zw-f7kc6r?W17)WW@74nGPnS9CPB>TfR2WuzJ{js?tbj^Njg% z(leju5nhe;juUUkopwtR-w<}I;@Gu9ILGaaeK(u$wPgG9``M)Rb1N_3!^ZO3Jj=eD z&HUHK$@f;|`xe4KZ-DR0gFT>m{O=X}fxI5p#_{0#_YETbZHN6}#P5pZm+z}%ea6TS z?LUUy1nAG=*v~*X>l3!$54-sYKM1}I9*L9A#x;Hqo%LP?JC^@V(2m;)`8g>+XZ}q; z?mAzdOF)({!pQK-TjJ$npHAQ2OFZ zU;1yP=kX~AyK_i?HOT&4El#?O<$b<(9$Wvm?`hCaEv2s)C%v^#Y`Pv;4`RLTzBG1x z;P*`#&+nL$S74omr|C{w{t$MW!)yuBKB~-uIdR>WdJHKvM`mS-(+i|^G z{ic@KNDTYwDL?nd@niY(IP{m@zzf*fai)Em>_>#`&EHRbeS6YwEaF?EToXce)(+Oc zm+OAk+TZ#O(@#6+_XZEyPA^)#mz|PJ)ThF;2 z?ZN)tTcn>imER`tL4=JEO{ zRDbI)R)4Dx+wC*i?+@8q{QnE}J%n=e{5T5oxc?BUhmC($kBc2&8yC#}fB86{R=s~y zz0=kB=j*=J!;UA9cY4^de`L9UJ?(NL{&BQtKG|O$$Da2?yv|L79p_1wkLCN{YCk)U zHopBguA9lKSIPzIW%XfuTq*ksaqO+W)*j(>*C^e!anhMRk4J69*F<~rI?C@C@wuWs zhh+Zs5zl#XW024JZi?g2?ptQ*csvi%pS9l#g})`*J~;lavNimf-F(bjIleOAb_m}A z``bX4v&#kYweJgZe=_?+?7n5&m;C3xW%y-2kM#8U9mM?RLh~qVS8MP8<^I(}?RGcF z`RjdZzX$(+Y`^o(lX;vUM!62)csvSnJRKFMoYp_A{h4l@(oMR6J?*9;{wMgI9mno0 z!r4!0HxKdb=L_Q4B~xDBjxbE`)R3>xlho^gCGoC&c8#eHq!6Pag1m`!fDj zzigj^@W*wi!lClnJkjn`tpD0P^*NM}<1^EjQ2H`|BfX{L`a*?}efauzO(>lHuZ3QU z{A!27t$eQ`oa4n7wHNIh$o|HVeXJeFmFA&%>eP^?pN`PG;kR=r-14>OfcAU5L$Kqz z;E!UYBHl@hbap)KyvU4j9`8Kjrd$2G5bb-x{wOr-WA@?eZy&_ZMY;ONDUY2OMc{|` zy`|*;YLNbFf$U#R6&|}^gY_K}} z&*TgE?}K>O??EvQw0=25<$LM^=~<6wWcNbI&dP7~rrpc3TMCXsKC43ZvGty)@-W>x zrQ4u%Z->&w%V)dncZKX?{nPKqvimG#7th~**&PIDpzK~SO`_CmZeO9H<6-s}xbj6UK^%}X~kLy>--?d^xv5nYWd_Wv2&J-7k>%{lO zFT|h3#H)S2*+rH=zsg@IRQ}lGexdpoRr-=(e)ugL^7D7w!LFBfU1hl{$#2z=zkj7% zHI%+C$Z|Cd`T4u$;`2)$C)+>7ahLt;SRWrAE^kx#pNn$00C}I38p|1ADgb3vtq!y`5*Ye_8fR!87o? zDwHnP{*ubRo;H4M#`6T0`w6TQuwUdrJjc&MAaya2{et$j)&64wo?tnvt8`^W!D{R z7aNBf!jA35_wLwy;iU386Y?M1Ug2{60XrVI#M;s8N^E(WAs_m;^4L6u?U*r??n3!w zgB{x|cgQ|AAFH3`W8YP0J_SSRV)JQ>^6`A4U18X6o~1!C`4>^_v~>nnZZIO#22 z*#2hOw~k}a{Mg^@Ik&yPfcdmny4x?1&fZI4=>~@C-z`o$`t2DGNB?De+56FKzjqh? z?#cFp+dh$D@PBV8y|ufIAC{i^^oJe$-M~2Z=GV?|+fQ!egyly+X>rmsd<4R|emOQ2 zZ~fDbgFUC1gmUvf{9@~ZvHgK6{Gtn-M3!r{SOH!OP0$b&%udf2$m<=hLBl z%`eOMtjhPI%J)jh&f3GCN80nrttv0mFOOr-@YfLj5$xUw#eboCeG9VRoD*rkQTFeI z>@EM;bhLjDb_v(u_p2fM%+U0kU!>ihP`vrGbp`v~neE4*{XW?9eUM*;(wRNKx5)97 z-&-V;#Ge&z`;Y188>BCZavTf!xmf;{Vb9;WR2OTB^+fvp0sb06pZXX4TEAravq;D5 zt*aBgZdm=6Bb@oK6fNCM?4x7V<*w-!*(bV@@M6<^`(Y5U-%xj?nuY})Kj$d z+i|=Zey_q~@Bi*ccnSEoa;8DET%7N7e$3x9mqGk!gqH`;w?Fz_{EnIV%oSJacg+jM zw?G~T)~7Q3u-&VJcAc|&@%OXL|D=9@JX7Uvg?&T$mHaT~X7UC*9dT7R~A z6n__fAN;cY*=QhPier#-Acvi)fv?#GjqZd#mlU!%QfZ^wh}K1cTR3! zNcTJ9-vRmlwf8`aw{huW?~${5tkLgW==Xy-e%KH9Al&M4zVny+)_C9bclXQfc-D`P zvHRinA)M`SRE#|5wY`7lN@%u6?6_jjrEfwxc)g50{~974$G7Gp=jYU{-{+`b?D4Ys zshw~CX}zrc=PMuE{{YIted*tTvB%T)&tL5K5x3&H#c`R}!DH}KNBz%^pVg}!!g(Fx zb(HN*`yXI$b{5a@Q=xE6Z+=an3VvT)_n*sc*Bh&kou^!%VgAF1`s0ut>3KW~ zfS1A#$#N9|Ij&J>4uvz{9MI<1`u&Gr`|)GHXyZsZq~~*->%>N48_|FN74Lh?@5g6r z7v_@}`E-TdW#D~aa-4j}BAoqhBFOf)`Y?S-*v~?E**NL!_o(*%INDc?W5@6+2^bDrNGw0zAE$F18D&hxG-X!Fv&NJl?59@}yI2H|X1+YcLi-77lJ z_g}ky&@cND_kpn<-y=Qwzjj@;_W>NA@B4qPn?0?aZbZFUkDEoC$DTob7;f)PDTjEr zkDZrx-dg`1fN_-lpdIXZeD4Bz9`qA=JbKpk$Kzfw_IOzPS-EK6U-kpz*xT{5<7MfY zE=}o1#7SrVtzCE=AA_CwOIH>1Sm@aIN3j2KerxZ8Fh6`>!&KO3L%Lb=!|Ris4`I8x zapL)2hvyK^^L`;%5Pp_`JpWh9p6zbueL0pd5*HLcC4$XdRzXSbW`917+C>M{%H1Q>Iz4(#H@%p2>ew}SE_$ZFke((wK5I6@s2J(F& zKY|_bJn+QL_`RD!*`duR0{uA4uV&%1UdB_KS8P^R?%LU8T?W z{4e&oKcC+-{Ydmvj(`7OKEG$ae11=Ior~o93wgKdXZ-g^ef_Ok?%vzb-n+dW?Q7&cn99Ekv=u; zO~jL1#O>l<@v!)l_`8^;x=)uZmJ_cN8;fnlZtwW~I!oUz4i2E=#I z!8hwAyMot6+}#dyY;Z4hKj|glN$4HYNj0#quzs>D4br|BcqQ~W>78Ih=#$d*Yhphf zbSIGZPlJP@-@DT`K5+{5P!oQ9az764}ZixCl2;DKHD}2ZEG1)!6isyOM z&cdxc#p5JQt?fY{@#|}CGHb#|E{iY!MHOK4?uEXU%p1T=f__a{53}WLm8v*p|thxcDN35o?`3cwqDM4aE^;y2XBM^ z;`Q--3gnvo!YlW^gKWf9co3SD_C`m$?z|e}hg1 znf_Vu8|ZhWGd791bd8f;6_D}6!9vi>10DSy@gp}y-0sGyX=4KVaE`|vn?~HH2%m~@ zva9q9(rd-H#eL!tG2P8RT`sYdSVL?p_7sPUGXh4-u@d?;^4}=#688m++VMK@8|;oE zoIE3DX-=#)*~Nx0J5TtB=LtWl@VqVjc~}grhy2TfJRfT)-0~R<&GX&jp9^(7Zy{%6!fD4t?+)&8;iMO;8?H{I2nDeKFIjH zL8f~|oDIH?_*bRZgS4al6Imi|6Zj_LcYy4tpNRhekL1H2NPjbL!SBq`cV7glSBr0h z^!FiHA|2)rsf8jv&M_|=95!VB(3(~L6H@S|~AK^_AJ`ijP4gvX|#Jkas?VwvGRCL|M`@}S`VW#N$ zw-dU5lhm|5;uqop@sM~_JT6}Dn15>8sX+hL-#~<)K{%Pv)-y}MzuFB!d|rf;1;wIb z*?@_`__qY@cP;c9urA2s^fK7Sp1d8)6_H`7jhor$>+qy0sm^h5%HVm z;yDPoOl*=A3G^1&GyFqwpI8+4*$h7<{j11zwT&_5c?WjeaGyplOY`LVBK4&m(dJ;* zfYIZd7y3Pf^Lz8};rMiH<>%q&P(H5L*m@?{U3h;@|Gal10dUwUnB ze1{zV3*bB~1MX{z`2fg%(HA@cJx%&EFjKQ+m+e*`-vdm6o+*6-tP7p>HXq**>`sG6E{)o?>KbwVLgALq{B%cr_uNr?^Aj6xx?^95{`AlG!{Fz=P(J40{7pmr z9mr=Pcno%CzZAM-DF2_JdEK$}R{lKQe0Z{G@gH^a^UvA{=k@F+a8)Lh1>|{r2;@BG z53nJwjRo(Fxb`g~8V_)NfG&;rQs8X}F9-5|Zwxr51@_yw#QSN$F^}RsG~h&pPY0)h zbHJf^?lK>I3i^3)0k{a9kAC+mIN=TFR)Q}fd=0o1To1m3@pm)04tgtCWR`O~z;g5O z9xagHGui{bjre`wd*D|npUvaHfnI}po&?u}>AIubRdJ6(I)5H5(*0$PmZ@nU-|HO7 z?>>?7?9**ZVIFvR%r9^)P>}57xl=eHX~~7znZ+Q$WsxUy)uP#OHNi zft>%ImCoG<_vr=ko*9toN(GFbN0p)B_s{#Os<__F%pD z;&HHLLV`ODvVHylS)QDIeR(beslQq7^RwS=@qN?G-`3A!*Tssu&j#t|d2unw`PUkd`Msm?J>s_tKNV@!|K9Q$LJw9>38+Jk~_|(+^V2UC|KJ0G|KNDqb-ika)U>A%PQEBE71xSyiSLN-i=T>Li{FVqiD$&b2fhDH zVjl5wv3Nj#+^t-jaGbdwK{mj;FL@}?Q9I7-w<5d@(vua%>jFmm5!Xe!K6HK=_Aok}Voc%p~ zAHM_r@L}8sF+4Wj!kf%ea?(nD=vfe2E=n5dRANneg*qw;1O^gn2PK0 z4)AB_kHxP7+V#}mhjBmhPSleuFu?CmE-79k+C0$ag$)p1CN;_31oHWJOR=qZt2hA1 z5AlCquU|%Znbg#@;Rq*bN74@d{{O(+$kOs(+~9iONiHtZNy&U1L9-iv*H`#C*qG{=0Vc&*5fwZ)fi7 zM15h`A%goE@Ygmu+(9sZ+Z^sBIG`!!yu-0CrERji3uHZgIivT*kr5mRlHDa@1~CtK zd1j1fflm2zzgeq5V?G8BZ;N|faAcOe?g4Oa+bV7t*dbEIjTI*bOms)YAH>t*xqww% zvyr~vwHEIXdy50bk>caxL~*9LKwKiO6kiwDi<`x5;)mj1@u2vv_>-7!l+J50yO>YB zLM$Pc6|WYr6>EzP#1>*F@g8xoI9i-8E)riC-xfa-4~xHwmyGu1&Lt*`mBa>OTd|vX zzc^SNElw8ai1Wl3#l_+q;#Tn!@u2vl_=}h@#+Ng*m{+_^EG1qeUMn^fTZ)~*`}Od6~97W0XhiABY7VrB7Kv6k3ayhZFJ4iHC( zkBL*oXG9yfmrK7cZV!rB zCpHmViEYL1;@x6jaZo^iojGzTt}B?IebzQLjoO-!lDCgp+5*Y~#GnFP0N)iZ_e5iFbo+=fTpC zOHTt?o{N3|?qc7!yV&>f?7Mui-zV%++SlV5U#>ro2lxF>X`h8$JK@!+GYdIaAZvjwJU9k=!Rlz6*QuOYyMC_GI`8>6;e$bZ&wV z&nOlYD~ff*rea&Mr#Mg?Elw6^h%bxBRo-;iFU4}asqh`*=i&)5{S&@ixx{fnIzO)P zzM0SK`eOfA3B;45v0g}a!hI{b3HIbawt8L}*x~u@ZQR%6@9Ws#kLJa51+>5IhpY-a z_FFp-4&?OrSJxw){q4WiZ|pmd|LJ!e?K_cNU%54BlH>1r`(hlk??v)?$Trl^_QSMO z{q9tK+?Bpw!_aS8@17X{NS?2(@4c|wiS&%#q;EL8rI` zmt!KIA0)Wxukt)ka7CcAc1Um)z|zoF!2-~2!7IQ{;KWFR>kaaL$UjHIGY06=9Wdt> zp9U*JzXWohz;f{oaVyve<=71d**T~ObVrc(i@``A_!Ic{}GB({4{q zs{*@ew@1TkL(fL|tGGUp*Gu0Zj>7zg;mxEwh`e6U4*8*e33m4*p1j=QJ-adSOB7BH zfE_s|V6;5+vjX9h5l&7I7@a5Zz9IwGcb-CchRo4$e&_sk*guPK@&$2`xI|noz9y~< z7|oyU^d{2tIVkxS;>n#N>rc)3Hu;V8DKX(0AD&Gt7%)0NvF{7p`#e(+&vC$>L*~GI zra-!gtE6yy&jp{8qCH&$#4iD7;kc{-`THmwhd;k}JPP+ux#5rd#lE>c!3~F>LCJVd zh72l`I@s7v&P59yazPUcm-*3JSZT{xN{up$z_H2JVcSbzR&F63h zaJ_#eC~q`BD>v`w_h<)WRVqLZ~Y{7kCCy?WO zPq9CEuyYPK9^`)O)P?@I+zzJRk;BazgU~$AJHfWloF|#K=U?`TpdSY5Fh>9{?Sg%U zU=DB{$olO9?+op);rU&wOKMu@S3U0)2Z|%a@#180zWA!RR@@@)68DLR#2>_SVuqzY z-#lUo@fz_uv0=dIxWIBB?3|j`9O2|G;_c#HBK}a3kGn~_R@%8R*+(Y}}Cqu5t z_Cq*659f*${szyAz~H(c+>IX)+PU;utc{WY$0*gsJW z95l4 zXuIx4{5{ZS|H#k2UB`g;BYXxp0DMv5wbAdnZn*+_AM&;1bID2Uy$|^*41E}y{@;Ur z)lj;Q&G7vtw10Q(Uw#^PMW4cc5|H=TR*oaT;QBld?`K7N9-l?OVeDDt$kMO3jOKe3O`O90gL{D z`!BE($Z{I3oGdrfnLpF-!=C-h*ROdI44-af`d_i@;wpy`C(y&vUxLxK614xfCCg>d z)o_M&4&q1VFAZH2`mT_!3+?}Hxukp$pZKS)0^Jz9j)nyGThe=f*zF%^^M_skAzc^t zPkMXj{b7|^+WW)mf1o!-?t}mCsMS87KK)eaKJHRiD%s)R$n-A+I=$-`=uMG5(2u$d zZi?cw-R|6Im(lH)zB166T-l;bzbVoVdZx?lng)7g`a#fhT^2W8`td+#bzjSVG4xWG z%_SD|`R{^W?XtV((gy;a!_D?OXwMBUC*HOb*t=7RujF#M;nL|lVYiRV?dFH{E|=GB z23q^xL8l;nVd*N+WuQxX9n`-(bVtSe{K~to z(%xTr*IU~AEARS+(%%#*?P&Qu61RleR-~Rm8E@ou5~q}eR-~R z^}P=K4Ub&w?h5Hju9kZu&|4xax;S?(Qrn#f#h;7Rb;C8&+V4p37rA@ zXRjmFS<}^b&B_Gj4f3nx8o1PuE}gESyVGmezAMk?MlLPTTb$3oky~-ZO70f-N=ToJq`Eglx{_<_c82u1NISRR>-3$2`gU+9r29ixP1nKYst_$t zCD+jv3+Z!_TU}+Z)6al?opiUm2GY+%H-PRSy&1Ymx=yaA^heOmq0_w9@#yTH2hmei+i{B0b!}kgnuF&2F4D`TuNbc1-L61LpNrh% zuJk(n*`WM=TxIEOn58#Q*T>Zi*;jIX-Ay5VE^?piB>M`m@06~eyGyz*bT{bxLiUwh ze>W_o&qW?^Plj|QH^40j>2r~X-0G07b zdpXc{{-n82q<#NQbH9Xi)^tPhb$}p!(0}`-d(<@#^rpxRgdUBvAy2G;H44pAyl1pFJ=l>IQj)cj0YmnC&dr(hta|698avgMugeTp4 z#orBGHessET+Q2$4D>YDHqe_QtDx&7Om_nme-QeHgc)v=^lyQl>9SY%=_lQV)tZD^ zF2C2o`Lw~!a-FUV;@xb-4^Eivwo5O79+~j8>runUQ;$!W=l0d~dM)%*3D3BWwY+{8 zdP%~I?q}(*pw}k6;(n>^<9~wQn6TLOsN;2FPwYxfScW&%d3`zbo`jX|*}7h*Kp#qY z-F+C+-zTian`M0bl|lM9U3Tdz(5DkNxU%)4@gozqxXbH%-3;;R65nxi8+hFgdSt>@ zwOqO;Tv|wvNOX}UAw3~6 zAu^<;x6gs}^Aa;fW{334iP<9irIQiACNX!URBLZv3HqbN0+F`2czqM}*NIm|hDdjU zK9X2C@_)Fx`}i8`HxA(U`JVgf+z%{gt*Dleq$tvoq*{K`s;!iVh)_u?@w@Kpx^Cw?zkhnYf1m4neIL$!wtHvCS&8Hm zYEodtO;kS>az$$!7?4eV3T$ib0|Ra*ufV)xARS&^g-2G|0#4961x~T|fm5`uflqIx z+?b>&muTGrM5fh_p1qAXOdg8zQ6-4nQYGWlBYK5a^%H~Uuf)W9J2 z1n^;PTA=0KUj0nvVekoUdLSD;Pgw~5Pn!|ghhC_ZgLVDEz?|t+|0Xz2&kt1IPp$Rp`<{ucs;h0lhHby{p3O{|~w>kT8!N5But(FAij*=OujgB>byJ z=edBF1{L~w?-AYi*1%6t|Cs(f=UW469$X*#vU83DFVf+q^?Ku9K9_sr%k>rK?2Ug_ zuRLcO4=;t*8xJpOqG|qj^|#L18^2j!cg{2(ew42_9$qq##+U2xqdS}C-+azAe(QPT zKR%ax>))ZnOEA*-S{+`(VAJ@o16R!V{+}ZAGFab0r6zDSI}_Yp)C7jIhk!dP-vqMR zBft^xX!dyUU;4L!@of5e{M*1iZ2I}*+ra(osZc*q`8F_1gYj>1PV@Z`cu&eB z$`64ZobQG4O^iK(T~fYJ-4oc$xpR+qKlWqbFuMu3v+`r$52?P5@naygfc8HI^Syx! z*fjs%Ky&tF&Xd{n`o`WsM|M8sVPkLLVlwXMBJgdTQ~!g3aqO3%zMpY0FqypyoF@(j zrc2`oLcXBh_``uHdmpanaNtF$z9@J&@DAs6-oFMuV7H#)?f=)nC+rKs1HoUiyRp9^ z{{?U zFn=}s2>3m44f}7-_ptS8@KXci2ib98Z~Sp~TkxmgQ|ybu)nH{2?XMSDgZ-K8YrtPa z9>>lFe-BO|(6tm=du1= z-u^rfAannKc(UB9_g^m*!V}D=-2vY>N0~9-4ZZ_hTJGfs0+a_u{xUMPK&$b4C@*Tqk0e?5lyQA8(1SYvu8l`0^cjye(?c2Lg27wus+I^|W6{jD26Ocg}nKW2W(rn1uC(c)eyQ zu9$}2s!%^y>|j&9D-t)!{TqlBv|ryq3}I7!12L;!eM8~Bt1EWBH56rRs&6QQo8|s- z!a@7z6DMlfR39f^{6Mb1K)iOIH>3UW7YJpGSMQ(S1)?jP_S;A(AIf{r$HTE7+8`6vIA~`?V4|XurOdSkI>VR>JsPu5T^k(0+Yuk(#dt89U|mw-Xc5{`ynIG_?Qtq=@I))IUYMU9Y~q z*o5}i(_ZXgQ+<1}@PG39Q$;!2uTK>zyX5txis#Y(dOC;|Xn#E&M9NoQ{Z@tgcMuEF zetnuK=bX+zO~mb%>(j)&XurOrcnIyUr=ys|rv4qplCQn-etlR}oagmue|=%mutuIQ zEc&o%Jr|0Z_3{hF8)(0OC$RSM*H=h#fWdc+`m3Mi(k=x z|1RgA-?W~Xsec#oC)WGV_ltz`9qoteFA^8Bss18y725CLRSc?E-&KsQrSVh`uJi2I zUo0k_=V@qvKNpKaHjTen?5kHF5l8CPN5miX>LcQxdi9r_xBr-_|0P0v@2$_@f4Xqc z{^Of2y0fW1T?|3{`?*wP*Q>u&oTyiSsd(%MdH>zST(rO6Zej_W`gaqdJ#u~b^VT0T z)pr*cV7U)Ydd%b#pzn6wAe|Y^v`iX4R|D5OeC)XNa-; zX+EmY5SJd1`}Y=o(0>2kV%5)beQ!~GNUpy^l%W0kE5vCw^}j-l_(iVoBgUfr`aYuk zu-w0oIR2|#-&dSE&&pA%r{`Z^(U(p0^%Zxc{m1Ld^RADWss2iFAJ+TV$5o;L?LS^u ziOp=Pze*gf*FRI7s#l*WN{)H!^S>Tvip!46`{^h8p67vR|2+DMY&Ol;Ppqm}-(Re+ zSKnV`{z>OS_5H=VzvcO^7Msz2|EopzX}SJtvEYncKR`s!a|PNTKS1nb(|iL&!dZFz zK#_#@>j#P|d{2u1^>?7SN(5kl|M*-Zu079LXn*`QVg;M#yGFDQ%HyvUX=MKS;94j#T8GS?3lxold`VDW6d`s+kF+F$>5;uM?e zuM=0ha{nRcU7s;i{SYw(>;3Cj*XQ*j zqoKT>8^i##-~R@2noa$05U<3^^*4%*Xn(&qiXCjKzft60AlGM!LiAStc@f;m%NHsw z9))*1hlYs?w10gJ7nNwgez?eM9IKxcx=ECv{rYTChTh7rA7qPiHmxUHEQt5U`{#MH zSc3M?<7ScFB-Xzmbc>k5z82P39J*B$qW$?sh&gC~|0BfPY?^O`_@Z9@NKsR-ex&Hr z)SJ(LevA~)p%*GN-)&+m+MjQfs7Cwi9VPn1J8xspryOye6_KTmOI!7f6RMXv;JJ@b^y!N)>* zBC|R9M(~-?y`oPG@<{XpqMSV*>{^eA%tXrXM?WeKvY$XdCg!xHd@;IMbZtd`6+K(* zVsAh{B??-5`9kGOa0_dmsAlg4CtLGHW-{f6!C`BG7%KS^t5j5`Q0~=dSPO;O-n0LB zJS*bJO7lYa>(SP;qDMWK3Gc6RLA`lBzRD7@9=%ne_unlQ37x$0TlxKYOGQdo>X-GH_j=+| zaWR?uEftxPXIV={w&W7)c`=EsOoH*xSmk0ByAZt8dO`HM82c+vfM2y<6xEX7wJOBe z2<3|*-)_Am_DKH9dRdIPB$n^7mWy5N)lmPtwL<*Feh+-gdPN*Z&r-Zki9ch#D!Qh7 z<7X+}@3()qD#bK(k?H+@L$_ZS>nS(C!1|Tq6y>=8*7hpl{ncW4{FL}2@AcBv;!<`i zaC>`=7$o^Zd#zZ)?f`j)vQE^X7b=~>5qq8J)XnQxs9XoW%w8`<56}MZ+ct;>Xu7^y z+Z%-US8KfaAA$O7?2W?vYbD<~G<$kW&b8J=ec5Td@D|0MR_ea1KuH%-H&`2e8~PzxO=k1KUz-vBQ!RJx*n z5F-YWuR{MQ`V67*S>V6zy~6txd~dzE;GnZ#cz>Ibnbi-f)`$6z$PNQJjE!6*U@NTC`a0PmvvH-l-X&#($E9K9Fk2}x?joyuSfge-!Bd(jq!5-{cjfsXR_)2Zx;ubqUrsb zBiu-^61~tI2mQymmjvyx*x#IjzBJg3tQ3Ina=QoHp#AIXvLH+b|Etnohx|S_=8fQo z-JZcASWo*av3do)f2Hg1ccGgREGFY$8_7_52jlO+T)B3x_x$Z0OedT4`_taRO!Q1; zDCa}RdG#}u+rf+U-ocINB4rBrKKF`X!ku33pAWnP4ehU|PcSZ*=9@bYejnAKZ?J44 zxfDFnxGLyO@>~^I2hMAd8SI2EGQS1i*Pvf;2KyMgf3S+{;_i{_i^4GJioz! zVAs2_zj-ZsV9@)NVz2+b;FlX*6I{ai^WfJTTpK*dUW*sXSb>K38-o98aAUBFbF&n_ zpEk$}#^urYWc0A$2y|8825_T>!-M&pKL&2z@TTB4_A+#KF#aA||2N>y4Q~#nql?Uj z&%j?vZ+J_vfE`BP8r;G4Bf$e2jtCy%d^UJU!;!%rQ)oRepl=HnlJWcZ7G+eh(=^PL z&mfN|Il)r)58zP^M+eP&DgO(c+i+~KnC<1$8s-KsnofDch2HgWcQEI^m}fT33nt7U zr$GK>!>Pd%_Ql}&4et$R-cR|ZnCAy8*%{#Sh7Sjm9-w?6<}-uE?2+JC8_o(AJV^OO z@P>wu2jlX|52EJ;%h^TXtqtb|lOCe{S@0JP7X*h&u50*gFi-N)hD(FJ9*)%q;+6-q zA0aP;@lE1Z2T!oqf!oBb4bCW_d^37o@HG2V@RJSK2glB&{2Op;+`GZ_S>$8ju5s@L z)k4pOO5j=V`|akS^BB1~dP~sz6g~X@3+|#<1*@MV561lC;Mh6j37CHpOqxr60`ncg zCG1zwp9kkWMfnzVbui~?^4I8{`1LDxzq5-?_dAcq?LKGk{XtL0)tock@6-n0#ePNR z_A>ANA9cYk?61L^s0(gq?**p@>ViATczu?|)di1neiHJR;`RjplJeKUdWpAQ|KD@` z7;M1y>fej|G1!#deG$B072KMAC0G+b22@Msv;DO4I!ER(+&nGZ`BIp0)DDdw` zehyBpH~#0~gKXO0&%s&jZle`tf85W(+3Y8v{~_=KGWP!iyqR%l3r+@~VlM;l0xx8*0jCB|2A7g?J>Nq9DL6@4XnqCxKNtKP{E2-4eL8p=>;3P~ z{{?gAd-E++8b{&hoksr!CrWP6=xlJh^*<_HHtfDdj7<#-lyNhzCSlnGfT-Ij`6PFChABw-M=(Z??unV z_v_!@sHyrax=2|D>l@#wnYx8+t^)6mYpzzaH?Y5FFB}bD{{zic`x$RO|Mj5eYGbs2 zf8Jb8JkRaU^M&X6lJk7|dA{mA4?puXmZ`4Mu<-88OsZo-e_N>>h$UKZrR;Qt> z0_Jn@=_ZZZs->K#fWK|jPTj+fpi|UNWwf4~z(*UkR|lbs%vs<+8>Omc>_zAf>OS@w zaB3h;J;L4u9s@qXu4bQR?*%K3(^Pd4t{0yVTa+|4elc3U|o9cfE9j`jg;+QoRyCR2{|n^^kW~Zcy)JFC6VX z-)>Ovmg-x_-=G$A?)9G(pQX-!1^eUrGL$TJo8&2wXI6Uo)&TuHG)x_|$}{~ubbtIX zb--F2udG}KKNZ9eSNE{Df~OeS>hN`5z7@ZIghaMF8GQi%Jza79&FT!!>E9dOqSmtM z>(MRh$#=Z*^z+iw@wce)?~=Wrm!6Ivq4ppv-@<&0;%`$2uzyC6Qb)0W2QQ7!QKz$& z7Zl~i_|a++y8-%kbs@VYdW`xqI}BbLKUUqy?hRfPe}}q*Jrukmew@0SJqmrNdVoC% z{Ca$@dXk+FUK2lFRW{&$lsV`Ls>NP{o~XvND{=fJHHEzeydwTCwF|n4|9#nH^>Q}- z`?AUEK=!LI!q=1dyVYUr4d6ZC``KTCe~!;ni`o0Zzk(~-e}YfM-=jJkz4aEEW(9c^ znXjLF)LhA9jeFFg?_s@i2h>k7rm6|=lj(Yzs;)xQ_2e{}s^)I;a{uS)Y3dfV|NUW_ zx?585xU6qo*yln+^1Hv zm%;kmg1=$E3LdD;P`ytv@Xq5c_8Bst#|%~f5OefcV}_bZ=JR+!ox!H{KA^5g(|S8L zc|f(Qr&p|K6v`gX#(Pec&lZzMA!sJb%7AU>lm}e^^b}PNw-E zR_A=`ndTqd>of1fe3p74dn)F$)GOJKU|y(>X3xgFP`#i1 zEas1?W$YI*e@tD)egpF&^$Ye!%!|~Y*`HwkxElI`*0U4y$5roB6uig(JMaTdiq&h_ z`@jX@0`{-q$D2H%zQX$@;|Shu7{OP zO4Mn)Jp0ej1?q^e$n^YKpmy7h{jpy}S)h)UysSy7de_&n{F^4vsB_55VOY&g85dRfgp zNb8~J*URb&G_60>^ksF!AzUAS-otYBeYF4lUaoGH+*etyR#QFyKIs*8C!2oX^osfw znftw>)=1+slvmU}lKX;xksN2frv4+jP18y>=@(od&$m+T!KV3Es&mjq$|yLWJh4)( zVUGuQZn{$4b=VufP?-acG<`!YJmq#sXI36Fr z3}wBVPv-jdD*U5=X}KMr-P2X3iN{%+&td>fCyJ?jgm*|aOsCd7h+}m`gI;WLq|M{~^UA4n= zRiNogxSwdcORYv1nd#tvn|`IX{0!$euR`xubJ10S(cp&7zJ~8Nls^P++N?(1#h#7+ zMos#h`d5O(&AwIppo`3E@Wsu(Q|GXMLf5J_T(7?YKR-9CQ%`Z81|HPxdo}Y5n(s37 z4{8azDliJ1(`=8riu1?8cQ*S`JiS@_y=pERem@F+wAns&E&Bv| zzp8vm^-Wg6DKwgt} zSj}U92;LueM4iF@A9$>GM4idr3r-6Bsy@N~9X!$aRh`cctoFWt9aR^z8-g`)R9(() z&0b5!>w62-KeP+iqr3q5v1Z5AV#)tC`%Nulzlr$?bvb)0*hx64u4C7tPpRA3C&2Lu z|EN8_qW+!}6aH1R*=ND+6aG{4B}Wp3R`WI08*9AZhv-_L8gc{nK6Xp+s0O;0_YLLV z?^Amxm|CIaehDFMwa=ea2LImrXL_*f_ajbz`hpURvUn>3QPpwlaQk2qKnL@!7~!tYirrd z(5ag8vrv+hndVk-aY6^JIs035nic_j_gC6l_<1j(qt=t%9GoXQYFDx^WM9M1VBbJi zc7a#J_;Ku?!5b60X!(*qO1MN@A^D4h%d~&lze4@)gq~W*gSZ~}^geIBmur_uu1n~p z-OO(KmY4U|3eXFcZr}q6S7>7odE;j)UcU_GDsAX-awg+lS>xb?1q35jT z!SA1&4?Aai{cwafoBEmh+b~P>k=g<_y}mqBi%Rn)CXCcpOP=3+l(w1cGhzG`BS+iD z9t_q*j#ka4emPo=G=6wOj`nB0e2n%Vdoqk4sEpCHQ@DTgesFg&Mr%OEuQwBov04h} z)c+2xQ@#8S?ecp0IPEHSDfC;`e4KWzRKFZNx?Y~Ejc30C^?4#!yGN?;myoMH&iN;h zCj};GPfPhkV}iDnb6Vd-?d5v;MC~o~LZ#z+MR~jVB(0X+9lWvmUD|1OKg{peF8!OX zmtmOaX+zm}fS1Nk(QaYqVLnyMW#@xGY<{n{f?W#!toi*~&Octi1FX8noG8??>d6`y>t_pMpKiT31 zZ3X88!Shz@UFsl`iL4!X#E1zg$UWv!C^0eZQ1it7)8H@8@! zC8#vNx&huV*y0s!EV~){Rc#fzDsUP2yB4o$)tnCl|J0&VYpK!rT=eT&F1ji(7kskC zO0Aglm%#tEcthL8UWZ<#CFwYxzn`zxY7Mlq9da{qjkZ^Eqr|tgOV#w)s#l$I;=mg&1g*i6Z1c`%6PK*o;Tm0T0s+XBKj|FTT}AI=)bik%{=?>=lEA! zd7d|)=bh(yAG%2Sag+D;@Lz3YLj8VspXWk!tiD0>`t?cZBD4Kw`0Erc|JBmSc>N6o zcjtUC&-m0Mv z#nS!B1#G%M>7v8Om10ishkUqI({rZ#lSKWCB(J}Jy|&c%p{oK5KZoxZZCdJTGM&c? zaOXCy^r7tc(XI6*=&Ha0aNjm<^o^XGU%>le+9c^_TN>XSovde}s{*~jBigjpr*S?O zJf=-MeKY$$bc*h@^Tt;No(136roG+?U1Yuiez;AlK7+jh-9fM7`d#4pZPN68oF4%% zYSU5gnnLUO4;|L?(N%$@YWRIan+x?NoDTx8ZPQ6V$i5xjSx;|I>zM=I)~1V|g)TDJ zfWK&SkzUSz2i;Xa!u6kn_qMrMcT#EogWzAWOoP49+ zrwgs;4s@122VE72f;%J+(?av*Re;i zz4y!PkIUA_vTuhxPh{(p*wfh4*oENi-(r`tKVdInf6K05 z9|C*xSF-0Rl3I)c6PX~4b=d>ibi zDSHUmo4+-C4A|RWDtiWaEYx4bo(rCke6!x2{Q~%Ia3A*DIQ|wr`(m2^W30bLKhFLd zd~fnCdTs=BzCXN0Kh+(rcz<1QcJi(Iv>xQq;0)z9y_(%M0e+v6e4Czf8Red%$vJwK z!`%c=f;=vSJ2kKRl2$H`Om;$D=`g*>86*UK`3;?%wtV zT^&Sz6zV^LPZ;YVd0^X0{nEjd&xL%f_LiP4`L?#}^oy>eycF~I^epybaE9`}{yzH^ z@Z`4d>;IE{Z`;lKKK471-`n;>{ZIBMSie=bhERXc_qN@pC$ek68Oo>nRg&Y(PxV~( ze#jqcyF;(KfyN&LN0cx1q#Mcqf{TJX^$NEAotN*@ld>rH{%T~KxUcj~b|>`LdM>*s zcy`-w^qgT-eT7R~_N{|rl7kU<#*Bexj4S3k(5V%4&BR`a}Rkfy0@WD@jO$Z z&s*$cJjebV@<_XW#tQa+a2Ne*BWEg&Ka1n9F?vlS$A9nTgN%H3FZ2+j{9fum7JY-U z@qY4r^f0650nbIso8X@9vW+DVQon8BI6EElJR^tQ2lIQ3@$5mE-(yT=XJbCac!+&F z=2MJf_9V=w8uQuHF`sHY$1cEpnz5Wc7xQVx8unt$?=?2Dmt%gf@fmw9=F^RD*_$w* zZX9H9$NWCyPxe=s-)96Lrt{l_`3xhDeHil@Mr-y-%|QV>A0<%pWm6V?TxYBgS{^rI;5O2icXF7Z@km?_xgF2tGpR^$F%PjSJW{m_KT? zX8(-&qedt8Nz7*%m$8k#-ucZku4X5I2P%a|7P}+ng~sjdo|r#o+|3?{`D4aI>}<@7 zj3?Q5VqRpFv8QAHxbYHu7Uqu|Z?a1;FE%!_mttOQe9o@K{0ZYb_FI@gVH{$=kNK0v zN%rTMKWV51LGSB_`90>djSJXEFrRI-VgG~q9HSH4-shdq9HS?@C3v7R*SMN}A?9<9 zVeFomKV{^w2Vnk`v6DR^+#TH1gPoF<)ssOvdxgP~I?Bk(HB>k22mc-e>=d zUS;fH2M&7qYU5kB1|FNd#yBW>bjq8?Uy{eCyk%%l(D`kc4*$M5Wt|Z(d2-5nBZb`< z`prn$VBAjTzfZEsn82prPi-=$u=5YYvmj-Y@qq7p;PnddqwKkm&j&xrUINY&n~eGF zSHPW>O~zt&JUkwrUtrVYv&pC=<9U@qKlMp^{AfMf42RwLh}VCc5zlT5?yPJxTC$U{ z|289qO+R06Gdi*9=j&}oI=c&u*Pvf7c2Dq@lx;>P8P~HNT*~=BIo|K*s*NS=`8a>I zQNgCqzpXYZ*|gqjV=enRsLvDC#zyvP@V=C4ql%34{Q~~G-uT@{U^blx?QgdcV$*r< zHZEWvg?-6hkl)vAB-2-4}u4RU#mC%2jfll9NapP)Xu{eB~k-3_jf4&Vebj_(Y%4Y`z59EG2^AJCWUQat{)Ewqb9#O4q>;{^3iWy7q|u8#3*1>bX=JkL@jht`B4fX2+n+S<;he6| ze~kO3JkI>bDCYcK=(nu>zeWlBWAH%bU!#m&%`TV5FNgZ~IR6*&?Bp}XM^e77{TX8y z=fjVC>pg4Kvd6LavFY`Z14TV z6Ozvw@oew$eXsplqa~YOUp#B1kny}eguIY*nm=UDVefDIA#)=c=ik#lWd6-LJ^pcK;Az?)z5W_!hR9f76pS<5a8C7& z%ntSH8<`i?t8ZlX11G`#)@+#n&-U@=ZS3dKP0ah)AAtj@P0bQ^4Z4~63On#Se11)8 zg1LpAfNpMn$Ib*dPibWgWP^on)4=w}3O0wq~bN%0B~NncCKD`3yPq z0Q|lwHN{MmJUF$zc?7*sse}3(Q#+V(3%&Z8%6@R1+0h*I0*yZdzBx5)7Q9GqaKh_% zk-37M1|FN*)l@1d?~RU_+3alagw%9%1$!#Gn|X>oADoxk!%TUZ#+QQ!r(R)BV!r_% zo7&f`Vt))Ckb0GQg#A4_(~MtEUFOtpuC%yZHq2_CB z{V(#HVDEaK0DdiXsJVmvF#39PKl>&04dxm4JLntDW-Dp@LGatDS!P$Zddl-Kb09kc z{xEg8c{{rw`X)0U3@3%p$1O^>dEyP)Z@;wqkbdBek%B@hpJ@saDGrEXB@8MQ+ z#amu}AaF0_8Op8ZD)cPnA#k3!)m*!d#+QJ1rrv6vV!sUjCUt~4?QP08gMUoD&3qeO zq#OnxO3g8Mq30=ofsdt*HdEG9z4#lR|Eaf|BiI*$|4SWf7PE(gwGQLVj4Q|!pF7rqBSK#&??lw=c4}%l*JoCp5H2w@Y zLz!wGWw-fhJ#-`04`)}fr+_Fy6 z!@sBc*E{bA&AZvj;5hR^vw+{jm8C`$2Gb@rd~e z`*C!E`3<`iJP_W8xsSaJ^Os0hqMn9-U(})49JQG`n#l8wX&s@%)0-oAozPXwG6ncUA4SN&#@eZZt@9eM8&zSay)ZhFMe!tXV zp_#%?ML%n1uqT1v=ul=3XFr2pWZuo*5B{*jVzZd-p79(tm$7dKf8Ak;`7Zlm^mFF_ z*dKupcUWp3VIM?4Z)#P%|FiIZxen!KYjzfTnc1EF47hRH3+7Pv8uW|ic=iEshqMaw zQT7@1OJhCKy5J8h+z&wd8|hWQNp8}ur3CHr6WYV%`uPZ3a_Pg`T| zVP~V?H2-FofZt48Yc|?S>w69TmU$ujAo%07b!H~p4tjpuJc!?~XDTa>1(bz@)|+r~ zDzVpt-(l11!5PYibM{^jzPn@0^m_1n=Z$~=T)p@AZ8DV2=S<^crtw?O8~@?CdK&-H zIn(%`Uzzt0>A*N6Z8 zHbdEOmP&r3<9_oU$?tSLWPUFBgO0zN|4RO};~!?)$FY99I-WA`ko;rEv*rtuk9O2U z)sp|}Xor%v#l{=q#-Wjt8--hh=1XoFP6}<3+&_y-$DcwU;r20PL?xCk84-IF8)^h#dIKFRa zqm;kXv2W;0$=Tt4p_7s`l!2i$=ULw#+mDwwIL}SbbL;b*dY-$S=WdeY%z>dnWX1dY zIMMJmp`oAR{P^z^Ukncl<*-vM_$%e%A)&SCg-TcO>*4D|2X}b&^ORoTcfwgA@9Pb` zpUu4ntcja^Yu>+ijD};T`ECx~{+T!4|9p*G{dyjM&Nx0RQr|g|QGUHff8S@!Ij=|# zD0fB1geGDCh01#HRB(^)z4;a@o52r7?g$O|Bj%#WxX@bs$dZN14#?+6#)qodHQ+^& z3880g702%ZFN;hJRj?0%Ux`c#ea8L^yee{6Xcya?Z+&EPD9-i9&x1EJ!1Wc$3+=;? zJej971n-DU3C+2{%l-418Y)F^HR(L3hN{v2zqgwj8qmnACr86mLzB>3@$t)w+#7Nl z$MU+!{h_XC%5x(5p$aygUqPra-mBlL(D@aFULf=Q1)-PF{`>`@*Cj{81)_UHdN zR4CXbCpKn74rMxckeaHz@f4bg&40UDGe)fls zu<7f|{*ZN{JpcYs1GGQ?{!mlN(eVCI8rAdl@pGtzP5U_%swMM&4u{T4<1>`QA)}ML zpTnU9H0>uE{xvj-P5q9A){?p3Z=qAt_zdN@P)=vL-*2Hpw0}N-gt~T#<#mz2LRo0a zb0YtQcCqPv&V+Vdgy+Fuf6s*Ox){y#p9$TA_Rr@`=zhu3@R`sYs^{}jtXekhM_6V= z?x$K;p#6TTb+zPZShcdLp8M(6aW?fct-?#>ewMWv?f0{+%ycg&N5htti}ugQv8tuK zE)r**kn)^JV=LuS?2q>+Q;cTTX*OLy&8!yP; z+E1c&gv{sN$~rEM&rn)frzA(itt_)Ut&g5xZLCZ-^-H!!khxzwYd+dvUps5D5^ zRmtP2Uwf;#M{NJma0jc?W%7PITKQ5~mDDq~zO2ZFRxO(9>mnCf%H^>< zClawr*xvf57~QPOUX;^$ce8HqEzjT08i)4h?`BPw91VA~3aFmXyN6ZHrt|4(ohI}7 z^sAW+o zgMDeg)UUra_9}V51FTZCzrF#MlNnoYG(5oSiuSMXYpgj^UKhE}S|#NW}vKGugUMax^^I%Hi>}pFC?7n;!2eRxO$P zO|#%5(xmHgnw2Oy8lGl#Li^X_bZgQeS|9bBVf7e{=6(-Yo6-LI9bHDZ0?Pz~}>#Yfr;eOo8=ke6vXdOBqZ3>G|@pb&Bns#}wmJYsNUr>AXL+w&kLE zKc8AV(Ej|NTDv4i!=GCFsGiUJGb?F4^`rCt!s<@ueqUObqy2tgT31PqhQGA3cs!lY z|Ev-=_4~?NLFRs6TR%wSGnB8bpCw1bUt6bmJoWp=%AF{$?>np8BzeDe)@5jaeRWn} z$3$3J_XJ5AGa*DKmT#7k>qIjxRpZnyr18#95(IegmoX8 z`<=8Nl*VT$C#_kMqv4ZQDUYY~K4n$2soy`=K{EF{Z8=k8`-Q(>ZN*EDhEH25XxcyA z-&_0G)K9T{)YDZlB3~oLtPDM0i5X?7{vpFhoBA~_mPvn#2dug9=`kWJ^)$v#Ww zeqHR~%-H%elrFX{IU4R_w?zBbPggseP5mNv9+~^4+ojU@3?t{%b{{hL>th$9{eFGyBa)-x zK6cz=G~Vl%6}i&hh^G3wNPl~el;=bS+BrqB`KB0y?VQKS^!N?7|1L)J{DbZP(Ej{` zZS4s!Cr87B?F6)c-b3tMHl6qNb}5BDdS-oY;I*jB$1qo6cvP z{S%qzA7>vx`}2>pk4lb)$Jy`^j&NT7`Q+L|*>pY=?0ho!n`9TD{eF||V#(3)B)g2q z)A>xccd@Boo_&PO{ifJ0pNgGFhBC!2mK+UFu`AL3`AoCTr(^YXkr{R;H03#w2koJ3 zZ@wwUBeqjQ`=j%D#14~r{zvRCXn#MC*xe*Y!;jblcs%WArd`OU{minLkh$Mu_TSR@ z4COI9FfX>=X!tQZ9_^p^CbuNslG1qs-2DYubRwLP57`&n(@g7)WM zZQm|A8eVNrbJqp zA#=a?>=LxUzW40YlB41G?4pEAMNLJy9b&3RolJLe!prvQ*tz1ZD;X#>bKLb zU{k+cb~Ty%?Y5N{z4`opyX_g0qv755614yPsZ z@FBaJ$J6;7wsV)u=l!dFoXq`>*?m^X=X1>7EIArJX75A$=kuFg{z|OAF7l^ch4!Cc zr|hg(WAjZhPTP5}k?DL++o`XkdH&OO810|WX*(hr?#Jy+s^{}LV;8XLd=%$dGWQcs zR2rY52YhUTa9 zPIShR`Fs+c321-*L}!X*xF2^4c|4s@D`yv*&Zmu|yeaP|*-_DczhuXe91SNsEvcT* zr=3&Erhe_6&17C*2PbZAY`+;w2d6|bydLkYMf=xdM)E{1NcZRZQKRui~$=t7}Gf^6! zq4ad7N{0J!r;x|fdG~TQv#DQir-sb^`Z%Yh@fk`VM}1dbUmqtP?XT}jr<6_oG97h; zyx;y#I@;fFf2Uk>G~C~*qI$j_2RKO^WAoKT2058%|GbAdxokS`8=aK*a6bO|^+xAP zGVkX`r$5@C|3>FJ$#6gJDz?bXuQ`iD>B-dhNk+u$Q@3Zl;=cposDcd zpGnS)&GPw7au$+#{z=Yav_JnO=LN}dKklsM@wA`G&T%&FC(kiI!2aBCigN?n?>EJ{ zMKauvJCmrMpRd!LJs-;FGubl^cs!lY<4*cEc|T7$ zIb`lP+ZluQ`^|PHN{0J!C!fbtzq!sHHl6p=&M7kYo9A@;Bz7Jd$~>n`ax^^8*@*Vf zXMrTK5eihDIwBN77N%|tTUbr83GSU8iUUtf*9PY=RDk;y2yzU%i(|%Sv z71i>7Ry$kBJpXEEE83rbwez`TxF2`+@OXNB-gLTtDevbkX9Su1z3t?n{eEvdxsu_2 z+?m1Ssoy)!S~i`}24@GE`@QGH?TnpAhVq^>Lo(ctJ4?|1`D}6q{4Z8t7x~bcg!Uir ztat z(0;#aXOv{PA9wPop8M@|Dr#tb)Nhxw@f*3{Zs!Qv@3-5@{?^OMa6j(kqy6)#acZO- z?#G?eQV#dyPSSU=`KB0qomw`1z1ZvgL+10@>zqOR^Y3-^T6zAxP6C?dhxflYxoq0c z&rT_s`yF!1r15Y+?vzW0`*CL#kEiSBuyce>{eE@SI{AE#Iq7JBeaD<~$#6gJR8c*i zcUI&#C+Yjx`r&@u$wd3t&nYLD?ac@G<4(#CbY65mr=2Uwyr0uff3!dUY3Dl0a6j(k z@OawK8D|xn_M^D9WbP;2J<@o%A9oK*hWl~%6pyEVs++Ti)<^wxx01~LOt%*8ug`P` z{21Fm+>g7H(Ejyfx!a_?F4Dj~BIP-e3*5M$V)IQgnz%dIbUsboU&uUv6Za_EpTCKF zQZl?g?wWh4AMK}^o6V;EG< zk$L_swh56E<5TFKBJ+NV+{Ayp{(iqAx1D5o|G1lurpG55E_Ro& zso#_C?_};b$2}>H&rs&LXC%Y>$KAMpX@7LyPq~BG)UU)HOXhy_-9og#zWMG!$QmlY{>N1*-lE^`Z{JSP%$%h=w0Q;g@`9{` zg7*8ZcZ(&%`&HaZs^_og@4Ba@9Ns_fCJ9=vHy^xz-0i`p{e0xsu<7yn$URBs`9E_1 zM*H)B^Q&9Mrt|sDt#WC8dc1#gM>a(B{J*)Q(f<6ux#J~A z!@s%tRL}eQ!`;WG{ru^6jg$NR<))+ket)^WBuB%4xr3;l`~B?}v#H;|ZaJCP_n*5@ z8lR#3=MK6cw*UV#b@uUfP1*myNFP+3=jW#uVd5&%qqIm&ks&Hm8Ix~y2(BuE8WCZl zqQYbd6BPvE20@3Qswfi#K~V%5GA8IHhzf$LqKNwKyVu&kv;KU)_FA8{*XQh;uHM(V z=Va5r?p()N`19M&ftIZ2;vJ-UoP|G=rG8}aXPVTn^Zn!bnI`?kr2R~jPUI~5nI@e^ znB6}vH9|c0Qz(rfLqC!<)1rEcRKi*4DbifR*|Z{6Ks@ScQVTNZ8B!N8`eR9bB)=?W zNi*!E|7_Zl$~g;v9I1n>=i)%>CF_}Zx-^Ik{_G~zIndrR&Z3{)q+1EI z`^TkKm=Aydc9$lQp`YJL#V++{PpN{l(A!g5MVQ?`E)7CF_lMm-F3s?ge%bxwQaNXF zy<@2c8TvUunm~rn!vT`#)A|QU5ob~V0BH}x?E7qKF2v*YnJcYFhJFr`rUq26R4V2y z^h%{R!tDNWX${0jMwKVX&Yxz|0rp4 zl;~&EM@bH6(9foimU@t(pFc`tz^HeOy(LmVGU%NyRqn>uQLk2N;w<)8D{Ud1P1j27m0rBR zyk2#Dmejx*;&bs|rB1S*iO-Yzkink|q{iK;KNm8 z^z%2VoV`LU?>F>wk<Rl?W1xCHgq*2a7 z?=q>XI3Ew3OVsSub;9)8bXH8!wP9LFxFoo z{lHn&Ume!d+JuC$!oKf#lshzXXdsK2}<=26;=|`nf&cdI^q)eQw=i(=%7S7`DPoLDZ zUsA7rO20HQ8yNiQm%RNsWBq<9;w4{kQ$Le zZ&3OW81>$gJ|_8Pskfvr2(#aFN)wn5*KbIgJs11~y?3N)VALCyS~!b-howz~**q>8 z2SR>cuR4BDs^bjt?Dw2f2U*X=A4$E)`FizJK9w2{f_%7spGwyQWBpI1n>dU5pGvnA zX5VK^YcL=B`AkY3O#AsvpC=1NquCU{hm`AA?xh-oYGcg@MoLUSw{WYCOr;}^|wh+ zau)q;lb$Ec?)R34FdzC!$;u(rpY7#hVALy+D>w_i0(li-_Iplw5cA=BPnKu=KIu0X zPm{|zi_h!Mat$){qskM=aJ^O8o5%Nq^;J3IEb6QB9)z=LRh|p+`1#W124uKCrrZXM zdbYfZyvSvfS>FZ(^GJe#w)KCawC)^l+v_mK5WJVWkBhJK3V%wgas^iw1+2gdqE z^5vXGKSlD@gtO@)xeN2*`s^VW91eQWPqADLjCyIgle5rE%Z25%pR`=US@bhg-ayuK zafzJz1L)`LW#awhW@PARj@*0%?PrecR&d7pbL5b-s6R*Eop3fiN1hAuczq6(yOE)v zgXM34QLjwiO!CW8W%AF2v*|Lq@Tg?J+4S$_I%Lp0RBi=Ey~E{U&SHOu%Zujc^MSMJ z!{sK2-eP&?pYrvD-eS3%Fq_Bab)1FYOXRv^llWX* zD|c`fexEHHe@^yaKjmE6s0IeV&y^qiKh9YHT=`+nqW-z^6NIzrbL9buN59XLXB?O4 zv+t|r>5Hh|1@f+(h28~nnlPKkx`mh1kKuLt^U z9+x{f3x6(==N+G{=i@$<9esZ-pFi7J4h>BEoDQmuEvf>b1+OkU{Tyc^DY|>5zkylYYxm z9dbKiHjm3|ISYSok~5hkJ{R9Aw{RBz+$I;C!uN~6hrClRSPTsQ+$rC7Drc;Jr+g=8 z(a)XoeT1{=JLNuz$A0dX3zsDN?E7kYE->odE0=N>diToZgxNeUS7SbWzV4F;k-?t_ z)h${UcupC{#? zfwBIR@;1(*{*&_LGZOu5`bpX04Eou0pIlf={dq?21xCGod4jXh>zC`!qCf>O()T%a@$P8SB3;U&dL~e_g(ca5nwA+y(J? zz2B6_k>UFMM|S>7_1>0!&O+~Pc{jq@^xN`mh)2Eu%Bzq;?|c=;XRNZklBS6l=P z{`@9?w2apOP5zX#sQ;V%72$09H#v1NE(DOJdDy?0QWfYF~x%B7rz-X!Hp!rAmB zr4#c(Z;GNcCHu{$cT~!OQEw-um9x;>Ntqy=P4A@4xFp$Mb-c4Oz*+dCDx1i9CN`A1 zb zDQgI4(~;7T`QXnCW#sS4ezWOam4Yki{)&_e&SHN>N*`f1k1Hb(kLPC(rR~amzVIil ztl=!q&)!N&Yf`U%$}FYiDq!$umh#HgwEisRbd#jmAqw8}s#q-!)1rXW{or%Iuqx^<2DI zS;SfReVQ_i41S-f4Brg?fZt~-=iNg4Ia9fSv*_nc9;I(fzm;k&ErZhXW`G^ zlqFqBd@jCNY2_^ZS*}dIjqex#J-l3*dOI-qbGdTo9h|ZL<;uS}i+(Ow9weMiU#|2+ zJoeL~ly)cj?EVquHel3iRqo_0^jeks2(x)y>BD?Dk5?;=cT&AJr5_meRw$b|3%wOe z?OpkJU^b5{ZJdQa?aCNg&&3@|;oYF0ua}8$R!WfJ{A87JWbh}eOk2t0v3^#OIE(sO z#Uh+dXO&`zM}KZp8j<08-=VAoM!h?g9+F>{x>H$0n9bu#Kjwo!cPqvJqW=6#X#hsO zdzB8(Vt@B41@};Y?p2C83xDoY8p(Pteo*Nm>zR0svKATqS*ujv3-!UDwMsoO)?ce! z$XV21t1Ks+O|MnjF(3MQTp2|Me|nV}J=E_fl{(Hs?@477VK$E|#(l7#yk2$Orwnq2 z_*~qtY$5BJ_ywiqeu#&DURJsvp#8k8EPRmGe_1)6v#9^FvY2o-{j$;k@p!#oQPv?t zKd&j9fYG1VmG4M?S?YD=7s6~FR|;1r{bbW`DwW8f_aEgvVAOkCxq!3S-`mP1gxNf< zv|~Q_{a+>XP|`np-igu+jC$`X6P$(KyGq@fd^|9l$CVDw;{3d?%zHRlXY;tSgtPej z^RY6D41RA^MjwItaDFx_m#pQC^*1V)aTfJADpwI^^SIIl@#y!MGL8)Xe4#jxQN3{` z;4JjUl_J7y9#>{VJnDU|Y(fUTP0HNIsorL#iL=n#tZX98=5fXNH}nVRaf{N=8RFSI zu8flPO#F+oq!;4BpWl=vPXL2IzbU^yN$dZnZ1+^2Mg8BD9SO5}TnRXX|Jn3*>QZFr zX9u+t82z54K1K4&Qj^pd2(x)y9m0G#KU37DeaU{=Jg%+>M!lWX!l&u}c2b)Ovw2)y z$yuDAoz<#mlK5P#stugQ`7zWj$l#BoZh02!gFlXX&2yZwzN22pS@`3qw-9FYxVj4B z@p^me1Ty#&sKw7yy+}Qpv(SswKNDv2xVi-5QE!Gifed=Ps*7HrdPQm%XQ5Z5D(mv= zz-%5@XLA<*?4gd3^<11*3tr@Uyj~{WTWvuGe`cvIFTpzaGfNHE)B3a2T{w&Sv(!Ba zvw2)Cg?Q{|KeY`R`q^LY1xCN;s85mnveX>)1;T6|SBEek&d-5r(<`t)&^uV|0Y<$t zb)2)Y)97OBPmN!D|5jatcB_;a#4fDHbest&xx_mB6R zovNNTMEf~aJ(IKO=T!AP!rAnxY74|;Kc}ff$k5LjYU;mK?@VMvW@OMiN9_bgf6i4mko>aLxoXurN&jpfR~tABf6h~9{4ZJ0#TTgMoP|G)>N;fb zr%7Em%=eG}G^r=PNBe0~PvI>3X;RN5oJ}{WO%RX$ELTU6p`T{8_0n9;J^s&*1)^SIi_S@?6cTANGabMXqbjkECQ zI<@cvzF++R#f@s=hrsapx>5bt2xqK+qk11_(a(+Q!-TWx8`X6XkNw=N8XqP4?D>Q0 zJYdwzs)utHdRg^o!fYN_YcL=F{@kYaBZEJ8sKdahcc&VBoUbSJ?o?X{vw2+Y;Vk^Q zTdn>iiOUKTR=18qKj6=5^}3CmvHoiHM$V%CYV|h4?0Mnp8i+@K z)~Kn^Ko9zPM4btYdTZ5vISakD>Kwvs9#<dH zBh2P;wS%+pr%#>tc@od&adio2;m-@|C^Go-vO4+&^aK99tX?wC8SB5SUdCDU^Rjvs zVK$GeT@a7{yrPaHLqD&n&R10Lb=BuA^j=qYBh2P;bvDGK-kWMCGU)wBT?35!dt2Q? z^2<_ht2JLI{j+&oZRRZe`L8e5?*5LqDTx!FN<|qdJAN(A%iWgxNf<&VYE-8&g}5LGKH- z3mE+wSI0?yS!!Hex+UqK&Esl2XW`G+YUTIIdM@6q)^Qg8e6OZ{;QPhDKR>C#kHBz# zep27s${Fkbq`t#h^z)PY0pV==Cv_9VV?V#B^L|S7+5Oz=Qef2kO|9cB^nOzt3A1@z zZN+@}d~K(tex`amXnO&p-Xv{b&O&dJHis~q$F&N~2fZnp@e9@4QR@aqy`8j8oQ2*_ zTHQoG9+=JJS_fz0_s&|?ugN-_$F&B|!f!(>*p}2|-;ZlEegg)-9qpaeWTr3Pzu{=_ zaTfI*?PJ1h9@n-&Jo@cv<=gRmem%44K&u1Bej=@bv(SsQCc%NS3hNr);I+i{GOxjvm>oPM~gX&`g62{2(x)ytAu#; z`#`M=89uKEYwLm0pEB(=lF#l}(cUJ^z8}{{F(3T-y;dK(2v<}CJi zxONs{cE5_&g!!QN2d!c!s&}L|1dMt|X$6J(b)k2Z)C4R8`RkXE) z+5IZoFlXVwjl{M@D$JJg>$wPF_-{JB$m&f|>r@6=x8Ec&@qdz~*RO3Q`Rsj#TB<17FS~zSQ#iwZv+3ux zW@OM?r~MBY^W603YCz`P*_2*M< zHfN#tsn$uD-9N7NK|J@TI{r*6Oeg*3;xDxl&f+|NtyLgHKby5NWawwJHhC{vf3r4? zv#7sW(+IQg$F(Ae$Lq62Ye0s6e$cvs(Vwl_AjvOFZPiL=Ci~5%w`v*A;`;oo^^x^l zyiFS+>zQ~vyVrR#ei$&;kMuuq7WE_jkA&Ggu4gbG`kA3m zjcGr->a&4SuSj3QS?Cq%LxkBpu5ZPB=w}bTdOzAvT5sem`q^9WLWX{3>5FF5erD+x z0%QGI`ZCU<{w)1+!tDETy#w>1pZ)YvWH`V3>&pIIANA(w24|r+M-K?Id0d|f@%VW- zP+y4*dI#%+z^GTIrw&N^W%IaRN0`mydIx9mdHB7)iLA5l$8}>4^q=2Gb&Ip;XTBa0X5WwNB@mDORO-#h(9Z&W6)^TwrLQ6RWvME?moWQ& zTwjm*;PsruAIfWepg#R)gcdgtn!3A1@zFE|47!SD0* z@*}C<`TCu}sCR+>FU~^m0{ub4Y#!J9F(35)rneqN^)AwPp3fQeF4k4fLhoYTCCuh= zeI~?XznADMk>NaCst*FA-er2~=)AtryG*Ym%zn?QcW@Tx;qUq;vd(_bsT-BBU--OS zt-AN@*iVPPhUBw( zT<;~!=5c*J=7Zli>5CS?{z0!(?*vA@TlMvv#r|&9%a2L?%BFACYdH&ly7YBqo&BCu zA0zAR_ndlRRZ@@ro>O0s4F24!Zv@8r_v&A87WMDdHxp*_xL)ul(1U*N)2or8p9l12 zVAOk1&v6!d59*&1X7jkd74t#wA-(g@$$r`M2ldMTg}9`-lO^iVfK4Yea6CM zf7S70`T%E$XTRsvH<9&B+^5$am(*jw=hW*K0fRsNdg1Z3e!spiXHmajpF^0<<9Y?e z#`fSc{y|d}{dM`5Qy{gZxq5B)qYdH(O z0ezS-o5%GDi0AvOj^EH1otV_m#c%0NoWq{=51WgxUQndMDrI@6KVR#ckinnL`p{zP&t|=9 z31_UoS+C|S{MoG65N7kZz7*o|{A|%@oCbQ(&kuS#FzRj9*KihkTXo~~WWQ`4*XME; z{rs%Al65wZ>#N8*o5ziH$k5LuW62q`pGn5$z*v8h@ej_T{v_iX!fYNlx-lQF_Y`9U z8T#4Lm|9Ey*~uv8EcA9VItjCR+~|XNJij{|g=Z%HvhT-@63*iK7)Av$^y3&~$ng1Q z-wvHc>pRAdoJD=dPzkf|$BiP0$Lr%68D!`uFdBi;pUCJW`Rx92V}dZ7$Bh|hgTHxy zs^b|(9cQSYi;Ij7vYv^5XRJboe)cjdmqI@DvzM_H80+t4+|60^vzPGz;cR*@qYv}p z`s{72I|uZjpM8xDf2ID+GG?BeXQ4OCSV@@8xp2jk2;_-SPVe}(|KNZFoz^FIh_=@D0rRE#o6K38Wla~AdMjK>LQ({;vr%!hvJ z4d-IegMJ!}a$wZE(5U4s^e!~&2xrq58qJswdX2{H=jU4Ecwp@3TH_?nqW-nU>4dZCYmG+C2Y;?J)+2-8HyB%hQSU~> z`A4$9veb>n48rVw6{CbR>^Gaf*_d}F><{#AF^pEusFyXWIE(#djbXygu^Mk{CG&q|{g8T{!n+OLNC;7^aS1{mx282{re>h~BQ63(W3j7^vi{@iaY zx`y_%%4oQj_Ose(lwv8r_`5{+={~8xno?{kSoYGw8AV$Bizs&hA$+`pG)G zf7}>F2ESi6x;vmg`2Di+3^4Zdvhh4;QU7J*Rl@9k6=MVDgWst*5%MiDajGh(bm27gA3kAboNh_R8g=x4 z^PRB`80&v$Y~PjWm8HHjrV-AjzcT{P;{1MZ%)X8G^P|xPjCwyAYdDL3eliMgPxRUS zDn^A3>zR0avlAKmnQR7kKz-rVEUiwn&qoQ0pV*@O)Bbu+k=*4NEaV63m38P1}{J2A`e=8Sr-xrDRObIl>b*|ckJg?Kz4zFD!7_A}jF%31WYtJ#7K{p?{D z{fqXqhglAc_4hDqIg9#xn017+={?M5%!hu8P3KM!lJ4K~J*3veZnofp9iG z)9mCd&c{CH7+KH7u~~Q@=)>oCf3pY~`Z>^ChYaWAK=Wf@tbd@nk+bOMK=W(D+4O;C z>i$GOn?BfVM272AX08NAz2BSbI19bso3kHC`eV;SF&A+b{Tyocko8>r2Xla|XW|NT z6dC%dG+S1|exRR9b0sj=uQbqr#?*kIoaF;80(*Gra6oH zCz~;0_Wm2Q9P^={Q_Q)K(0)!emjI*QY35qaLhm$l?xV?mv+2{!8qVVSoMAd^ll5GD zwpq$q^z&D902%tJH^&~M{nVSc|C=+`uQ%`FEb7;r_Y-FCzcKqD9_Nh)Q|SdgxIPz} zmB6UiXr9Yi=rx*uBh21^W42;G__NF$M+Utn^UqJv{Vg{aau#~a&65ac)62~|h{ydk zn?1;&ce%M9828s=7CxER7kVvbBjIei#q8oN{Jz4hcq)m{#aEk4ISaq9F~^a?@9WI* zKJW)V57(Lhc!u_Kop}{!QU5ygI>PMzH|9!+$9`@wN06bP8_geqv7ejGpGkgM>SlBM zXOsQ1`Pno$!+zQQ-ewyz=w;1bVAQ+K947f?soTubeyVqync*z_xx-vT)^qXQ<`7xW z#P^uv$l%ZYX4`YrpZm@GfwBJm=4#HupZm?n31`#yo9i(j&d(~d;Cax4epZ_SFzT%_ zOF0X@HD)*AYy@j}vXE`Hpc%UN9SC(J5j=;vv36Ea-yr%h=c-w)P* z+SE9U`cIo4VfOwTb0);&^?uf@MTUN!Gn;`??*(%m$uCR2V3xd?>^GZ!!K~&iuFs2R z>ZN2o7r$Z_aTfgym@AQ?pFwlw%Y6U%{qUe!_6qH1&^(m0=x5M8iZFZsjadWn*w0($ z5Hj>LWc~(>{k&st|7x?P~D_+xVeS_dj@{ki!bFxLOv%yAa}d~SY9 zn7#kT+=}^de!n!EUr+S2>95QoVAT7@+{#(#ePgEHp#6MfDx8Hs-;Lmqv$(vjs z^}aW&I19b+&9#KH>F>>9i09X@I{wit9!%=x;$O^4&f@%RGnXKPKigXc|ABtMpY5$8 zV64BrRl!-*-`=Vs%-(-vWiTK7DX_}l0zK$wvXy$9_A}Kg;Vkr~THS=%`){mu5Rd&# zvt|s@ek7}$v*<^)YLTHI(<=He?Z>nZ1IB(#>j=)GzG*EW%-(-vWiTK5v8^@8(2r|v z07gCE8X@^*Dc>3+%-(-vZN+@h3$40$s6W%KE@0H##Twu&_P2{w`oE-q_C880!&!VD zcC-4(I(z?(HA2?e`){m*;iO*ulzpszWVqh@SRVjm{e7&DIg9%HSYHrk@4vAoFdzCU zu`1t9^t0*MY6M2T*;W&0p*P!VA?;vXtXQ6kH)km1U zkJ1{!{JdUuTxylPpZJ%H=ULU9#rZkhT8a$k=SZt?1Jnn9j(C(hkk0TUS#O!Bx@8H^)goV zNV31ORK}_y%-(-vE#(aRW%plO!N;&a&|6~leZm>_PPfK6i~XH$)s80m?EUao8)xB9 ztu;p0bMaEE@Keyw?>`ftYn32_Kj&NH$Z);Sx2A2R_0P8?&Z7SLmPMF7PtYocc>MSC z0;>@j`uUr+5*Yir$oiV(m!&SUejuDpUt~@FEZHx+-@~dJ0|vcItdh^^{w}qeIg9;W zY88BuUk7IIhqsD33x6)NM#*|E{)aX7%cNc=ZnZj*!Jjs3?KrH1KW)}qz}Qcl^$urI zzs>r9Fnj-vwF&d#{H(C%eFb{ZPrJ1g81=5V?&d7?uD2c_%-(-v^c5BAB`FvpZK1!>c zv+%py>L%;Cc%`+DtY_kTtubWq`vGg^X4nt-{ebm6FxG#-dWo~B|A6%dVfK7)YXtMb zp9igy@2EcySvA0@_po&jXQB77wVE)yAH?d%e9(K;+OUP{J!Tm{a7MjgFl~HOMj#Od~S7d7J8psg{dk3|9r4{+$!NL{Q1&qBkQ^N8*2?&&%~RpA!P99 z2djO%yqk-bP{twoZgtO@%tO3l2ezsb{_Miv-{A^VKquzwIl(W#A zuo?)n_fc9cm=Ai}tO;b$OWBP(aDCL<-tOZp^tQK)3#dQa+m)P!KLz$yvYv~l+QB5) zZ@yk8-pTGl27hF`Ycj0E`H}7Yr_%beeIRF1U$ze=oK4GiHN@k;hpN328T!%fL1661 zw6~D_vXp605N7kZUASYiU-o^r-G~f&t~~^ddcIvSEgvuT=i3d0**tD{au)uC_7<|9 zi+8b|osxQ)xX3O=27ij}t;pa{v27Jne~N97v#4Ke?@BnEF1BYwJo=NiTacljnf4lB z>}MbQQIcPl+Q)v1Fq_Bi0nCTik-Uf{IkGHpXl6vfYl=d{j zY#z4*&Z3_hdnq#bbCTT&jCvV6OY+$~Zr@Fq&Exi3%m=?0+l~wS2fZbB2{7uNZf7_P ze@?dt3A1_J-h%mgz3RBuuJV$8*gS4GaEAS}dED+q27k`Ct9_^s{+w^u17rR3?F%`J z`sdrr3A1_JZpVD+=K^~K8T$E~T^MkE)Vs)*ISajuY@0Bf$L(T>$It7gv_b}2IW(`FmfsXuLY42<>L z>;pK9e%kCq2(x+IuEKoqXNBF34E?m*1Hh<+Td=5f0h8T`rF4YMF0{K?tZ17rQ1 zeG_LU6F5NF*AN1KgZf7`)zh__CePo@@(a)xTwi|&_Z^CZkEc7Pq7Q$>Ew>vN& z^tRcf$ly=PQ4ZkxsJFdS!dd8T?{pAm-;X=J5RZR<3Y@8P693pd?#$#Y{{HOblq19W zk)2Uw@JDtE=F^B%;s^Y8shQaFV!hOkou!Lse`DV>CEOV^h~FNFq_An zUWmtjY-iEIv>)GT;w<`!oK48k&#ul;Db$C4c6F)_q4jrl{>)j_-_<#RFnhkYvlQa7 zpCYH=_n-&YXAfr)FkYWxr;D@DD|U=|$$r^9?#$&Z&TrZoCF{9(A7|>Jpr1bvnRu4d ziVXei@3bBU>(I~sPEk2$tiQi=8D~*{f9EQ~?D^hK7sO*fbDXJ1fFAU7ptI;ms&}w+ zF=wH7u=97q?EVs`1L9Gy%o#%lz27?}6;$s~C&O9j9qMc#%;s??brkF;-+y&{xKqO! z;&btlPBU50#Pgk%$l%WcCo>=N!Jh@ra$xjlfpa-$QGbDRHQ{V}fzyTg@Oi9q#*v|) zV;$#c+E2Ap%30`DJLQDg`{A8xh(~`GI^~tHKhRs`tOv&Z9q){B7JA1!m4D2~1G9PD zspBlpPmR-0)^l;j871qP_*7>C8T>iJ=~_VjIm3Ap80(+mJi}SkKf`&6F#ElvGmQD* z&zVl~F|?nvooZmzJI86^EcDKCwh(6Thj*MR$cO8FuG7F7;&bu&PA6H<#1}e!$k5L+ zr}0m;pJmQXz*v8ob1P?2f0=U^;cR-DvljEApC+f^SlZ8Wrvw=Fnw{C4gfPd0 za~A#F;`9<`_m?;uAfA67s^hFPb5T-17vJGjafW)C_%5dw8Tz@$nfe!~5B=QZ6a!=Z zdz_Owi~9FCXAsV&?{OM2AFfZ2Q*=D-=YD4Z81+^;pS*M1x(0kSyCY((_>r6mAUZ3ZjMJFfy=HeHfCeGsetarMR;ra|X zH5u3s^fTZr1IGFT&T`J8{(y4@VfKBt(~0@e&l}DdGW0X(7^l#F-g0ctLhmhSI$`!c zN~Z+k@$c`DGmH#+?>GgEsotKqG<{(R~zYPNF{eID@!+h}PGp8RJ`uW@$2S&Xwouf`m_E(nr z()kl%_C88y31`?ZyT8O~sD=H3-ZxJBS)5VtTc_Y`s`staPME!q(pk${d>+1YhLk;)=Bzu9GuGectmiEJ+2#xqX78hPMj#%qcgiiP zPxRS*?A8FIUV(cuXQ5Z%oPyr=GI&Y_2K&M<}L%q`n$QyIg9$c zxmOTo?}v9gF(3Nb-5o;)e}3m0f8+Y7x2J1!7J7TS(+RWp!@DIAkLO`8cNiJ;_I3*z zsouVBBWIzvuUl|Y(tkF+uUpJnobOp~<+5Zw7w_-ZaTfl}b!#u?`uO~tQg^Hg82l-9 z=U&Pg`zduxIg9$GZaHE0et5SU;<2AY+?B}C&pdY!81)Ww-zNEGsl(j&3A5izy5pD+ zewVu)&B=bV=_A}{fKji)eV((}UxoWB;cU9X-GKR^H{W$Gqk5I@zQCxrz}=6t&|Bah zOqk8%ZYAb}UX|O54E-MKb_1hcwY!Prm!+!RhRgHyL7&azZYO7P{T8~_e^1tP@$qgW zXL0>bbf>l?`>&sJid*y#V7Pv#xbI!T8S9_oe!yAubBeo>a5jC4yA|T``km@lT$$*z z`?=i)VAMOq{TpYYcZPc@VK$Gu?U)b#oaxSOrFv((i-A$^9QSn2Lhl^+uY}n=?lxmS z=$-5KA%oxNxkJFHcfPxYz+cNbliuP^*Q-)-V7{Jy{)AnUpKB6ky6&%{mc)T@*I z*H3A7dyv8JX7?pvtl#Xu%31W&?7l^q&ExJU=0iW1yR-k9=(GE|-3&15UEwx!7J65> zqlDQ!?oMrk{JdUu-0Cjk4DoCpcbmvMo5$S_HkGnmb#r4U$)$K_{LT{BD5N7kZI}_qjZ?)Tw40>za9$?(xBknNCFH1e*R@|8MpG`mFF6AuzS?jJR z>$$ks9VhFV_$gPp3H$(mo^=P1;d(#oegTa2pLM_HEc$uY{edu>$K9zngC1P(=iEie z(9a8Q3oz=v=w8WL=)LG(OE{Z;(e1{3(0kb}=uGyTO~2v>z^M0{Tgh4Iz2^22&Zb{; zM=&2g53jqWwzby2-hw~4bjKO5a)vYv~-a3{!mCjQEuaU1vn{(S3hKn8!lb$woJyoJBw1xwXj9&-ZQzFzWs2-c0h#Qa`$P5YDE5bk|@$`2CY>+>z`zoBqX} z35*4zc_;LkMg z^p%{k{xt6_&Z7P_ubwcQ$GsMa$G;ba-VieQBYCNRQ9Z>g;4JhMuaGdC$GrgJQBU() zkwMS!-UG({S>6XEzbs{W8ws;{+}n!z;J4$|-2?rCp63k$qh8>p?#-`@{RLhfVfK7) zuY^<2EGXY_zR_`SO~7a9EC)7yd!e(&jN_fdcL^eoPz{+?b$n9bu}3B;p6 zdwI>s(9ho9Dq!qqUvCY`FH7y~^%7?DxVIkj!Jk>)y!)v?`+42KsJFj2$XV=fe{bFc ziC^sdac>D{;m;hepRDKNgS}C*o{10frmjlr)lWIhTZat(9OiutjP(!mHgXpA5A(hz z%;s?~^&sd$KjmH(GWc_Z*944u6<#xEp;zIx5@z$b*NOR{H{VlMC;Mf;uk`AGQE!3Q z%~|Lz@RWzBKMTCsoP|GCUOQRO#ns+gvYv^L^M;Y({G8x*tbzLA&k5cmz*zqT?{Ute z{t4bQgtO@ryg|%|eopjeJWTsJ*{cLby;HnnI19Z~yyFP7dEBeTe9$}98$brXPxD5B zQSS_I#v_RzWvMf~9>Q!M_Xao%f6nw~Kbpkn;&Z%3oMAl^*LkhT;7@~>SxfzC@RkE( z{RZ!H&Z3_N?`p!?bc5H0`OwdW-Z(P!)95*maedTV<^`OE-ZHOA#_0&};E(fpLFVc%7Vu-W8tFn~w)( z^SC#cv+%ps>mciF9`}05I-AG64ang44PNIHP#@0Y4c_CxSpNp^NzS7F4c_yF**xwI zVLteMqgV7K?dN8%3K;cn@v1osy<5B*!fYP*mSR5WWxY{k@aHy9d5Y_!-W}dN&O+}F zua9sxeTO#!@!ap~_)f31FYzxI|I5p87U!|YYe5EoR(bQDrv9w*P6EdItGvaWMg3LY zS%ldjwQ?5w>-AFoRIk@7;w;Y3lina%&&AJpTgZAQe$H!nE~!^PXDi-|s)$GsK6sP~$8J!hf!ns+N(~)-u5!owLyU!uu;>_C9*A8RGH!jeGOnqH#Nq$)>@ZTrQ=5c=< z^Fc528{eUR&+vPJQEyj&jI-F^uKuF`CH=GeRs1H-;`|i(!(=@d7yA=rJrnQc&lpbX z)lb>i-+&C~XJ7wkV64Bdzm2n~zpp>}U0Q!%-{B1P+4BPZT4eBNKfePQ_4fB~Ci!Kl z{rx)#vw7TKgZbdk9N%~^*)MzEi9Zt<^$zxHIE(!q><#qk!y=s4gizib}&=W!POoav8{bvBRt1*5Rv{Pke-xZj8j{WSPB zpVEFB{NatXp9Ww4EU8zPYVd8sY##TEIYWK+yg z_FFj%y>5Ri;cU9w559wZxITCJOF4^v?(y5ndM3Wl??Hxs9`q}=KtA;Ipnp0r)_>4H zi?gWzpkGgzJ#X7@!F>4p@{m7-4Ageq`w9Z9nr9><9XJ z+g}ch_22d{=Pc^K?O#opJ>Spo!hEX``q}7Do1pbK`VwbRf1_^^X3zKYiyKLU*XjQh&3$^O{;DE(%_?0uB}O3vc?eC?;UCGqTilztIs(a-mO1v2#W zlV9)~-#zXxa0&rkk7gxT}`{CSuU*XI|%9U1!h)$apFz2E$Pl3$kk z&0kNLy^qo##(dD*E|`~^%Fg3U_`by*f_7lkn-uhO7W57%1@-U7z@TJR2MQC|x_Ae>EW!6wXyevDw=4zwRD zSPG1KPEf~L=s7_nVfMW3pcV5$&kKf;!S5g_DB$|27X?L}gl7nViM>`CU+s4F2pDj3R?Sdj$oPY5l!|V$P!eUO@?A_Pp(29>nA4Vei11 zO8wb4DBh9k%?g%s7J9RSQNnC~4yI0n{JcNa@qWQt&JfR@w;c?V^-O$FuxO{G9(&$) zu&59i`Z*-{c4u1ukl=gHqW&SluY}q2wgW{<>SxpQf=Xn#K8FQMfbsg22d$iiUU|?? zm_2Vh=*E1w-bVyOaxHC>HJKtY9BttbbMz za~Ac_3JxNiO`jE1Vm|b;2bYJuvFk1p_3%EL9f_5oXWZ4n{E_^y&llixl$r zuOV0hjCvOaS8^8nyD+$xFq@x)Zp;V0#-PBZddq^Pz^K<0v~d=CO~EF@?0MUP;U#`n z$IF8yoFP6JUmmoQ^-TPapc@(dzABjKQ@^hYP6EdIR|ShXi~3guXA#b(uL_zlANu)c zFn|nxUlVKvM!jo;(jZ??=v^DECCr|;9Sn08=jXbhB~0RT@r^+bXYu#1GboN=|IklY zP&}RX(-k~7gEQ9e3SQ(a>URaN6V9f)f)R+vzkjy}CA%d0Y(5TZfKl(RAj4Vc-4)al z&Zh4Q8ZjUISsAQF27m4e27pnoCzv4lWvQN^ao2o(&}Yxv4!SrCf9?;qlJ#7?ItX@y z{pRas;)jEI$l%Xo!2~k=y?89}il{%21rcY_&tt(JgtO_#g1Hcn{`@;=MTUN!2-X5) zKTieQNPb!BsbKQ%w4bK}hcooUo);Jxzk~gQ-m}3#G2P#D!8m8JzvqIgJ*nPvK?7&u z&kMmivYv}y4#voOCVn+YrIUK~Q{D)=k-?ugf@grSpErW%Ig9#l1g{d#rr!uQU_M;$ z!C>ZIi9WlZJ6HsadP6}MXQ4L~Or1&l846}{7X7>v43qU-{9Z6Y)-!P~XxcleS3l*W zplKgq=;x!rEa8mxKMGvVqW(w0E`+n`kAm3{kJtN?U>!1CpHG8=Syb<{U@B*!_gSD2 z&Za*LWygWi`x7clPct6+fSm!-Z6O5=Pz&}a912N}-7pKpRbvYv~-3r5I# zCjKEP*bn^3*Q=lMbI^|r{`?$#0F3p24nF2A`uREdf-w8NWH5pGaJ?sj%GrrNyPrE~ z1V+77*u+`rrNS1%*>o!Gz63;KlZ%su$D9Umx<-D4H^8=!-_f35BQ^prvqa@dUzIRQC|=13A5*Ihb@>7{g~kp zGW27IskyWtH!R>R^xUwJFniv17(hIpA3v-`2E8!s0>=GK564MD_mSZ^GWdOTIJF$=gWpGo&-{Ti);~IYp0lWbboeUaZ2IVM1H_}>e+XXs8ccW+T**qSu#eDFmKAdq3)oTcwfKl(l@D9#G@51n2!fYN7dodsM8pFaWs<$kx21dQ6 zu!XbGYYMjzX7hOH{0Z{&dTbsK8#qHeo5#aWvd-r5un!shzA9`y7V^RGtHPUrvHn%z zt(-;utHQeovw1vRi}}#cKf{7Q(|)cAOMp@D+HgP4Lhst}V8U!34=XVr^sWonAj9>$ zAzTlPdN+n!Nj`i3O;}rM23Fu30DH6UQf85P@DYSC(*URcOk=)D&jgtO`Q!Xk)Ay$xXlGU$B}b_1i|BjHMtUzQpPR}p6Sdxw3P4}O0f z7M=?Ig5GF27Z~+6hE1Hs{x*hN2($0ULuU!(=k==Nv2Yz{h-dG=3CGBKCjKU@JuRtM zKjpiy_Hv(Wo3oLZOYv+u{lnViLW+%6g> z>$!MRG(pzc|5c)<^OAb?QwpP|dSLLUFftox{lduQEb13VyAaN%3!~W(kN!we7c%&x zMB~8dj~4B5L9+j{lostnn0-GU&EqWmF`}xAlKry#N1`Pc)BQP74`;DICz{ce=(F#~ zqjJu|A1~TO)^l+b8JB=Qd|r2nI*{}Gub;Ae)Uh1a!Jpluy_;$M-J@BYMg85Q0|{r- zyGNA}kN*5FT8j++>=_kYM)mfJia86ty`mDr?ECR(9>k;G-cdg?=$k5MWQ3o)dpYo`ez&qkh8d`|)TH^WpE$5z)%l zWWVhD@u>7Fy1)5RGiR~C`O!FG_WgLITn+i)Pi54{S@=^GjgWQr{dko5XHu_z%5hPq z4H*16F8b*jTK~A{SI(mTanYm|`E}vXagoDW`16;j78(3GA?g4|e@=`#Nq$-C#HgDv zo5!Oym=FG(9E~G`-YHSRwRC@{MirdJ{!We75@zqCjD{hepU3L>w5X*$**|+9Wz@qN z_MeHDM#a~0ef&LdT~vHMF!)m!J$D1GUl+Z|S=6tKUMI}v@n{6%@$*n0m2@Qf?EaCc z1{nRhFv@TidKX5ugxNeEHDW&a(->_+27i`C!Hsl(O;IIhq1P1k5oYsvGy?JH&+@4B zrhGocvw1wqa2EdjBWgj;*Q=j$RW$Er=m-3{Dmn=m`?)Gw%vsdGDmsfWo5!Oj%!hvd z8TBGVKi5QW0;Arw(c2`yEOl-4K4CVGN8^|ede=pzoz(9eqFP|oyD{qIEcSO}H1(FG ze>RUtGdV;5)$z?yD_Ljrc(jVFvw1ukLo~*NZJetc{oS%P3y~yCtQ&I07P#@0EQ_-L9#_v#9@7R7RM6KOR*ah_quzJXAjxO% zql|_Lvw1uk!+h}P`>5z4*dOTq7?lE}-cQj|&SHN*MPr27JRTLUN&2sje~D^2Lp*yQ zWzS?Co`FCon4@#*s*9{rZ4ryiyLDASvOaevzMQO-h7oBsc}I{Wy#rmT;j zYBZTPh{}+m)ARmv&s)+XG{~*cRD&8pR1n&)l(UJ zDk_lIa~6Mp_LJM6&g84jmgU^Fz_5N~`OtNoF~2NN=PdHe^3jCZ^KrQb{IMTZE`Khg z&(1rM*8-!SDGzWKdZxUEFx!vIBNz|!w&lidsuz=Uo~QMB^5L9?o+lqgnC-{q8t}*Z z0@-J`e)D^zcaynwUNn<8%^%=Y7QP7lPV>tpY$$X%SlpY6xxO~lUj<8t+@nSAVh z6}fr?FwA?J{KIQB|1|k0&LaOb`8UFBKQ8C>X7VT9GC6?^>+x{885rkXF1K(Ndgby; z!fZb-w_`la`v`dy8T2Y-<8@l!QSv;_LhmSfGhwzLm$Tl;)K?YFk~=wz`BcjN#Lo8P za@CvQ5BKXya@9s)n9oV_w{Ow>C&@o>7Wq$-e<94CkIT7lXYwcAljRCz=;u^90gUrG zO}?A6&^t|jfH2#S%Uu``^EpFqcsElod!Jiw=%@9~kq0>oy*cu{_tSP@wjY<9Ig9)C zEV=cAjGgVr_bugiWYD`z_EWUJdiiY5qP}|h z0>W%RE;oQb)_0}c@+tHSdJS^h=Tz?+Id==K?;5#*F#A5d+{RhVyHQ^IMaG|fA6_2d zEarWq-1B87Uv2g+vNH$_^S(ts^=r;JpIhWJIE#L6kABt9-B<%NXV_u=IRjED7o zkKBz6diTlwz^He>oHdlGCobJDHxN#`_seaZ#k?PsrEfF-spw(Z;4J37TCPA&=c~0FD<*XgFpReU2VALCui#ZFuA-R+=dw*P> zh4G;Go!o;A^B$Imfl+Upto)YFC-k<-ErgTqHo1$lxL-%)yqy{UR5U6Va~AjOuW~gq z%;$GG|93i{-{lAx^Zza%$XVq7U7kjmJs+1VF&_FEqpU@Se#RpWT!##GZ=w zRC0FV_3?a(C|~iBVLk=QATq3<0%hD-+E0Npp0ntuK$%FGJs(#L@W+1kRTd*dKa-SJ zVC-kI@*s(iOOusH3A6Xdm2QlOc`J&N1@(iTrj!7qo}pB87WElQFX5zXC_@;Z)~kvv zrF7S{9{8ssS4nUd>nBj^kYPSkl!9@PALcVfDFMd(QloDS?Enw5;>WAlkQZdk+Zno2PtKL%Ggs;T$#&R^i!scAVWXpO5Oz8 zPr0%omow%sSKi<(@|P>`5@!2xWefP@^*%x=-VOBN`cx!(^V^3r|~)EAe|Rayuq-E);L&SL$Xr%c)_=4JuU;wT zEcEJ?a>8ssu2g|PuE#5t@_nE_&}&dC3#i^T$}-ME?;7Pc!fZdTw1GeBH7biHQN5+g zqRCXRN$KM(^qQ1}oVEie-6o}xvzYfXWtNh$r=pvcMV!UFZ&h;DOupLeJCt$_7}n1n z%032XoX;J~ew;=AI~1KT+m9>7;E(;>sjNbV`P`)p0;67186xp)Kdy`rX8Um^%Y=I1 z`rV_9Sebg+c_+$Fo7Q)~vWt^uQQ!T_c*1NyuCO2EFgx_0bRSd}AVYosP*wtCeGeWc~y+@Ut7_ILyrJA#-?=hv1F#A2HG6Md5epS)qN~fFY zClx)Z^m7*1?`dVO2mPe;)n>0#8hl{5e(RJ2Lz;h`axiC+f1PqTVYVMvs=yzwU$@eR z4E?;I^a101)+_xaJ}#|S1_-m?b1Fj^5A%6haSAi_vhVXKhXSMC24y;DQQrpTXu|CG zoJtMGgI=$)5*g}yL+J!Yy^YFd5+9c~DwRd){GiXyA6FK07Wd2BN*}SOqIZ=MVoyZx zD+NV2X3`)B46m%dO|5oYI)E9*In`D|4t6=(cY z(KkvNXR#i?Q|2P4^VMc=QNPJuxRkjdLx}(Yn#)IB=rRYGY5A=2@6~L&sQ>o)D>f5Od5@zqKE4fo4 zKCM?3N$Nb#;Gc@J)MjE&MA>R5GR$X!x}b#4XM(y681qk1Z{{rWPf%A7X8Uoq9pj;& z-PBQJ=w}brIEd?`-kz$%S?KMl77M!kL1+=J8lLT?|n zkudw7rrOR~te?NAa}UY*r=q{AO`OI0QPhG`mbWhuzn2n>uH=ZzoCA|S>!j= zp9!=5xSDe)#KU|nwHg`vanwd&)N|D)&O*;sTL>pzS8c_3(DT&+WY7!MAAwP?Nc}H~ zk4r`B?}XX=>S|sYtuIn%A%kAAIu{uA4pf(O7WEydW*wG}2Tr;Nst#u{?-I3<*i%ud z+D`0==umYdGR%9r+H^S71M{A)J_L;Ur>m1q$g!+d6_`O`rU`kASg z0i)iLYB^`2cceOtF#DdST7&VRceJ_^8T5`(JAqN}SapcR$E9P{#pQH9$Eqtii}@U< zN;5L{RCJQTU$zefEVXVFiMI-79Ptx@M;JoIzA+J_AN zB-BYWxjyQhsmh#%-kGXRn0?<~EdhVLU+1b_$e?$&It+|@^HjGY({Egwr$&U6?mV@e zGxX2iM_2P^LBF84K+XFbt?vT0jI*fk0=1iP(!D_44F0&ES)`U8o5`Pw7OM%)V&0di zjmR+X%hj?<$PerBa`kjz?B{azOwJ(!E-(;4J2It=e-u)CYRksT)t=jC$9rIaO5edbNcxJ6}cZ;tYCK(GBXP z6Eps)=q9y{vzSkdx(FHOvs|s14f$a{%hj`iG5>OPK4&qXg#CVv`3bh{@ z`dO(;C((ZHR>yJ{dUvZ62($B5)Jfov>v5IZfDC%~sw;u9zE-uH#K)ypwTCeK{ixcH z@lf9bYFRb(3wmwpDqz%mNbTk<>U&64PR`7eojrN%dx6%>Sf%8)uRKN%d~R?0glq1LL8er_@1Y=;s+#I+f1*SykaI^qy54 z3A673sqNs8_t$gkD6yxa7u88MQ18x1((g;WtQI3fKO5A3WLQ5N)NR1n&j$5p&LaN? zbthrAA6N5E%jhTFUbPV2Uu;4JFHCR~2nl=W!PE`9^If_C)lZ+KCMF*`_Wy3*uou+tg*in17pkGiQ;1o4SH9+mEa5 z7!UIqQAd%XpPyCZY}(JL>Tni%qiPXhwjWo^z#so!Y**`%L2rk;92o1{sdkb0xU^F> z&PnG3eYPK0D>#e$Thdk%JKK+I-NerJ<61v5%x8kOcpjb41Z_Dm=AWRg0Ge)5_+99`v(^mUSMT&z@Q_XQ8*J)=8M{$F+X&$NOO~t!P1}-&C}ZR>fJ| z5Bq9$$k5MZt@wP}&t&a*VC-kIb|Pnyf3kKOVfK7nTZHk@kD`qtLqD1}>jK)3p)KMp z^bDq`z6kQe{V-L#^kSNSs&)luk$UVrHvrN`Z-ryeifb1xmp)6=08{4#98!nuC|#ldp@oW zV?12%^R$`<(1U)?*VY1~-a>5?XQ8)HE4`ZbvrtQL7X4hPbrO3jx>)Nc_C!>t4Ix86 z^;+{aw4ZuyH8AF{*Vb?r`Rlc(3A5+pS}(>!KUZp5*V29(v`N6Ica4_dEcC9?HWFsf z$F*UMPwQ1hjoPZlOuy`X6>U9daev>am0g#~$KF@b%9aAd`n^T_=z7kW{}wI9S>(S( z`+_igUqu@Qe_U_3Y86cxeRdwWwip=o?$GKu3%xtE2Ey$5xYmO4FrPcMoExa#U0N|P z>Ls;0&O$G#Z6VB_k83&0ARgv(kJiN*{8Q2W+9qO8L~UC2jhTG4+3i|&Gce4jUHjoC z&X~Vl`-!v2->&^en7u!)<=vdgpLADivyfr^c4%{eQE!cQ4rigaMq5ajy|1D*U_8vH zQyWDFy(cu|7Fu7IR?S)Hb!lq}v-efB0r2P7uPS<4t8Yoii}|e6S~-jL^SqXSEA#{R z!%NyIGR)^CZSn0i|4UjOXOaIUt${Fme_U$;e_TJWXd98CpI5alz&M}Rw1VZC`r^`S zS{-5bzKXVrv$(%s*Glim__O!NwFGC;PoLJ04E^+LYga&j&`-Zsyps0Qua$5X{q$>P zgxUM!S|#{nKObn#$k5LwtqmCa`M1_j;@SJ-TIF4tdfEHq+G5V4p8>6p*i+GFZG_kp z(dSyh-B3UDvsLRyhJLnc+ki3uR_$lbqMxnWPQvVb6)i6bda&NU(h|tf&o^2#FzS7) zb#fMZ-)d_Kv-iifUX0)QNcz7YzSo*oW$I<$%hYo3;f#7eYCdP7_oLQAn7u!)b%8&w z-=DOsd(-jYpNf9b9M0l;@6gJSVLp<+85!my>C$~PzoZ+SMSe;53A6K6^iuH0>%EIU ziVX9~($}_9y>a>`&O&dTUV49~UiSXDp5QF5caGjk?Cg9My`R|G`6~JlGW4^T-uwX1 zhwsDfrLP9YdG4jJ;Vkm+r9VxWov)(zVmw@*KkNR3pa=czqt^kW-e2@~&O+}my3t1a z`HNn`S@g4?-bU=HNY;CaJrQa85Hj>*>FxiZ{aE@2V9amnZ*Ug*E&W}>N!QZ1U_A8W z=*17weq22PjC#I)CugDO>-Q06=d0+Q7!P`(p4(3KiuBS)IHO*qFW@ZnB7J}`J6}bY zRzrMRuPQ3mYdC{{Dk{+%h&>S%T$FX|nw zS8^75N9!92v-4H-VerTM`xt%JnoRywbez73v$(&j^ySDfpK87GaXO!B{Q_XjU#-`2 z7Wu37%LpgkYP}ibVLqqm1IW-%jh@p<`#D|rISakh^Mc)Dy}5cnXQ4M&FMBd=2Trc?>w`7hK@CY*FH)E9t1_H&Wmj|}}>tSf7&-X*%hS?FD&`-GG3C3-3N zqu!tT+e-$>Rq9iau#}5=xYfl-7E9~@W=IYm0q$g9S{Dg=vuvovzX6Py#X2K zvrI32j_1R_r_1zHfN}jS(@*Ct@-NfRCY*Ga>2(;t^O5wwcg=b)GW2t^J_3w-E&3>D zq1U2I-I;omZi}AB8R|{Cx9PKxL2tP}7Z~+c=*vlbTw0-LJx}#k=niMGepc#@#GZ;) z>Fvaxi0;!jBEx(h)SF(Q^LbEz2pID}sITTM`gu@)f-rl(MDM|Pn9o0S=|#|keje8M z0Y<$?^!+#sy+?GNaMFE5FUEM#dsJ^i2EE7h9$?gaT+d&hnMYiDTyG|vbRX9{Ig9!H zQ(y2>#y=H3rMGYv>u0U5yqu}OHoIFdeFYfquWo%?4`-A<})O%TP;VkrC)>jf{=Y{L-7!P_q`W9r++o1mnjC#HL?<77h_3GIh z()EBod!DTqa2D(F4ZR8(^fu}XfKl&ly`99zrMGqCHLCZvUcp(+yHD>V_Eglb_Y->} z`cTj6h54lO)nTT8kL*nDoR{cxDY(K7#Vm#=5rI);s z>7RYSUQYm{-nV)SXVLGsy7VUP_gmfIEav^a-azc^yhFW>*x7l9dM`4}d%NDa5%R;l zx9bl8WB%>>L!3qa?fM$R?7TyLJ;p;nJM_G_Xg@pkQef1Rj55wbPckY9v;DYHjq#wj zi?JLT=AC790HfYGV}QiRrE$irx9NPw8H+fJ`Q#WIiJk4ojbUPE`*9=xolO0;*?Sp% z$S|M1jPHOk|6ay6&Z3{ajO~Qke%#3I13l>H&qf6@^s|p~1~BUV#hAlc=>5ewk1#v$ z(5T0F(A&@GLk7LS8oB@C`A|Z<3p@>M;p?=!4C62 z+L#QC`Hwa<&LaQOhD(_3$Bj~qhklMRnvtQOV~w@IsCS&vP2%IyaYheecHW`UkMW>) zf|2(z)CYPe8V)e(on%yV7WJKE^b=;k=QKt!ekbd{DmvMy8c6Gbe=0i7sN*cwW5QU4 z4D*?5RHx{C<{C?YG5=iSGR`9ZT;m$TY(H)+$M|&qq;U~g`e(oAG|D)O^;2uC zBKB0Y#8^-4iRe;e3o^{-3ZwN4$Per13gZP}%zuUPGG~$h3gZpJY(H)cU_8v{Dx>^M z+RxQS3ozJ2{K|D~xep)BG!p0?y)k zuQcW%!}Y$~SPqPOtBn7U__(yn_>wR?f7}?wc$m+OEjoa2EAF zVDu1X=c^cl;E#Xr+l=xbGxevUc4HoAs6P=sYBVFm`gz=_7=ipSpT~`}fieH%#(d5q z|Kmn2VYVMP8ZjRF`KK|24D)%?DEW!@^ORA_S?E1wloMv>j~i9skNy*?!#U0DtV~4Pyr~^s~`$c2K>yjai(9-rGhMVRrtwF&F$% zug|FZ4eA5Eca2TJSYN;KD`%nCZ;aiU_6KIq$Blf>Vts#LbRdJ?CL`x}THn8o63#;J z-$oZ<_I%vf1pc@l2aIBA{2%$)^Kqk^vzYhiMm;jjd#h10Chflg|NDNcF&h~B*=n4^ zS>)epoJpAN$Bo4pzw?pw-}|qO0c7as8^hU!>!aSchR<2(eQOjGX3xisa`4A_e{W=s zh5A762csMq^?o##a~66(8U`u^(dKF=5WURl6ehhkzX>G5oY^wa~1ewKf9Pi$k0!gS@0*SH_j~OEcC{i<%HSu zakC2iQ7^|V9}o3`-gvVY80*V5Cr(J)gv4B;aW2)%Gplx^^-VNe zI19arX7278eRjTzS;Se)JKtPM?Cg9Mvzyox(SGI-GR#{xd-j0*FmKuX3>f>7%`Z8N z{IdBSVYVMPr96m-^{ASa$S@z>tOrIt(`?`@^h~pfFgstxT#50ZXPf=Vpcga00Y*K~ z{GP8r_x@(yUKu+( zU&Sou40d+DirIq<^PXmI&WCzn-qXw#dvnJ8)6Ba$i~Q5f2MDwMxY-5%xE{;QtbITa z`Z?Sz0!F=ZvzW8cD>q9Cv)^-?voId!eT3PA40;vjFfi&JWhM$T{l=xE%z1>_?>Wsn z&SHJfGK==5_5IE4*^l;HX-bo*UZq)2n7yxJwsIEpKHkjvYsNnn%{G0`V%{g4HOMgU z)6C+@kRRrKnt41h_H&v!o3ohDY3AvK+4(BwB8-RmoMEm?0pq;BWE%1I&+=|{lL8I%~l;4=3Q@IWOBy* z_2wm8wUG?=*-)w{;b<1F;9F$)N@_f<>>{86vbY()mW zrRGLptgp#D)=ujSy(aS{!tD2)<~+{OKYQM8R>YuR&}%jokJfjySo#r0cZwh?gLfX$i%mgs%J#02|7J3hx z&4k(SIn7lV4|l?f`#2Z}xjmvpP!0gFpK{ zr&-Tgtna7IR%DpZIbXI=)3`PZ3Oau)g5nM(i)F#A2HSqc8QeqJ{FkU_7&c7J3`Z&4k(e<7U=@&|kW~ zs;JjYa2E5~Xf_f%`#z`Hjtuj8&zw7z&gVVz8ep8yd*)KkBL92l&4k(cDrPIj!+hR1 zhmoP556wv>w4aYmg|pE6$aDy^_s7i=@W=UlY&Ic-UdrqO#`-=nvkpq@3%yUwCc^Cf zakGQ7xW7I%=N+8!Peost&78&h88jyy0`q|R44EaRz_5OX%Hcia0!F=2 z^IFbAZ`8bzFnfR8T!rzVx83v)qk20`>2TWbPE+A5^mdvpgxUM!W*7M5{VG{m)6?7eWSSPOtr&$Ze)i~3y4I5IOY_Wrn4!CB15w>pWPy+3aC6MG`s-^w~Fldm>= zsx^QN^O5A!+H%9@p_H|ZW`O#?=~>DFPKMSat)BMGzj$E_NS2fZ2ADrBf{rqu(CdPiC# zBt9-3Y0W)`_IsqaSyXlo0xr=nx6oWDW6>3oUkc*{pl=c~=0Z4DyByk}eEj^+NC zf3`KAv*>5GHIXoTf7~*_AJ=2GwHO)tImK!PM!g!Vjl{F}$E^;+?Dw2jH^#$!PPcL^ z>AVwG2{7uNX*F>c^_^)+$I+BObWB!HKe9j{OLaUZA+mBm~;E(gU&{~fS^SQ|S5E%6?wmv5Dap_{~bHYjYVrvBB zVLq2wjkBRX(7V*?0Y<&ct=&&b+eLksTYD2`zvr|Z&fVg|&SKuzT3d)c6N$)0?zRRAv)^-Cxu<9PuZmV#YdM2|Dr&U`h&>TKXw{sN$yb~GuvL=)hWR{f z{q%RvnEzqx7tSL8!`7HH({^CCAGh*3i|hS}wH6urdDJSHL-iiBCUF*ek68v`wjZ~O z!5`=SxYdXZdjGUKfw8_Ptv(VTm!7nW=hFI~w5mCa_4Aa~PVA}ZS!*M)C!%g^3vxPN zZT5Pr@ho0HKA&B0JphdP*IN&97X7TZ)(~dO+Qp-n077rTx5ToqHZ<%>SNsK4+2t zJ?mn^Y(H)_fj?fK_pM=M=;uSLbOF`-$VzY)dLLQy2($gTRR{j4_pvpK40a->1Nx#mq2}>_a}R89j$MIy@|7^Z-QNV zX-1#z$L$1XF`wP+PGV>09oqfG&dxiuhmc`D1$OggkRPshfxQ|S`zf&3a2ELs?57E{ z^A7D^jEC#JuU&9C?Pro*4vcz}?YW$V-ekL%Fx!vYLl_V1SFua$GySF_!%lD(_qT1= zAwxf&U2p~M$Foa-F~4Wma2EMJdoE%2eB54)@z76Tk08VKDYWNa$@NihirvUr=uNQ) z3A6JK?cA%N9_VL(yM{CPv*+V>1F^H`@x|o z=i~NbjE8>8>>gz3=Wu%%81>5S;;Ym7gkHJbL6|)sxBEDY^>&0^e@(_e6&+=_au(O; z7+bj(>W6-gvz12L&vEv%*Kx-D$Jx(w7Wt2}UnR`mSFtyNKi-cg*z=ZV^poz1b~`ZY zon&`#7J4VyU4+^DDs~UX!+cJ*o$IOIsrDjZ)H}`Y;w~>_h-WS;Yz^J##-bCW#(jt2^VfMa?J&f@%pIW>0Ca4ee7Tb$}QE!Re#aYz1#8z%j z`-}N3vCBD&`PA9N#GZ=k?fhFnALetFy&M_lbFIC+1?(`NYwh4R&Y1sNdkSZf|62PX z!t8w&dlvZPe6F(xkfERJ?Mb&&y&G(Wv(UT2b_lcY0of(sk9s%SjmV&Plf4!g>$}C? zLE_o>fb4n8)A_`FZn2v=i}~DYm)w!Dr=mOT8qVVWT4@g;!+ciR11os_xL;dkU%Zm` zv&z1dv*>4)eKleBzKXpZ{IQ>VZR0M`gMM1=xxm=Z19lTas%YZTeQ}&gdMgFJkrG(l0D)vf@hkl;12a#bu&)WI-aDCK!&MxLG^q#ZZ2($N9 z>|XHa^R9}Xw+rsg^vm8?u}e9N>)m5lAwxgC_6Rcc(`)D7NAvgE7jhQ)d+kdJv-ef( zX7I=B{f1q9Kg3(M~0)Omh*zQ1v>$A=70Y<$MdyvG(r4f6WaMB&Ir8Q6wtlyvQ zy2pV*Z`5`=X?@%63eKXw?e<#2?EP_j0Q_j@{_gPcB$hxr`h6u+3M zmp!j`8h}ynQ0E!WqP|0&7YVc9b2@z(4|<0=oi9CW1hX}>d^O`L_^45##!v>llJ zp3_Ni7W1CzbP{_iI@;+c_C)kIX9yYA&59Eh=AMdON#(s`>)^Ha2k9VFXoOF+O zdNCgQsd5TlrTxry%7Ia@+F8z7=v6zp8)!e(P7!C(&neCjv8STboxImTKbC2jIW6Fi>*pM2Gcv57bDi8bsor@`9%rF< zo>M?L>7M5};E#IeJ9CjiZ=rKJFxGdWa}|k?OBXuV6K22XbXHsk0av`e|}nfpI>|oIVmCmzFtY?_}y_@0U1pIg9nv z?5rpDRMg^ZA@)RcyOYz$>&5S*-s$upLqB&qp8;e3JDo2%i+=8Oz9XD;?{uVpfgW6+ zyPQ&F=qKq^0i)hM&N9wI?;hti!b$fYrw!vl?>?vU-Aujg{ShbUJOJjbe~_s!EUBGlKBRixPBUTldrqg5vsgbbIJuiL{;B9?r--wd&#O)qGR)_7C+{OVpVyrb81ujG zM4ZKZUUv>AoOEAzW??+c=S`;x8Txt4X$3~TcbpGMd|Z0R`48cw`;Ie=@u2rFXYs$G zKG1v5839JU_nrKYGyTS;_nkVzN%wtc6=yM@51k=mPemU)c>|!I&XOJbU$;lQW^cEyTutshJL*i+GWPVVMRzC`qc(~J!L{Nyx$3U=t{C&&Dp=KslwaTfW1a;6YY zx<5JP;E#X*{_AujLqESbTY<5kU!8AAd|dj~`H?XDzP*#RB~vf^zP(fZ1u*FS?ra1` zy)m&JoJDE_2eFdpuQ zy<;_BQ@w&%={K~#ePata3%z|~1BBUrJSGi6d|Iz6niQ+y4F0J|i8T;=BGO}R$S@x} zmiQLpVLo>3N?`2Aj$Ol9CTF^au)OXTWklh zr=sIy$}gaw&XwRC*3n*-53vge~)$Upn7v+1HhH3*n@DWvmtBL9Zd^>`L{niS+}cUSn*8v(RgdRgX*i1GD{jte&%& z_tMx#VoycOV#CCqh;EAIWM}f#X5SiXM~3xyYpfR-^WPdP$;sr4OSi_#2q)cJW0jmC zKRcf=mNh=3&(0r=ZJNLt_3n&~au)sE8LP?7=(GKJtbw!W=dM^Ev8SSYVk5+!h+1R0 zyJhm#X1B#UkfEQp*c-r@zb*DQXOX`x_5tCf+ZG$dc(^_f#oBhy=(F<&V_SexZ*?qx zk4*h>X?3iTFgu?x*3Mb<(-F(c%lN0F&X~g)?1|{f*eqoDd+|&xXHUov{X7$MfHD6w zv00o&KhMOf2q)cVVskMb`gu0C85!2^bFo#{lHn||0?ziVfOpWSnlLZes&&8YzH!2 z?{8zJGS&M&b`fWx_kHYg!t8v)STp$J`uQQ&qkul>{TS<3soqbqAI1!L?v?{Nqh6VtKQ$8{m&)80!fZe8c5xQ-Io!=F$@r(DBiv%nVm?Q@)yOcPW8D0M zAU~|1W84TB^B?0L$XU$i7W8GF{=;t_hBQWZn;Ep{wQ(s&7L+D;w6`kSs z5PKpz(=C~n$yb|wwma!iV3^O@?#eQn|7!+4eULCa55?^Qf4m>&xdn%1^x69( zZV@o{v%sz7Ec6z*U4+?rDDEbVhkh<_ox{_5qMurK7H4t2FLvi5!}Y$@&6-a8xzyEw zG5@8m$ywyT)C~wH-AmmvjEC!ex!a2j*XIg%QaPQ^Rc;Yyp?8(rOgQOY<#vKUpHEeE zwL3`cspvX4cLvm(&X*!fif*=6}L%;Vkk$;jSc{ zbf0kB!5`<-<&GjlKTo?x71dko&g3lg*1E?MX3w+T1o)%gIydJ;s1NkI-NnE-?-$&) zoQ2*Cu0K2N51e#ga4R{B`K)($5PK@>ag~!mAJ*?{ZYwg(=S{b@8tgEiH{Fs`IAi`d z-BQjX|C??(;iUVfTLu2u&s%OAGW7F~+Xsw#|8n0W@p0*2?#G0a?!Vk2jED8}o;&wc zs1NkscUJl{U(Dx2cQI!%pO0MSw2VC!rQCAPV*PA(dyrv1Til-0 zAwSG#i(8Z6jQO{?3C<$_7Iz+D_B`9I1Am;)mu@dI^fTy=0Hfa5?kI_mOJBRv-!t_l z-LKs|&QLFV|JrRr2EFgxE@0Ffb~lswxHRlmpGozG-FnVqKHJ<)#GZgJ&Z3{+-Fe8+&lqnxFzSu&1A`o9q>xm#H`DD&GCTsHb`V;4Jhs?=iwjSM%0m zJm?wT4rHj$^70pOebjTjO3p&h@p=g-UB?>&e}2DIMXpzMemWlfQ&H&EaTfEQ;>@E+hS@*m)>CY*E+@VYS``kCtGE~N80$SVOxy+gbj&O+}H zZ!Y1adx*Cf<3TU(4J@L1hkEy1$Qktx^X}&?^bYeLA2-rY{ymxQ<do}3ISaj+-de)!yl`&-a5|#>0GOd&`kw{ZxDFfl==iZ-m6hrBl4b#hH4O?kQd)XK}yQ zc*c^9JryOq3eKXRIbJt1^mC5adI|049BC43cvNgc3XJ_+=6%Rn<@L0mE4{%c+E0U*e?zAJxYXb^ z6HdAfUMFYK&oy4|vW$N!TIv;X7T4znuL>FZxyj4B5%NPnH+dm2_H&aLaTfjDE7hc!g%QC7H<_YT%TLLUSQO_-P=gwZczuMEZihDl{@BkNul!cp&lBD} z&Z3{Eyar_G=UGp=jrQ}bHw_s3dDc6ev&jFfcNAgvJxZ?zZqi5gA8S`)S zJkFw@jo$u*+4m^Da`4B$FK>Gt$k0!pHwuh;?|P*xGxf!#cfC%+N%vi^pR?$v-)p!l z-B3UD^ND99f#H7q#Oq$g8S{VQt>-NI`NZob%-+xTHi19(^Qq_D zlhIGQpL}S;biL=N*>itHTohRbu z-Jj8C?_YaO$Z)-Pc-_FLx6>QoEcAAIr4OXzf!TQ?UV^i@-jd%*?Cd-dzn|FI_bB}# zWawvt-~1rd1N}_!R|8}I3I1c8Mg9r?Q-s;?7yVw0hwHPOFSUUl^s|Sr0HfZXei>(> zx2NAhn4Kr$_hEcmuPWNhSN@Udmz^i#mva{DcVE8-8Ty&*??8rrCj0w7#OuNQll{q@ zMgGaYMVS45(JujiT)&Fn{4niD^PAhLp5c#h7J7z1_mND!>^u>_iLPvEydn#ot2J;l#`3>f;E;!k^=GxjsZKb*73KgBEl@+&$s^|Jl3-w2F)asOe?qQ1EQIAQjFw!a?Z zLGMsM|DROvFuw*E^``qxoQ2+WUwR_#56sRJ@eR&m-ZT6LVrSo@^xKG?eUH-bMTYfL z={G(J`C;Cb{sX|6ztVq*v&diRuOZCN_w(0dJoIzCpVvkEsq#yKQE#?i##!ji_A3ap z^F;h=j0e4Hza1H_-zk1SFzVI#BP5=kC*oHO^mC!ViP+ise*O+(XWygr>z~c!tIe+W>(>E8KlOfoH)qUW?-y_u z`Rjd!FgxGRF9LtOzpnHfkm33?_#MEgca7gk;^Wda{#wH9d_TVz<6%CHe*N>AdXw%_ ze+U@$n*4$n(sof_lix^~J^l6DIg9x$^Rr&e_@|uxZ$gIo ztnruk(D|(Kp8&@EYy77`@1jC$+*F3v)4ov*w`=d;c)=Pc&a?Y9zpDq8RN5PKqe#UDh5 z`Ml=0_0svg=D!S#`Cs#2wdxOw4XQq5@6JO%RiN~(0j|D zLpbTa|gxK&A>39U;M#OY5rgQAlz=zRcKD(S*R~4E98{d(eTL&R3f~G3eL|`C&d2gYvI9 zWB!Rj1!s|eVo*t#owpq%z#sd`4~oAAJ?Lle;Cf)xD+q4nEc6P3+X=JtM1nSqhx=>a zVEH#xZ&J_?jCzxUf}yls=uHk92($fo(8gKJM+qvw&G@tPM1sYf#eD2w1R3Vz1tZ@< zewdFJG!Jve{9e$)S>*SEm4w-OB0)R&<9vdk{s+*5`4k3yz^FGR7`H7`UtF3J>`s{N z#{-2k)XUz#4my!R?|`84M_S+1ppmnvZ)&iGFx!s@IU`UH++PO;?VQ0s6~%*%#GZ)C zg0i17_19*X2gc99FrV_^zW>tv<-r4-MgH<&HDPw1NYD-bIG-Z|Wi+FobSr`qV4TlU zK{aQgcT~_#n4PyBY{q!#XI4=3OIlC#QyElo7T5cPU;#2*?~{Vu?X;hh0v{OjpA=Mb z7Wq#KstL36M1px359{~jVC}E8pHqWHJ2<1>X~8PaLhrO7=eJC~>^zac=PcIm89@`V zv-3oP4q|8Li3EMf(9is!c_-~>ey|!C^Un{~a2EOJ2Tv1b?}G%r7!Um{2)ci#{ag?X z0;ArdV1ktU$Gq8jBEepS*?A&?!C9=|+Mo#;*6-qA7#Q`I1bJhq-jZN3;iS7HSjkz; zr!E*Ic6Odfkh@DdUR>|10s|T5b8XOr4D0vW;4@&%e{Jw3XEC2^gYO8l^F#t^Y(_un zUKflYLqFFCN*1@H-VH%JXQ6jPpzNCIkDVtHlyesS+!*wX%h=iXZ-PP2qMzG>(j3SS z{j3Ob#{)w@D}qhAoH753V1Tp8zarQ|IO(nkM!+BM$CW|RZW(=c-d->h81+^KM{^c> ztAY~_wQJClVOokM*?$31rZFD5wL* z`r3meiH}R|!Gna^``JMk#zTFpgPc8Rza2p(FzT%d>N$)0)&wJj*?v4I$bN#UOhko%c(@1kOV5rC=|@?ECP60sc7eSAsrd(0etQyBF1aEokH{^j-@_2($fo zP>@gO^Lj9kvzX6YK{K%@qQ0OF8RpX;l>eE|r$0Co80XU;oXuI}?+-2@%)WmUG+;c; z=Yyad8T#22^aG>bzXNISbUvZ?@1Tw_`~FR^inF+12ZB*zXWzdGChe2ymwg{TC_{#R zwgx+p;d*ZkCKYgh%)d3bg|o=NHMo;7`~FSP4*qz3z6utpkPrI#CaAKg-nYR?oQ2-E z!5M_v_iutl;E#IW2c5{E_d~D=80-5nkesx>(EBlHCCt8m6ZCKv^Z6+l_A>tL`!_+p z5A~+62mAg_kY5N4^O3^F2pHxgg=?pB#{5#ajkCxvh1&@yT`9~h$>_89ufxtmGWtn3 zD=eQz^~Qx2oQ2-Fu#zzQ{!N$wf1FQFSavAY8z0^bjP>P)w{aGFx#8V}+4pb44vdHO zxO=z*8RnfAI%TxJiJ{L~=uHfZ3A6opSPuSJUw+tt40?NqD}k}Tg77&KAD0TkR|vEH zc-W8eP~W~`$zinLN#T9Ks5d!$fU~G?a=4l>+mDCc7!P_%ID!oIY2n1fX}?DJXU;;; z2>(i$Js%H?z#sdy!a8KobHay#u|79kP2%H{8$LmpowptKU_8|4ht71`Zy1&Vqh3*% z;4JDZ3VR4A-J)<1;N@h}3$ z{PFNW&LV$2oJN>E9}g=r9{M>nTyzBO=diF381<%y!<>cQ^ss7Xre5}ZJgnm^?&ld{ zFR`=dt!m&LV$h_%Fij`FOYmZeV`)FyPO+7{r~ud|Hr+Y zmr9qFjA85N+_0oFt=BVV{2^nc-s$It)tr~+gpA*rK0jc2~d9>@g-x7$#vIRhe);8LJKAd*Uszrrjv!yp`HHaYM5yN} z#@Cf!874R{&H0*fbNN+a2XgkbG&h8!=zk#N*7B>vg4vM&G{z5?UlYznzKHX+VJGLF zF?Tb5uDmhqL;H)2UoO8coOBYz_j6tv&g0xOW|aG1A2y+V-$T>>O<_NB$oYm)sfPNi z7=KW{EG*-^G-nCpRQZizGxGJEo5M}$-^uv7@|(g@wEu_k%jGwRHsJz>Qh;1SOEh9k(k9iH~TFI+Si>x{`*Hq^2g5$(y(gvXc_=J78|;TL|D|Ie4m*$yX1_ptBvj4;`$3HBW;`0UA|J{8 zBWX>TGY{;iFm9Ofc$j}K@cE3dpV1lS&j)^b1^ZWL>=WTy^vX1k@>gIcs8uL0Qh#!-C@o`;CmQH(u?6DuwAGG0C7 zrLbfX_@@pYBRx6em2e1o6Zd~Lthz95ZCtvp@df5KH)fPcVwb2x%LgY#!$$(3L~mGhRcp7YgGE$1&o>yX{wMzX@SXpO|33T>`6d?s+!5c0pOE<181ML>_-$cUL%P4EIgo!_ zn2X%O;(t71TbK{b`x`rRTQ~*nQ2$TiLH`r~Q+OEidn|tcnLmX`lK4XzpZ!1nqu~X} z-!uQe&m0Yx5dU)+H~)|S_Ha4!<=;xuk<#{X74jp`r2jqM9=4JAB{R2&Fa1yaZ{h3z z6aQQIFXAuf{T6QhAOGLO?}*uoQ#w|#p|(yfV;Sv@^7bN=83od5I(U&VR+AH0n5#+eiT;5)f} zw?DXz^X`A}vz+(%gWu+y_XmH@dCxz1nDNG$6aV1fxjp|6-hF1e-ai*E=l!gZ3faFm z@6X)3u7v!HN2a>V?}dTB)xFM|BK&3_%LSAx+Sf@ zf!80G%)*t(2eSAh86Vif?WkuK9>iJHV-_Ap_%P*b-@thF_=5`<+{X2# zG_M6yzbNsYI`F4n3F+c5JR#*v~^EvBx+=Rml zPe*=-`yXD|g#Pz#kl6mDyfAAy#8D=W$i_XfuP$_o|3FEjt5JJS9=V{T&p=T^)p ztmM2jXC3236-N}VLhj={vv3goe`VZQQBjz)g6GRIjvOQ1SaD=w6>iLoL z?7{}lJ!6!k+5L6o|FL&2a5h!n17G*t$6T+Pic+a4q@sK8Irm-?g}lex41>W8cnuT7K40cX0g8eX==SS#8*Q&1N|>ZzRovYIGgx-U)kAgKLk11dxI}q zcr@{F-$CKKkxdxkYdMGQXCc>z8+{qV3x$UYuRzXhaiee0qinw(d2ox{d^?1PZ!_T$XZTE%~lZ?$kT@}w5``0CAN{rRMy>>Dd=AzzR@*>_O58S#C- z{!g%dI`LHBR^fic(|iq{Wc?`O>Ar=+6Nw-8Rhp;txiAy?0L=6a7k-g=mM{5f*1tnM z$5(!#;vCq6e7WZ_-+tmeZ+bg?-Zh@^9Te`5d|JyVd`Fn+em)QR^k*nPVn5G!jxgKL z^Iga+_VavoL_Zbd`!acfuYoX+hYNhog&#%zeP=B2wTtnu-Ex6%Z~^~?z7Yld7y8Bs zuOa`1zVQY87y2G6;J?WCR001*zUPF$Apb?a6$Shk`L-4Cf6n(=0srTGUkO8dmH+2_ z-xu(I&R6zXuCG?8uLa9|<%PQ;H*LAhS4nsP@=#-$ud47!v9HNY_1O~b+ZV83?&~7F zknETHvV^(5m-_|?uS9(dSnj)?nc_=tx!gBR^uMCsZLIRWDD3XQ{A!GScG4=}Ze|Ff zzGu>_zT`zzKDZh=tL186y%_G-a*eOAaC6kxHu8PB!tIa;w_NM1yqNvFBAc+m*GjlI z@(mT<^bHaoj9lHZ(KlUq6!P8GH~R90bCE~1+~oUCcrtR6q|Lrxg=Zo!M|LgY^cEny zjm^GOgr7(LGI_JFqVOxoDWy02{K6ZMZ*IBSw^;anzFo+*;2mFM;vD!E zIXmecU)AT8J_mk7?pEeK-$7!%KHBQLV5!oNqxP8Da;vW%aXz%^sK%FVz6r#6-p3xB0db=aRqTn#)vt%$w1EGBX@O|IIBw_BD8c(u1T_75`_xR>V0_ z9(iw>&uG1a^RxR>_U`21gbw{H!xu8%K$ zJBahCerg+E`lheo^!A~>+t}lqBYZ^o8R1hqIRMVs<6Fi|^?63h9^YPOxD53zV6U(0 z%PKyd-d^8y;&D(H^;J^#`c?`zM_$}=pU<(9(_c*f`+TLCDgJk>@AFk;h9-Bb_WZ^- zSvUo`w(*VcCE^@7ivA5!_WLTYQt{=$1)UwxEah8YdExVaQu-f!xvQ04_pcvi{mSd% z+dP_iy^DWeKeE16>)q=vi88Nu583>GiP)?4@{Q;H8e!$1mhyXq+5b=9WXjJvS)YUd zeqy~o2mg#1ZV2F?AHzdZ41fLCRC)CJ-|25B%z30 z$8fUO>rZ`M*-wMJu>S5(Ddn%4uQ&&0At!rF`*#vgfqBR?Qp)%%tyTIduoU^Rl(PPG z;n$ECq?Gf|VV38eQ~X`mQGUEF(;cunc2sl=fhL|W0@)c z>rnrM=+%1sos?w%Qem|o|1jk=KfJ-|-GcG$N;$({PB<5NKXN5zQ0x5n#7>SF(o$f`Uw zP@mcA5`URDnd=f?>aQx?7I{#s%l!3)dlA?4cS2Uf7~l9-K7YFK3&_b{zkeoi4!nwt=j;5HH!1%d*h%_;f4=a3 z+!(y&mh+KpXEno%=55j9v_muAP1-jKhmmxgxSA=e-Y(Jj}Hy~&lkvFL;uS$+z=Z2*Rs9r2VCQSLzu^dYy6vtb$PGx zuX>m2SL**7|5{?5-ZlOWHvKy>+z_tuf6VrhUK9T(!kk_c|4z2|w#vZuL#rnKn(tA1 z-tNRr{UeF<9l6NAwrb{|F8XJYp>=crZsFI7TloE3m4CkDXXNs&Tl(7(=Xq;&cfh%= zQ~Wc9TM)PMe=YVo$iCLC{oeOE{TGqLt=srhh2JG^>z_lM@AwnBW$SkS)uOM`!vXDE zxA&L*fc;J44*qoEVaR=2cl6H{on{HC+u6SdaaVsPalT_5@}kz={9{G`4Dt)DGyI!`*ARF2 zSNu@<=R5WxzuCHnzYcMp_moTrywkd;KUcUiai)I@Gxd)(kmc|7vGUJ>w>|-AQn8o+ zR^ivb1Y93w`xg`EL38xq(YlYn!4AqVbVAIKVSG+Qx|j7oqkeUp zm;4#~n2#cFZ1b|e<~Pixv+#Xin^*jE_A{49{=Cg={>*Qgt0C`ho$rV5n0>_S{Og6U zMBd+Ky+8eX);B{w)MleUSGXF5PyUf4*=o z@{ZOY`)mHl`g@UgxBkTcrtl-kXSV&!zdeR4x83DGBD?_gm$lvFukjQ6tNhk(`;C9Q z@N>wG+J5gJdyw@L>*D+2wm=O;>btZ(=r(Xd~e&*f#ly=pWMp*YRumfUl5o}JPnNAI9{}^5|~qi^`|4h)b_%_>6b89L*CK4dY}ez9t4r|+tvtV zU#9eVP#^j2wwDDC66Zn-j^9;&Y#sCdu;6+NNA z>%t~+od8B2Gv8h*%=2xdcJ(8y=F3*?8bp}q%O-&ue#)Ph-)A%p_=P>$IR2j5G*CzQ zROA-WG|)i!Y~kj@mm)7uY8q(AOygfxyQYCLqUZQi0^@}iH{l(cw?QdiS$}*Gvj@DU$3q{ZNy#tpDb9?s=n8N371N845 zs4ILK#n(H~h?(Mhscr8-Khbl1{Q}nsSI$!J>-q(567G)vZlhn|HsK-2m$&a1xPzJE zvyc~xp5I>%3@jCX2<>Yd0|TpsThsH%puk$;Cs3d49Ta#=cnNaj_Jac-2)~M)g8UgX zrPrw4kiZeqH^%p)z1v?Oa9Lb`b^GG`0nhb;a>D$4H!M&=n4j;417$rYa7D@8O)Tw`Y-TY^1C@#O^T6mp>2N{)S;TqXD*aS`Mh8N|VdNGt zCQx5E1$jW#F@aXXS;%|Z-x?UoO!;2}w+8kQ=fF*VV_rMhhY1?uZVUZCQY%zK3=5$C``WJia*zzSjLugZT%V3TlJi##PFG8k}=GK+_Hn1x{-~<(2;RaNulY z_59m+fCD;qcsO7Rk0G8BND+Pvxo3x&fo$O=#E%5VAY=VgeD7AD6}TgYuj?>7uz(q^ zx>oJqJsMaV!=pMp7O2>e{7FBq!xMp}!d=jQeuepgcVhUi4hsSYVt87Ig@IEWv41Y! zzx82Jpek_=^g;jG9To+K3-kWj^MRLy$Dsb{4lml;V|k>$ReL<&;pGUc_E_2Bl?e0v z{JPCQKcZLu6+P=Bto%22*brg%e=CrDjmrNX#|q5Pjt*}J&LEx!N0Ik+crS1!v2NdO zf%A#=^X|4lO|d_FAf8w2uq`lO_!8vPI(`<|DqJ7AYRBDyN{v-|Q=l!f+41YZWZ?|t zt2*ur^l!p?RsUCY{3fuoDRW=cH|eiOmlW^fI|=WA~@b7mW|Cw?}yx>>%X;%QJG^~+K(HiI#|D)kaGTljp`uf;z{Hz9`K zO08wC6t02#ZK*zUXAFOq8Zcd{9Dfk?U!_`RdJG>(4VjR}`i7|gHMO?cKZc!Yb^VM`>@2+nF?ycC^d_$Pe>ohjs7QPGphZ>E| zZOk;D)Jkh?9*p7ft(uwjx~ceb;G7#AP%o{ynN6Gr)sUN{rImavIYi;h%;QTZ~ z?wr=vEZ>9kvlq`34K-5DvBJLy?-w4A=h>CMc_!PZea9TkQoN4F*S6(S&5T}(d3?=H zOEvSe$zI0SG;=$%*r%Cu`b6y~rKOo8`jWl(=x{Z^bTY>apE^R#zn#qa!j+L*KxcEg z@MWa$Y~7=!G5lNFAanZ=iVwzy9AI=BV$QuT%B4D8XTs1ZpVn!pd9(07%ujt7W-cbq zfuE4i?KI46H%!@2gFlh0b{cM0y+LsflpCq)=SFkRDCS#G-@N)wX7FZ;U&=GmtQW(+ zP9x3rF(&c`$OO z@L{EQ%;X66#-J7yxU?ew5ISM=+VH+7nB9uWSN z_#w02-JGAYWAS}?r-#i9;yiC%#nqSXkK8$>k=QVTTBZ~99 z@1gzp&g;yj%rt)8h5WkczeRobrf--VWAy!yKN3BkS6*-K5-v4P&4267eZmdsJo9?< z#~A+^Ro0uQ&f@ghf1`PpF#B&bFA%PY@wI@B=EcmEzv-PfnvDzizh$;6;QyAH8e>1T z%3J2O1?;z&!-S{denwBn7V~D|)|g&zGe&-L&vU8XxBEQ#po0%&-3;DCo+f8_s^^1|e@BE=T{7J?7 zecs3BNMgPI{@5HF!wunM^UfG{rGH{R#0+aOzSGh_HRlrN!e-*n%*yjs{JHQk@lMmV zfYVRP#rrG$bF&ih6sSP_g;`zrGUTf|erfh1*7@0EUd4KuPxjcJUo`XcOZD`xBhM=? ze17qz?~5=$zkFv7qWJP1X_#KK^zY3{oSruaxlQ^3bGz_^#6Or-pHlhf{H%c=%}nAP zSd98E=|7oUo>qE%zf63{9JP@7E#hCz(ZZi1AAlof?lTmh?6)2@CkX?d|8^Tk&8fm= zg=Y#^8L!quN6opyKI9?kN6m%I)PHY4{xF8|@8es>v(fxdE9bPT#PGy)msKx@r=)wV zE-{?dvXpfraXzT?O%JD+v8E8~=jSrk)5O#0Jkt}Xf06yY(=mU&9c8Rng&#-Gu2RO@ zA^a@q%UZjIUm|^3%dv>-XASAgS*3(Gk-nT&UHAjipJH7uyp!~&Sgn|;KC-KvYR!(} ztg6Y@`WRlEe!2yVqxG{g{Y)!0hS#Q7v=%W#nLM?gJIC58TmgA=`Z?Bt7{0DbC9BL5 ziVu{2Yx;RsE8#<5;dqdAzBN<$cj61I{lbo~mAYIsbx)lh4bHY5YNglb0sU4D;&ooF zzl>SF$M9R7i1qm7xBA%Z``heqw%OlqvmbA>f6!(>+h#x4X8*Iz{tufyyr#;h+skhy z5l8cXD(mIEncq6Yraw1^8v@o3+spY5)0*@;$Is_GOv}5D>wDqdc;2&%X|3F-Sf^)M z`NY%UMbzKf#jXK@` zM2zDZ^6y0~9S~ujuZGzCuZ!r_eqYnB*GE|SckDVm!t6iF=6`cUul)OV9UWoi ze_hwxBFz4|HvjPvz4E`c>m3nR{&`&|MwtEYwqBt6(CvSZwTXBf+&u;0@viq+lRj7V zl?RVteLd6lK5G**-TyBkA7S=>@(@7x(;l>fyU5-ltCk5_P_8y0uJrJ?f2a)2&s)JCJLkey#9V65keP%Fh*OKW4W|U!P~4VND`l zC+BBpSVxHS=)79vZZoa*d$@dArPciLh~@u^dG8eUy#I*xlJLRT)cMs}R_@oV4`Th` z|F31iUgn?CUh!z*Bgief&9?RnAH?#NulShN?i;p0?LIu8)a`Mr!G6W#pfYksw|Q3P zx2*Rgnn|1kS77>XW3g59C#BDUMwFk$*206#?U47DS!^8^ z&LUo7ZTp$^!-=1>4iIzynq2yMtKuQ0&x6~i;`fr>mRhTssr{0@%dAbr`Hm-1|3J4F zto^L_?m(W|?M183FXZq2h4>{ampI>X`2%=9x!ZDUuIRIoU+lKRIv{)-@yk}d!^%J3 zu@re@x0O}~ah`V%^1IzuS@VVeB!0y@D17cT{2ssCtCr_iPXAKmUC7miuOR(utB!CA z=~r9n!XuGar@Urm3Xd1=FZ>X4EqKiu%1rg~b+^~72{HUbx7V$s%^#a*lGDaoS%8bpIf7e^Bo@}ugTbD%@qBq4?AE( z#uwJt!j};5wt`8VpRUNCWPE9*66bmIkauV7vE~TRB>u|UFZLUd4`+OBmGyG^KO_H{ zvDZo$E;B>%K5H&xF+IK46tE&H1l96UWQ$KUhKHJZ~f9cHMup#tL^N{>j=T_BSJEcRy(D7yVr1 zf!%+$>XhO9EGIr>eMc zJnu;4N4x)S%@@9p_=t5-?AIbM>;8vTz8t6jGxEyrN3BfZaxI%ELa6RP9J!b_coXh$Q(w`HYT#0!Eaiw78^O)};K0jEo3iD&cm4j1- zR}fzq+K2Kgh=bN>9n zUBa8tetr*sa9@o5v&c{_wmfFgE3D3gt?FS0lbI?0*O99iunz_=7gm42;^Q8{U^vG9 zOXOAs?8CuS;a!-Y?oGqNj2QbPJ;K3ZqBkB@^;;)+vv4`&Q+n13-X3FL9(lUxxx96Q zbA*3ejqAszb%XO`?2q)Q8+=9dwJH93!F9sTk!$p<7kn$m{&M8qqUZg~tAhJu^!=J% z75rWFtueh?aCOjGo$E6TR=gWs=p&Wt`1fay*gi4zh}eXCBh5v?=#ebhQWaF zY|3B5;1$9Pkw;W%7;Gr~Dspv4!(a>HO=91knbNxk>s-qD zIpqmF-^8OZB1Zw(GI zqx@0k_~8A*!%$xzCIsgYkAv~ZyE7*QcZhyA@;8|igOx1ySNv1vUBO@s|B-o5uz3uZ z&blwSsW#g`gZ5`hxz3R0GrD^6s&SZlrPMh6AZ@iWm%5}o5gVLtS5rqgx|pU zOjr;cL_7{YLhjY%si5~t6<-egfV{cPGr`^Um|gR*y|R`DSJr1f3ppigS@58673AHS zF9dgA&H6BM$E+8Fl^ZC|g;vP;ekVA(5pyQ-%fYfum~SLr6&xu%mH5@5w<+uA5x*9k zF1(uf^C-@p157;W@$|#n@LX^KtNi=r7!_#_vyphlM{!d$;jP5L$75_6<|d*PjHv z%#@#AO+E=$6a6n}|6110U@c+q0tdW-91^a8>^61=>kD5b+(g(!eh2Ma6X$rZMs5K+ zgM(O4>Fq;(J~P~k`X91B54u`Y{$L_ z8+mxIBfCh43ddN5TDjS+`JL}t${*=&S;Vk0h(01YLiBAu~IJUo?xO}LF@Pou>hS~`) zBCZ%3DZHBaoX{NMt;Cf=>xF+LK0kCoxXeP8|H`3?xt!j4#21Dd2#>4)sIMC8FIOA@6vOe+=>Eq2|K(5c@+_^H@KN*bLkx5bgA0Vz98Yb*|MwPE#Xs+ zA0^HXmA{vHDe}#|`iABUZy@d;syCVSyU709&~)MNi3f%D3mc16d4`0VPhtDBh=+zI z-^Xkc4-35{d=2sN&`#l0;u}NW``NxP@yJky@EGEoLvx6y!M(`$nWIBB9#HnvU>5SY zUSmR=h^N3tP0!aTpu z?R8g#)%^HWue&3x=ErIsri6CSR`Kz8xCZVE!5m_!gz^7z*8QPe;Y*RfKWkdZ^{CS0 z-)}%((`$OD-D8S#pb7HcGBZLi5p#Uod(8~J6~k*_R_F*b#b37K?9kB1IXxAB*@};b zb`x{_mwO%$&7aHZ<)Hp@&y%6-Ct}lE5ZXkn$MdH`TVwceuctzeCnVVy5}BJ}e2fBIf;m#V--(JJfmbi+e8#&7H^j ztAYOY;rUR-1(ZJ2Mh^6TK9os}`&ZB7dA#0BLt|O*-HzP9_p;C?;RD1kgepFz{PP_b zEp@=?-Y8pY3WdGk?UA6^S} zh~e7CYoS!(k4V2JwB=d0S6tgz6Utu1{5|Pk53LqnkF^-~07Yy6`2) zyIuLA(J{QwwKg>KIkpdxeqCsF4DWNj5ppeMeN)u$bFB{@7EVRp(R)K^@-o)>2`Qq%4LK&|xzku8VJ`SxHUN2nfRn~7q z4rYHGa;;_FPx>99{_B{JB43%kBlMDRg%|OBO!gfeV} z3#;$f&5M2rRs2Bdr$Hms&&vKOG)TBB@)OwyLyLuPM1D5==g@xPNyy8x4}})L!SRpz zQ?=(Wp~c%2>-Fg2(C!Zv>-TMkL+KwW*5lXVP$qFy|BOw)%*Lyjy|;X;-ftcbt&P#w zHV%ijioP5EJ^EVkYiLJ|-bAi`B_`{H`@O3u6i5Ui={S`Nt4u3s2*1l}`05d#_dS}_PVF&J$V0^F& zd2g9=;nmxWnD|c#uV;o$dvSku>?z?_zK+!=hu7J73p3Q*r^=fgex;ls zKFduGS8W%oKRuky46{*RA5IU~wCRI3t|#{IqW!3>)5Di`j*YK;*klIdTXlbx5AW$6 zt3NY*fElWyzM|*MaPo*){n_D)Hm=MJbJ70CiD!pf3V%p^PI$QRDc>pmx#5YEW8!x_8&f}(!ZVqn z9=TSmzG}E0GaNzv1GB1zw+f$s2+#kQuNJPD6>DETT$vfZJFLd9>f!6A#p*8(-^2`e z{EGAC;}?hfoE1BM)d&w}h8K_E_e2Y8gd2on^_PUVGQ&>PSM*#GhT5c8AKzm6Ylhp2 zzA|z}PpxqC0{;H++%Ve@ME%ic{Ncq{#Kv!iUt)&GP(Qna8QvoNGIFz&aM(xdGu@tb z!*!S;bX4ibzbN{A z)ZewNL3rVs*!(sMA9q;Zte8(fMf-uE-31 zP(P_mlki-cueH8ecp)<^K>fa~X5rUpzSjEY;SJ2N4fQ584+G#n^>Q_4;rA;f4Y(){ z*OG8;ujStr?vwb#1*8G14q^5%e;lsa30K+dt|4}cz3Ui#vpD)T6mEbnM^Ty6H6(vd zNTc{%(4C}P^5KEL#17E*tdEvMhjTfPjpu^Cs+~L%UlI(W_`H$&`Op5?pCtXUBn=oJ zhwqedEw$gwxvCwE|2iIfeD-|kbpC3%?w9f6(|RrA*`4h0!qP8HU)22B>s7ahUF!Ql zr?2HdC0vgqTt9}~k4~5*{kmW{?z_nSFiZ6Fgr6npgry{1u#%)3){yi>;yW>WJby;_ z55DIje*@kl>4aS*U6J^XuaEk%y%W9?zi&z6-$x;7z>(v!6Fe(;oIi!60cVjsHk`*9 zC)6IU>|K$3Yrl&m9-l~EpRCv8i~-Ei_#28n*O$&Oo@@!Fjk{>4w zAlCVE!w6yzOdy#AlSz8v=W$%#qWaGge~zbABp$98oew-OL*ub#Cp=AlxX)w@*ZEye zdbi}$BlVLMiNC0RuiMJ0+vjZxcShpX;oLut4d?nlHk{iv+7GxKZs2l6>-#-hJ_`0j z-Ttmfe&Xprm-^A|ru)NwDbH^tU0}E4dDH;s%c{MdQm-zVr`)!5@x8OHzj6Mf?WW_= z`Oxj6!%v}fqUF*03X;CvPuJrGas0Gi$IEtZs7m&pNd9XQ8}Q~lH4jJEIb5Ik_fGz! z-VI^WpQxP&8j^hyv=G0v0@8rq#7-DQ(gnI6bv|@|<9MRu!cF4G{m2DliQRA~NjyhE z?QFpPh1hX^3>o+E{Edu%93CC-?fK^XIY9f*l5`f3bV)rPtGD~<^1Uqi*6FW5E<2?? z9g+6b{p207-zJjR;d;I>pwD*I-njmKMoC<^;aMWZJJH_2e_xVxM%M8aR`R%KU&r#i zXu$cTcS1F>yNsj(btJqYNf)#r>4tVB@%^mSuiZahxIO)o&0Q&<25|nJk#_7Q;RB=` zLxuHyQ;_vI=mPe0NPXe?jX3d)q;RKm(mMuITY4 zy8htxlmTy(U38pcdnbHO;ksSjk@b*X_k2ToC;VvhhgEzZ>T#hAG2W*nT~JB%I{*Kz z)azY64^@|V^?1eWI0sxR;k<4%BCNwL(I+IgTcRHRf9s*P^v5f0{W2cg!wYLaeP3Kn z@f*-s($U^{zpNS3lUx(}Q=RPS%L21B460YrZezmlZn>yUSpE*n788wyrHLshD z$hv8P=&GSeaf9}EysGXe14@&0!dWC;vM=R^D#ZBr%|+^Y&MzD$ zX+YgLe3j@Mi@t3EX+S68Op$#=4iPy_HMuH zI~Tk|(hVPy^uT_SN$?9vyPut%;%^VPvs1=h7wG+Q-CwwTPARWT%I^lQk7zt6YNy}x z>G*YddERw_b2ZOXTK}Kp^#J=N9pk6tW&dbEZ)-Hgk_ z@!)(z@$2_~cs`NXfJ-D@&9#o34}8BY_WWMZ3H8N}`?iS@jVe-BCabM*aV=Xm=m z|E-P#^Wz>3dR$)=lzKI?WgC*4U!*T2N{ud zknX>_yjq^@a9z$VlCMYToPq(GSsL&G>7DQ~Nf+!S>4q;!dSD+({Juo)N4>Ai{?Ye> z$JaX|>FN8OpKCcE_*MjTy>Whz-Ty7@J}jzU-%m%VTuw-Ojr*m}hpr!eoH<#|Ov*W35EbiX*!b<>%Wj|)Ur7wH#SS7c+6ZAA7E`B(jQzqCtxx#E>qhim_M zeuE^x@$}mNe=UbezH&rzc?_6@too@ApDub8uEw*1<#56p2{7Ye$`u#Efe&=&uaopb8VK z{m-#HP5f9Ik@sJZh+if>7dW9A%`+~TL*Z_CTKxKu-VnW0^sb0rkLydtp7R%dPs#H; zp4*n^4}Bl<^Jw&a9LE!VKG5mw@w}+>O=0#Yx{kHS6R&^R+jS|upEckWl1^Al_2YuK zq<*(cef?c_yD2^o=y>-@{95XM#nOO7qSxX2oM6FyC>Inhts4S@%pE3--7)#+F$v-IDQ{P@B5*HVw8 zdY@@4^)J1Djo(d&I~y?)~Lt^?+X|5GAk*G202Rj*&;g{yUw zdLC~l^PRT0pAUVG;>Yu~BwetUq#HJq^hi4$rV*edz#Z{JRknekRFd`2w5%Qn9lnT)$T;$WFLY?DW2> zwkya*x6|o!KXydksn5q@O0TyGVX7WWXJ=&!wLy^n7bSFV5cq=yAc2amoog ze!Z{KkK)(kp$mo*yWvKX9=Mrgl6;?r|KByS0e6vf0>4Lb$v%x6?iW8kACVMkclN`- z$0h!HJ-dk51uIBK`zz-!3070M7uJ$2+@JkC;+JIei=MN#uaAlwAAeng|KB#%gMPk@ z?w`c7FKW38d#?US+QA<0iKZXV?(YikFZ(V#DW6U{2d}G}m zE+Ux(ev-I8BUwtGTT26$QkN^9Y$^VBsmr71<#uAn<;K6y zEAJPzT|st&w%6eqmqq`kaId zmXqEs>vVjdnuE=Z&lBq?JlY>F`H;i;J0$})klqO#?t&c>&t8(A$b822WPtvTL$6!x z`?>`;2-;u<>hb80pZ*e%@{quK)>+e2{4Llwtku-qclQ`u3 zkCq0UDt3B3b&jw;zqrDy;xS+?Nhf?l66Yh5_`MHF2XreS4Y)w!;qYVm51YN_%RQW4 zJ(5niySM7!_}$hmO1fcSDW&(o2$Faolf?C?_%$HufTtyf)d@$%)9@&rZd{`#c!KW8b`9yq^}bi<`2JrE+9 z1RY4Kzw^iK_TT0+;m7r-_r>h%Q~lo0{vNEP+VT1f_Y3HJf_^_<`1g@~?hOCmS(@+S z`|0=awKu4G$8(h=@jD%ocy58DA>mF5cfmEH*W)ygyH4Qo+680iK5)yp?EyU=>+v~7 z?yHU@U63L6eMm;fN7+68?f+=BjkUfC$+`iP_(zLEU#e3Jx!5IaDR zyLvuMk#_1x(haYSQ0<5NZ6qDgL)wk~qV00M*xy1D|6d-8KU!b+NIC7{x?NpKDjhd) z{ycCNaS~ii693;6Nte^t`!VtR(G%?B4bJ;>{h@CSMpFZzkm!F8geqa5$`0Mvx-wXdLcFs3>T-Wt> zqU9+?e$jf;eub6uKc^GFJ$3wl&HvbTDIVo0uK6lzd;G7;@xMx^xR$@D`6{Y?ajoBf zYdI3-KC$sX(Qmn)qU(ykHeVLC-`VX;N_*JL^>_2XwVwX1&la)cF8jrxx{o_^bAb@$KY39~8BH z676wv+oPn^Z=zo%=FP;s`S;D6C1qSll;h;iABk}{G43YD-Nd+C)N#OWUsA?td$|hZ zM7a~=XJY(JjGy*#;@>(h*z2J%F0S>I$k)H~eRFYb_rmTYyFO8l;`Q8YZ=e5fPV|rB z)jtyLk!X(-d5$Qq{UnjEqOF&TYki&Ud8xRTySV1--`XBUEq9{*68mr`GJlqoe)YfV z@BgcG676zw*T0E&OsvmNWPB{H{Uk9y{5!{olG5%ar5uUz;pEqv`6B8N{s6#W1r~X+OPhtv!pdpamy~js zlycbHr!X!l#x>#VgCQtau-%FcKyG#o=Qr& z6Xi(E%O_*M!#++F#)*Ddy!v5b?Pb>|+Aq<5Cu1BbuKlXG=F5Ix7RHHkoZS01QNJg* zehcg0c738fPHuY?*ZM84`Lg%V!Z=ZmME~V=R;f3YG=RS+{HOd~>*Csf6ZtCIcd3Pq zQ+9oEtzUaS3*$sNPVV?ySpD1eiS|ge$H~}tu=lgVxTN&M!pdpamy~iR%2B+=5qm!? zj1%owyxK3(9*Ooi8S`>U=~sn~XLfx_DR)UJhrN9Y<3zdt+23Op*1mRqqP_oJ?QL)W z!nmaLk3=~V>%5b(&MWNxvFnR#KP;~Kve#c>TvEzWSUK(bl2Y!HQVx6j6vic`+=+6W z+<7)pzlr)ik#$UQ?I($R747^&ajmby<}a=2 z>^`#V6ZQM=tY3RS_`5mLuTE~iDr$Qr+T-N5M{%v+lG0B~N;wk!nkxnp4|0cac%eF zny;ev$D-PolyVo>aunBmCHl!f`}rl&uTJhfmAF3=_s7ZD2P!H3s<@6n#Wi1vb}wGz zby3@+sP>6|cyil2QNJg*ev8`Q6ZZdk|Esw6*F?VT?N)0!ulp+4WFnmF~}e1d;E4DC3aj+ogZh!|38O2V64r5qKzjD>-z1wQq`*g4M{qo z=F42q_VzeYJGVeC!G741MK#T;@Gd0aNW;dxA9PEpN+>2 zcYtnB?Y~v*^!=j8F>YT2ep|1~;e;Jz=aTk!z#j2CzBFL}f7HkGFU;>){k6>;*eebA z8PhW`pE^IW;p)ECY;0t^dFZFY%Ob0Ot@C@Xj4v0-cw^^YavuyJ>3~J6*#8WQ$Iedp zd7RR_fc+eBzRi#IQ9nEDct=g;{C4kkHOTmWMxj!5tHo(1!^M4je2UI6%z@-u%AnAfDM1Pg&8;d?g^zBKyA)TZLdXP+l zJ|w*`kfZ~Kku=~IVXlw(^-!2zk6*eT?OfFPB;LH0EBT%*`L^>k(F3hJoG@GL?BP$w z34cCL_-hjWCP@R{C+URGNV;I3=$Q>TEP77Y1+LB9-skjH(tzqRPB1$_ho5P)(_FisxPV^A=K$@m<<(?oh@Ug!_ld02?D^1sO~tQ0NhkD>^ae}#7zv+3(gkx) zQ16j+pBMYhBn|jjSdVX7?w0WH#O?@5CzO7R>-SEXCn^gs&gXDTn56+g_n#B4q;MBh zlX;-tPi$|WS9l&Uj+r;?c55j;1KyT&3v&GV$3Cy=d9(I#?k~+LpHAo?`OP5dj?5>z zAN8Z~=sctAEuI`A_VMPO!se-X@x}`uMd=yPOxmfQhs&3;K}jccBj`I}{bGW|$1=X3 zy&u@wUau#6-v3{xr`I_xWL>A*h35~4Jm(m&Z=0I;qkNatuU;p!-U+wUeeQx4wElO? zdfNk2ZT8)zKNj?l#;@a>ZS&)Fah^GD__6*=$PV*E(hd0}J+R5Kf#PN`p)*t=o7l<&=X%D<@g zN${zyUN}A{aD35p_DMQnx<8ZPrxW!1y?|ddf4V+8FHrRnFWd$0w~wzsB~EzxIN|5T z37s?e(q0c|M7jNB5(uanc{KqG0*7{iSj2Yg4#O+9#S0ryu2b`R0BW zwbS|La2H$?CtdCrTJMI|aqQA0fAQks@!tjZde`~j{uRxiu8(-(T_wHOsUF?X!YW3te74?mi>+vx1}>R@=(6nb-*h?V|NF z=(U3PxsKN!&g?wq{?PVYB_EtlG=8oBSoGY#+_0b61HY1t+S~67o&OfJ?~Bhhol4Sdi(Pt?;jeGall@$dR*XmosoEt zA0GdHj~6eeU)VSlKiS&v(~ zU+Cvg-Jh4z`0RvNWSm~RMzymWw$lCXk$KMnMYB(Wn$m6`$+}2Oy+85)%^|5jdp_cY zKTGq36YTc!xGu#Xec#tW>LW#D7tx!tuhm_`^?1nVP4vE?0mo-2WRaf>I!L>9B8l&7 zBt9+UjqCPsZLg))^Ztz?>o^AtlK5}1$(w|=pIzQUdINGuIw4Q&^?FUqiDIYw?~AK> z{Neg>0J8z>XkCWmfUGYyYyT+{KeGd73g1ERuMD`Gq!Z>!IKR(wM7W?GzGtF!SM)uP zy?iIi`u+7Yl&%w&OZxi$w8!&L3D@nlhRS2W7qV`!Grt#g$oo-!pJ+bz`Q|N&Z=2K; zvjgnXKF*zNzD)ML>X3BGdnXt0ei+WDvQPb~&bvY zGA;$>{?O|=o?jiHSkB z#R(w^*Y9IA+wXfj?;FqKAWOV&Bp%H_klqQukaWQxHhaC#r0q4gr1!A~q)2?}BD;!Y zy#wqrL-Z^SXh-qjIUkw#bvip_94N@Rei3`UZ_Ltwo)Yg6k-MZnUMkNk_UEk|#E$g_ z+)V6*2_#)GounJ)iQP*i4O#a(#oh&L#BP(=t(N}H^A4Uvi4(5VvHNe6bU1yd#P0$f z|1Qz%ay>)q0Rs+DxD$ROiTjrCal7+#Ij)O^dA}3SnTWmJPRCo7?2X7iOF?!jo>oRtIY;g?DJ_Hf>>bIAJG0DaEm!W+~+jv?iDM#_Ku@c7R^_Ho1~<>Gpe#(Vtm z6OXrcoOq8Pe&X>yLi_UA4pM&wIsUk(*Uj}it9o=obMkjVJBf$);S5M8c0#7;*$(F+ zvD4#;UeEJ9;f%cB)9-8hi~ZBGo?I%D$3Fwq_@~Yb@%qUD(?qY=ufrrCoG%xQk@zNv z)a$%3jhDDDBjcu>+e$b~JQpae{q0hp^LbFx(c?HAkpZO<~g4xLZ&81S6Lr~S1oYB>}3Jl@8u2fg0#PhmTKzICP4 z|7zV1avq?eyoc7|1*HKS3iuhYMcBR$`Kui7oX%g3x2XP~Q27klBjwcZ4>;Tj`zhQ7 z!{~X-4F`!m;MmIbt^K>pIz#g*HvQScT;F((N0{r|fSNY_7+I%0M)4YuUqOwxIRD9h zH@Bk!0rAu0?iIvNs7&i{7c?Sv!-H#8em#+SRIelB*|#D;kNDv^FgZ8P_J+jol=xlH zDNZ_ieCkPhL-zljaFMKAYm#(C&Vg%tE#vk3zbjndKYAU<^%%{cKF1kPe*>)>^*&kj zxy2rjwtJ7>=XqrR&H+508qkmG2iJcjT`)oFb23Q}JWMhg|0o)_op1`>&n`$Kc1!(w zq<)hk>F~IY&r?+2dVY6Ap0D)!XRf59`;%U8s&E7QpS>Pf?}8K2tNlDKKki>pI{G|| z0}j!9egn>y{1xmUZn%QNb-g9Q%aTv+r`t)hj^{szyKM0|AYbyenPhYwXOH(p^T+k* zfKMgAUy1xq(&-}ozo_HZ-)(PS&;Bg=<9^|Qf~@<`vF~;4@qj!hvDEE-?763-w)%0t zuf{6_P9>?|bK(0_Vm#j~;UnanMJ-`{E_H#tmwZUlzfYc@EU_CZ&o_NY;(JtKKKJW{ z&bDy7T|AybkComz}#wzPgJ3f6csZ)9H z-2Tt?5P$sF>#00RcM3@-vbfb*K+``Lk(GfI)V4=T)^l5+;A1`lX&2a57ao81lmuh$Nu>K zMB>-q-PDr)qUU#>&kfM$D$k?%9H8~Qo{aXJ8mL#_SE=%-e$VCL{g2~?|J~~;UH^I= zqVuUGuP62SExrCd_I*=f`FiamRj-BnaX-=Xc=X&yVex;so8#BtM-*mXaGiK;zT)LW ze=n=|`L&E^Kl)(7eCho0zO*BqqWt?|_M81H%lD74jF*m%_pU#bodNfgbixdh z$Cgi@i#XA99R<%@M9-0Ef4g3vU)0aP_V&>CjlCW8IhL|AkLZ4=*5zg4Gzh{b2;nb` zzuNe_0)KV!R}X(z;qPkvU4y^I_-lf{rub`yzvlRBfxnjcYmL7)`0I$jRQ#pkuM_?{ z<1Zb5UGUcxe;N4ej=xO&^~PT|{s!RhTKo;c-wpU1j=vH3yAgjk;cq1VZpPnj_#2DA z9Q=*LUoQUg@OLNv?#17I_?wEq2k`d=?sud+szG&6HMkgmHSpKUa~ibsl!nfp5DfEN z0XN`p35J))*1fO41A-lTktW>b}e97&4@=Za#b&KwGd-bsomzu!LZKgdkOX+ zor5bxTOS%mu9RKhNdN=;sAIG_=y5}zNAXb7OuQOJVb9{#?R`q2_VwPlPhhl1U*&Oc z#N&a;)vU>tEHF*x5CQERet1ZAr2s1Yu95~4SWyP0@S9B3af22##mT83bj=}bih@8H{n(4 zcvTxYc%`(-UKRGmP=FqNw??!o_w1{}nm2dA{e5@f)kutGaZ7cTi&ri1AHayis%K|M zJXAfmEbWjQ--32q`l>u{#B{5qsQ6UO^+DO)b&~^{S65+C?QZng-FG*JsdQ`h+mBZ& z-A4Tm;?=i!wYa6a`Wdg%Ny~Xr9$YpR^Pi~g464VvaXz~cR4G-ulS`{BPECi^$9o^( z`%VtHyub2IMh~n1C=6ThBEV2XU2$Dqg0(vg`%p^%DpJq&;aAk2j~;0hreedtFlN~cjDDv8H!9@Rz< zj|X_awCb_kHwIxCU#VJa`LP2!Qd@F8>#)HCmZEkE`u7i8xH?OaRrBh~PF-!Kun~CmVdN^OrHb!14Eth$s*MSF z^$lG;j91kR6*dR2ei$$Suaw;nq+N(thX<(pT!kH_uvK{FzE*j>hgW5;eGRXE#49*k zm-4i0Rcfl_*-5Hzs8+c3TGjeT(T>ZJv_oB~KBVlDy~UTichsFd#Ee+_z>;5N2n{6m-!V`ELrH$f_l5^#RF+{ z9N9VG$xl; z?Qt3U4j81aLU?r@U8#}bCc3JRVPgg<50&mX3TugBZbNyb;#E(Fy2`+-FOyXoDhC<; z19;^ch9~_7sa~wEo+jUZXt#{6ZosSF4xJZVmtZVQCt`P|_{O02{J|>h1qxGFheHn0 z=ApLgV3qE@c(td!x|)Vp-6>4vehj7Y7=}%xuxIdUSdy|EeLa?Z@N&$RYPV^Ff5od; zQ2WT>OR)a9wUpgw81@|bevMa6Tk6)Tb!I8ls&*?yb?`lE2he!>J6^#VjU%zB+EDYy zq#?`kPEqs6=9E^b4|StHE@a{U2fP0##MD{$a0u6}c!TDZ-X8NH(x7Gb<}RnNoS7(xTF$f@pDJtGkQBkp|yijS!%F0gKv9dHXBU7U?BmJIt&CT-szcIe?jYhxs z$2;eI)?9PVHP>Zt;pTn}BsZ~}^kvF$R<7~!1~~zz=7ID|owbsazFhZiE#H7t;q(x(@eBy5zRwY-Vw9>MjG3o?O!4={ULWKc+jyOY-z@MqHAo z-tP2GjI-*2IJLD5PrY~2rCzUZ8B^Uog!@8oq3$xI_c!B^I8%o7{%zd8Hg3;$`)XN+(^n8m`)4d9XFqMy9?$54llk&QhO|)UxwKGD zj+R=@(ik5FPBPPHw;skUV})wZ=SA7n^QQKX)t?7*o$SK)%ka?+IJraSUO?)R<5>@PldO7w+|#1}=umxURVh_%&*D^Dsi*d`38%IprK&}%=;?$V-_K>I99ftb}vXoA-DImNw^CAod{WlffedX2aZ zS<+UvyLePAPPSV+SlrF6saYK7DeXTx9;arp47}8 z4bo(fgg05>?@ii$lVp$VxaE`BklteZ zB-yyM-K)Evls4+_LEJ~WQ**Mdr`|NXv=~C^sY#bv>r!!-Cz;5VNsA#;x)x{37Pk|3 zOSW9a>${n>&}?~T-$$-{_AvS~gJ;-u^K`~Vp5A+8XLdBgmlE;-9uF`PT zhO04Lo#7e`*J!vr&uDy~El!@If6Xq!sre#Kt%M~wHO}JH*)7gN?YaX42n24Y7IC=5vRsQoNCeN$xX8# z#m%05+N$$Ia_YR4oH~C`dFu5aeHN##F5=XgC#9-|asE!e z%pRR){O)Y4-$&qvPZ9Sgj=Nl(x+wN zD^9hY4#mZ}kkY2L?O~lVK(8m)qd_<=uk{YEuO{{6sVE_D2TrbKPkFcUMj5$R+O(Fs z^|tc#G@*@LndJS!y1XXFRC>yj65ANYHjd}*^W^$!NuCw++q@&>)K&6RPpQAxFwZ^L zrM&OR$sOn*P25T-{$8!*zIyI0a)0Xe)S4ruYKBRR!<4GF$8a5{O0Eg_ME7Q#nsu$@ zJAA}h&&it!akt_6YEn<}#HnXQDZP`@+jQRJxI1(=0+()<(owjmsWNK$ICW$S3|FK( zsV8mO8Y46lxA)mD94)!;>^W8DpPD7&)GQIFp5MeR(n)1xKi&}!^Ih;EzB_0dlR|JpLlM}m$r&0PCe&|Q^!qsC+5nr z6rOTYs#c4(IN?pRr+H@GlqSBQ4Zji}2KyQ+UdC@KDq?&d{qL^CdS#zi$%v zGr7kGi&OVVLQ(Z(j}~wrd&OJcMp-VHw7aLbo|pGdmpeB#k{Of+QaVVJ(U5(+?k!I3 zM>kwwO7o`+Pt8*~8~c;%(MeXHCvZETl~Egpn?GIJs=KdvoXnT|CnVt1-PcK4NUwTy zlAKx{AMl*DeKm11b2d+pq*NUbanh^LpA{!<+nQTT`9#7~uXcI{<191rqanGBb2fcZ zZ>?lM)LTDs(+A6boTc8`QLU@WU(>nO(68rR3S_L7()Qkh2Ow|9Jyb9V_cQKs-F5t# z&)^EAZFd~+>u`7CUM=_w*Bh5sU}E0K;Ij03@{Xslp!L~mv60JqRoV`w-s%GB^NYAm z1tUCrKwLCQjwbjC$f! zPL7ORlY7sY&XJKf1U1i&pjWbXcE4Yotewiq+S&d7N`oxU^Q?=LGa!3L4Nl!rNU2&K z#i@H0aq5mo-rEjq;%&eTS$F0ARmF@LN)yR-8`3&LeYHG#pw8bS!<87W%y5;4t2SJX z;pz<6V7NxZ9W~r>!<{l5gX8G|UGunR!?hUB${u-Ebi)N0u8w_EW3`<9O$Ajjv%$#8 zy_qVND^nJwRWs$tYXxLNKR(Nb#K|4y7y^IuhiMI!*Ft!rgE}1#S`bbkHx8De%6zFd6e{7)svh$ z2b*weKg6jP;%=6z`_5)^GMoC3Zo#ShPI2l=ETw8?b$Lc;n*9iSF63RsGJcQz!g@dZ zZcpj1V(E(-4Xan{^+=rR0UOfW?wKv4q4vm^QsGUr%UBgLLgqQ*)Y&6Wjbs4zR13)s zxMFp+-+XgbMm?FUvp-AW<+02+;-~SI(IqScpJytecXqJ`_^#3;CNfXsF{A1 zbyw;I;?m9HUcv>>U5%4Hzr)AGJeWl8o>bX}T$2asTboKwZFjcrURTgHe+sy?9hOPOTf_)KQgEH6zN57A~VjZ=;1c)uP&{7j8I*;c5&wg1wZL z|DIHrk?U=^c*7+aF2-&yn-t! z5jPH3RwB=cvL9cJIRIrgxr!O`{-p}XCxy7JIQ5?9Ej=eKWL$<0lolV5`>mw)$t%Q1 za{ncFtt1I2?|8iC9l>2C=RZ&0_O!VyJfTRg^E}zc%I8gTPe`s4rH{}1i#~_rhIf+| z58QN6a5APZ==I#>j`osLd1v&(JfX;wbxFx|DAza1Gi*GgtHwo~I=95B z)l8ha^OcoGwUCuY-1;e!Q%}N@Q%<&#&2~G_7bl-L-Zo#3mTD{RX1xOHJ-k5bmEyMR zZY6Hdg0}3NY9UUwknyXb^tX~aa%#0`FkGYIjvDT`;Z7Outl^pr*KD{J!&w=7wGCgx z1sE>D7_}6`xeb@~f1H}ndH*M;t~ioYb6lL7dlXpDosVIS*>VY_Qmr-f7keq5ExtmV)MJVcAm3qp_7$}}N&;1`x^;vR?QvH9N z;z_BZ$oMIWI7O+!DT?G2rI{W`?z*>>s{IwGcv4UCLJSCGs5bGVbJ(O}H^Q@1?CR{Fj>8u569B zE}jwZ(Menx^Y^`>f$~|5=Mw~Dj)xo0Ww_pki!ofR;o=MzZ@AXG z!*R<_89flE_UJFhMeZz{^zSK%d$_zcmp(QX0FkB1nqrtMZ@7UTSzET=P z|GpU9g1hjnd=@P{HA3Rl%$9o7sb@2b3&8#4Bkl~m3!TNu9+mpt%^3Uyc~!aOc92_W z5{f#bWE;_ZpKFjNIW>nQr{2j}8KRr}5yduY2TM*pgB@Y~-rLH(o>|-#wozX$PI~%w zxlp8S$06b#WE z2kM?b0H^NsC8y@N?1!4WvW-n_ZJ|lr3Y_;4>Af01$$d`l4zsv=quvL&?%EOdqdh%n z7%45}JyPx9O~z``jrpuTYm=*xT*YUPJ;FGD{|lc*ESGzb7igPRa8gzV+`R4%DAN1v z8R0l}UP`GNU0Dy3skd}_>snH|T&{!T$n9J%&sOpct9{Gm3M+2^au*b}AL0~6oLV=; zsnt=O`V3c`x?dBgW|KH|%*CnIr#DXV#Ho=Kr&@?pEyUeyp|<-S*K^Yj&Qk4eob1;^a+RU%g&EEe5QJgz^zCeua#c zd{^>S!@2c(7btywg*;9CgPXD90a|!9o3y!lJ=w<66*2T#?OUwj;&5uL;tiK#tXFQs zWf?Bda3zK-GhC(Nsts4k5mZM@oQ&1Wqr|C|I)Uw~86i&1V!4Bo^>0EOxkK*2e*9gL zLaFqAnq8g;dA52IAAT;kMmleQ`+PUYlGk(9jUzNB)c?D^hwlW`EVaZ3z_F+BCb2fqa+qL+>&pC!?lvLK#il4_3;(_Y~aem4oQ1+$UaGd4w^Y zLoO{`+%nw#=3$hoXJT$0L;9@~5m^m7YHL)x^p9+il26D6(&}R>{g0LcNL^;^et|_E=fh zdXd{zEG`zucQ0}AhI<7!KGMX7CgKjQ%4NH1tU53nJINhcB`yB-n$(-^DOHsEKHROZ z`joM{PQ8{@3n`UenX4ps>s8)oS9PFmcU-BrIQjJ9ezUmyjND+{{bt!lBCdVabowHn zp`E-{a#`fMSAEJ}7UJ&G-4dMou9f;ML0YKmo2*EVg&Y$v8G{YfOG~XbMopX=HF0Wg z$a{I2yKT+lWOnw*j-;)W&aVCiQ;?)f#RjCyB{ zdg9b7AZ?W!!G6dbn!jd;aV&G0#ge;kL~H5#HJ{Q0$%XicdxAZ>OF#OfaXZ$WWd6Bv z>E=z8%J-i;kCC3rIm6pfoV4w$b%88zXZGp+QzI@tRrSQFdeTCb3V9-An>m4=s+CKe zTAReZJwv|VBu=e9kvO67#)0FpAxA!oku^fTzwyZ08fK1qmaH>egW(ztchqpl4cBD! zui0?EY(us-%`T;?f8x|}lX@yAPOYp`def=>Xd$Q8Y;kJMmU?RLTD|{w8#2RAd*?CE zYUTH(RIU8dLS0h=$lau<^;t^Q2uTZd^c^_WKXIy5oa&YIS>?p3J(9Cl_IE~{xV0Ra z32nk@A-Pg-ajKrn$ca-qDOGzUPW8SwPW3(pr}`{TjfRw}o(e^^6{p(9;#Au>oN6mh zwUtuUHi;wn89l99C!fcEhvVB`xMrNcS3LFPE^WuU1e}nwXQbfNxh17)G~yToHCEzO zPAK+k+{gNe>w;6{NZmccb|1uDSeeT#QS09+V>UTFXBpoV!>K0`aZksav|k3x_0lm@ zo(+c4qV`AbQBC6BH{5B%4P+ZV)=P_*a1ZHjH16ixY4zP{IYuenq@G-p3ua#SoYSS= zZuU}2&yLD6T%O^I3|C^fVYHR2BrIdw)w(tD}r@6~!%+z}=2D!sqM=Wa^XeU2P0<)pMDAFiFeRc6y|xED9wuRnu*QY3Qucus*=Lm8oFfbt$PvNyLvGCNhv$S}OzTB~?wO6i9!c!wDPK}E=8S#OePT}Opyu9fw z&T~9)>bS`>;-O^u_i7B4HVpFoO()r860S@qtMy*Cd$R{>8%^ZYUW!v^fH-vzBJO5i zTeW@#(WG_{zIQ5(?PHm$Fr^w=je8pRw>dRSU9cnUMv*BFqh`MT6eOl+K zFHY^R%pv)v$&Sq3Y!xTp?szjz$da38m$que z#i>~$P96OeoE)wGqZ4rI=u1u=H_55%v>PWpo@Q}skHo2?Do(9eSw>Er+D0BuZKDXM zc;eL7q*QH9_U-sTya%aG!^z5Z$5gp$oF><^R_;{g&iwJ(5?ZLfh*K+;Z*;` z-K;0M>)w)6PtoGkxX5TTF5In~n|daBNk z8l$Z^H3s6;7>H98af)1rQ(J5JKTaJt$*E&0&zG@Wd;Gm5r?x9?RjD|&a!IKgXUVBG ztiU=wnQ#^61o;bB{ zLQ$h3In`EjYOKVmy%eWr>?xd@v1f5=o{Cd*S4!0}mlm?!LhmM=nj6hHH8%!v#!qD5 z`s@}b-%@#0cXBuP=x(W}C^Bk7nP!(!Q!dLx?yCt|?OO}iEj2FURPP7z7xl;#8@S6-AuXyRP^C=D6H+>K$kc^<>}fpJ4S>`!;;EIMsW3vorjLyxH+3 zr+S~n6+)hSLiPlZQ%6CZB0G$nxSKh(my%Px563BXzR+S_P@_Aa`ge^0_+I^@7Vk@s=KzdXMv=&)ysG z<=&b2O79%B%6lqW?OlM@>#Z8}R{QlwIKX>wRQA8+>H+_WQ(8+UWByT3yv?Eo_B@<+}m3 z`WCPiFW(-%Z8cxtHPi|4l`RJP%E*NJ*7$j8;bgotCz-ZdPhETa3Zaj$j95S4x2O~A zyB{6s`yLwS`yo2i_Y<}|+*gixg0J)~(O3GG;wwiy)mM7x_LU=^rI+UDrFnY3NN-iF z=S%c_sottgFD=(wRq1uA^*S5%IyHKoTD?x4UZ>voJbh^Jy}*7o>iczA@BdM~|Ht$Z zIIfSt34H`k=_7F3w~6{^eJ`Wu`Qu>BDBnNumwf+5n|-x*jHIv3y%t|NE}EYl7ptEf z7cW1VjlO;|8~y!cHU{{~kqY#aBjxau*%<0)gAnfLjXM3>qb|Pyw5MMew6|Xf+Q%;p zjq$rm{eFJVc2;emUr#j7Z`F`)AMSdTk#eTgYm-zKYOa1Oc%h(pbPZY9EtAfm#3%RXU<0o^Y)=y?a zouABsdcSeZp9VjfOZ)vY@r`~t=wUyZy+{3Ib{+HU%f1}<>yMuBdmKIG7l$^r7uu!v zLThd>v=-fK{^G6vLiX|(vai1|{r!a*;4jQTe_=ZO`?vGe{5#yiG8E7u3JuiNp=)S| zyU2u7%309iDB9TJW7NN+>{mcX*{{HkGAA7!Wj2O(l=CILV+_a9)lvG^v!nE_cSn7; zca)yQbd;_4>nP_-Y)3g?26mL$64y~?%g~N8TjD#)Y)Q}wi8>)gC%E-Yx}M3>GdVgl zPiN-q%p#px4AZ8Sbo>`u+VPcJZCY8!B(z-bb7jYOIUkQv)24X^$iDan$iDao$i4&w z$oUl*AbaEpc$=ETJIVQ*&`Hkd#7?rp#CMj=@XnG+=q#DU&f{3M_IK9Tiq5jd!=2^a zIokOG=kjsA{t3PQDZTz_>U(KtJIiX>Gf-%~1BKQnP-roM`pOU}rLlpsmJSS*H7zbs z*3zMYvX;gN_HD=3^|pzDXM{JY4w1$2>d3#618*hP+Gco#X2&MtBUU0vje z^z8D=t&DA#-tc3($f)+yIk8=2p2T&LIWV+~9I31zVdezMw(^3cW`2-tu_#EkSR5py zQ4%DhQ5qzpQ5GblQ6BUMzA{M0q$)_`+}{`^%$gwSPi>HXjSiCj)CcL;=pg+X9i(5Q zgXHRbIOqfPXizWO9t-M?9uK+?JrPva)ux>alC$r0knGFZprvHa2bH5uK`YQpL6vB8 z&`R`bP!-w|vE}##%*Zu8|=mKVA=PCVA=P?VEvjE zEc>1sEc@;bmVHkTmbD@)Sk}ory?(x4zli#*rQ}&l$+MQ~`AWS`mF}x`=Eh(d)f$~# ztCQ<=a(%FjYJ<+-A1q_r7%XFZI9SH^Xt0d!v0xe7r1LN7 z{AQhhRp+pIH6AtU2-$Sid^WM1`j{K$y) zb~K@V9GB4;#~)}v$KPnILkr=2ci7N4hc`OZ(H@O=1fatmUC;za2%6{!LsJ}1G}X}q zbvt^Y>5lu+EJqBQ<9Gzkb3BITJBFY|j-hC=<5{%C@d8@vcm*wUq@d-FG_=w&4y|%z zqScNZbfaS`TH`1{YaO%DI!6gw?^uX7IF_RO9TjM!qY6FjSce{UY(|ecwxh=#b?6Dl zKJ=919rU#05PH^e7(MU!D1@1;k72VuhFA45Y;nlU(YorR-BsqlZ&w*-|E@C50bOOB z1G~yhaCDWLpk6jV!F!Jr(ajO`owmXE6%{K za>a@3Dt8V;yIzGeT;EE9zLgZ+r|Nt+ePC?iGq&&euo3Rv4!u7GuVf9m!AG<22wrTtyyeyOpm+%FyOD)&oA zyUP92v95BzbiAwF`JB*ueyVF2tL0g}Z|C*CHR*k8*8Nr8x9C08LS#+r6C!&N6C!)j zFGThtHbnMfV2JERT!>tEhK9&>Cq6{3JHz!>2_bUbNetriR3!?vQI7$MldJ zXjX{zHpVAJ*37(+w)p%Ixk43%$Q7zMM6OUJA??VQhRAiQEJUtTaBbI<+xGu2VH3a-FIT=}4=(kU+FPL{{TIq558g>U$BY??tHee_*KWV_c~8VQ8q- zj1QG{dw8g<+Xvn3WT+7^{axF^_m1|j6s9ei(LgiYP7b@4X{7|`; z6@|*RtT>hsw2VW2juqYC=QM+E6)C zb)i>jRUhiahlj~tIK%W+B1~T;!sJ-=4wHT96DG$ZCQOb+zc4u#1NHiGdi|k#o#DDq z(Ay^JZBz7os@~SEw@ugEW`)Vf9pfI?SxJ{6(+OjbePPdvtcre&WFh?Y6_EC zbSX?`QFE9a!K-01i(0~D7HQ!!i>%=?i@d^R7WszDEbPQHdUoSdAWySdSiy*n%F9s6|gi>_$&TyosKUco#hz z(TJXpID$4se2iX-_#ADHIDuY`_!@1A_#V}qKcZG=6YAx>jQTqNK>eM6qXACM#rQjI zsKe=vhC17$;m!cm>Fk2KoFQmWXBgVs=|uZDd!RASUT8n({b;N+1|8^p1dVe(h7NTO zLF1i6(c#W#(FErUXrl8KG{u>MraIG5w{skt?#x89oH=NYb1ItWEI{*}v(O@E30mx2 zh?Y2)qNUCXw9HwBmOIy>mCns*m2*2>zcl4C=8hYA!13l}s_F(*-ZP6xYJM@yXBiif? zM6Wu#qAkwbQ7tk8wMM#7ugJSm-^lw=|Hy~XfXIGmVC18yBXTer8u=6&9vP21BS)aF z$d}Qck;!Q9$W*jXJJ%tHr8PDkS+XQD$R=c4hErRea;C1^tA3N$ft z6`B%RjiyF!Lfw(u(DcY%XjWuBniKgpniqKx&5!&5Es8vf7Ds-HmPGysEsgvyS{8X4 zEsy*Gt&F^YRz?1bR!26Y8zcWhYa*|swUL%P8UIKxv_8@gZHT-D-5=Q*ZH#oFhahl6Os3#ry?IjPe(qCo{fw}&qoeInsC+aqY6j|vnuCT$EkMJg%1~$2a?};I673na7VRCi z5$zMT6^)77iS~=yi^fJZpaY{0pm9;}qeG+qjmAeELx)FwfhI(Kg(gOQi>5@KMN^}G zLfugp(e$X_(5$GdXin5WXkL{0F2+Bq4O$fCixx+9Kue-Jp`}s5XjxP!S{`)=S{W6E zRz=-~R!8+lH%2{x)!Y4P8={^@_eVXCHby0&hoh3vqfw*KV^L$! z<5B78iKvO_si?{5>8NSw*{CA)eAH~TDQZ4?DQYp=99529jd}xZiCTkd(Hl@}bPehi zy#w`)-h=u_zl8=w??(fp-$NbIAEKerpP=E<$5ChWNz@hn4casM4B9*TJlZGv7c?gN z3feFFPc$~V1sxb|>dE*=+tH!XK4^TjKRP`6Rx}|x2u+N>4NZv-M^mFCQFrv6XnOQL zXjXI|G$*<*nit(4&5wQ@EsBmqi=&63CDG5JrO_{NDtbIx9i4@4 zjLt=CqF+aAqYKfx=wh@!dLG&ky$IbOy$o%Pu0#(Xp#HAE z(EyirH{hIVd|%dZGPX_oK0{7<8cP z5j4*A7&_E71dVqMMTfhdMH5^vpoy+m&=gk+n(9hJ-L7$Hx+@dSa^;{ouBm9As{qY+ z%|eS@C1|m0AzI>Eik7-6&@xvQTJBnhR=PH$Rj%!5wW|)@=-P+YxZXi)U5C&**I~5Y z^%2_O`V8Ig`Vwt)ok9=0zC(|?&Y{O#KcmN8m(UZg-_cX9Yv^g$4fL$b+KcgbwMCm; z?a)iEj%c$h5WVW^inh3JN3|XisI`X+_3Cjq>f7T!)W63=Xh4sCXkd>=QAdx#y?F1P zD9=Y56Xp4+CQ+V`Y7^ycVO^p;CDkWp`uJ%369fDEXpM>8(8GyQ=+VS`&|`@)=<&oy z(G!VJqNfs{M^7gvqGuD+(DR8C(5A#G=%vIWv^jAedNpw=+LE{m)si-%)}$S%SJIoP zZ_**uKj|nMkn{x_nDhaqETig9mS?*3S)LaXQskcha7x4w&c2cIJ}rEt z{=_j-f8rRaKXHuIpEyS9PaGrlCytT&6URvXi9>G{r?(oaw~E(WCFuD?J)ffIQ}w(X z8t?zf^QM|SZ>q`jrdrQmWh=b-A0?&MQBvwPN=ki4N#1{yj6lFB+4sOvve%ALGM=HM zWF*5!$rw6E$>{ae3B7efADs}R6Z+|dSO}~Yqhx=Fj`}RlSIZmqWgJfgqvh$Kd9*wo zTpca%5L!m-?-^1La0Ip*G- zTAexx-KhJT)G7Gd)WMu&R<@fmR<@fuR<`IKEBvgn`Wzc4>OW5E1dNk9f#al3)3`58ZM1$Fr-!%EVl&R5 z12fK{aT!0MLo=Gt_>5oC;Tc!ZgpA+O#Eh%M*-D1c+!;bk&k$NxhHNn>L;9JQA!}ED zMw5(8hP(+W&X6}DB^mN2q%=d`gp_AUuPSv;mCmWokP(ZYAo<}Fgr6`$_=yuFpE5zV z;>eWJ&`c@qr~6pl56qOBahXzQXr}ZeK2v%!JX3m-kSRS$%#@y_WJ*s`Go>f)OzBB_ zro5BM%9M99IhpcKCNERo$>e9sJDH+Pc_&kxDeq)TGUc62X{NlBDa(|1GUb`_PNp(b z-pN#D$~&3rOnE1>F;m{j)MUy#nc7TwCsUUx?_}yT<(*7Jro8=Y%#^u$I8)~Q(M*}u z$1>&Z`ti(z^2Rvx&y%}G z7DwN*SHD8vve%>4di{-h{TjV~ot~-JeS_Y1f3}R?VLg9TuX&78dXg>uJe94Vzq&uK z`=)F;n=WO`x!jyB=hW3~IhR|q)1G_RRSnJ({B>GH$s-Xvh`X{#@DX#$4I!!@088M{}j;$8zN?JDw|N z*@;{^%TDFWOgNn@XW7|YIm^!H%30QwD`(lITsg~{bLA|%nk#2nORmfrZL*wY*2!{~ zc}sQjr?QVcFaVxCx}(*t?cVCn7|z0BQ1!wL zmu$E~!>u)3va_{C@?HE*hG0#5q@>W}o+}CKsdCdw68Q_=YW(sI7dlqceq%J(=jN~E zx6d$M^9uJ@DR-@~@ZDB2U%m0PEj++?!Pw^>OOp?_j(FIi)_P&@x8{;RXw4NGF6_hB z+?k`T&hoM0K52Eyh70?wHFxHVR=4&)t=l;CO>3{t7|!x-Yc9-i0}PjJxI)9NHQWJQ z1vBLh(;*{w#&DL?2H9`}40pzGmhX&uh8tkGWWyaY+!@1JzBk$$Zh+yE4OeKmwT3%n zxHE>coH2NY8(_F(!xb8Ct>F$C?u_BW&bIOf7%tgxg@#*exI=~u`@v{yxMahHHno;^ zbMZ}oW^r7}fu72xlziuLnI)!sT65hzF0Ou|I&v1!`%Qsw=;r1KuwBaP~AmPp@JV z>>3A#aq;3WDZO29#q*UhyNZ6E*v@X!|9X<8jr=7k{-p{rkZ2?N6YWGh(bWdgUX!mO zYGWKy!|iB4GJK?S8ujIXg*k zsimovskN!~sUN3)oq8kHFD*E&TUtcggK3Ya4Nc2To13;UZCTnIY3tIqr0q!ClXfWW z+qBNFz5H6yYinPtf9<>1+KuTo=EX77#>^R0Gv?hfhsS&~=G>SoV;t@Q?xF4k_iXnP z_eyuIyTN_jecFA={g1o-*yypbW0S{D8e2WKe(Yyse;ccf^BdP`-0kC{$K5^dk#WPu zy*TdGaT(((#=ST0vvGfn>pZ^a_(9`e9Y1CKg7KTi|1kdQ`0L}X>5=Ju)1OICNiR-c zl3tm_v=yEBhxp3nR<^G2qB zR?n;#vkJ4eW*y41P3$po+{AekS5N$S;-!iIO!S=;G%0LS%%uL4hD>^T(uhe(lSWS( zH);B$vPml^t)Fy!(w~!jvwLL^&3-jIHG4vKUiQrF((D!4)!Ey!>$4ALAI|_4(iIc;+MaysU8$+<13dyXq7Cg;(dAvwcxp3iwHCpl+IPHE28oW`7EIZZj8a(m=H zocm<%OSy}4t8(||9?1Q7?iab==Kh`AX0qSp;K|O(cTRp}^03KClM5!-OujMst||9U z88GFQDU+rYO<6GIjVarv?3wcJlw(tVo$}`tTV98}Zh80SW#nzm+nu*B?@-=XdFS%} z$?G#UW$J5F$4||gS}=9{)EiUJO#5ZppVLhFKKZxi-On2@BB8?1ExEtKREr->BFYKI(^ji^y$UZ>!)i4-3lHlh%ZPlm|XCB!MuVM1=|W5 z3ce}$v%pf=y|8cL)BaJvqsMv zJ1cWm?yPCEX3Uy9YvZgBW*wV#a@K`e_TsL^Va1Wf_Z7z!KUN%9{B-f~;#Z1C7LO^; zD9$dPT3lE>yLdtIisCiJ^~E0)A1gjre5JUh*fzVv?9Q_zXZM=jZ}!mHBWAxod&%q# zvm0iAGW(0!5pzoCRLt2hr*_W1IY;JvHs|~t)7nRy%970`J4^PJ94z^~#5}Ltyrg*x=53s}W8U6*AI&>E zFJgYL`H#(iW`5%Qsq<&gUp#;1{QCJH&i{P=+4<%LT^8KE;PC}13)~B4E?BzYodusR zXjD{MZ(6*4@t(yEiw`b7y!hkA#}|LK z`1Im)i<=f-S$uWz^~Kh*fU-Nw?kyWsHm+<**{5Y4mOQiMl_hCQCM=nE@;NOFvxt!&1w#z-6~Db1l1XS-)k2m&Gr8d0FbRiOZ%gD_*u> z*@|V=%Qi3Dz3i=Jw({G{A1#kBf3ZBJysW&s{JrvT%5RiMEPr(QkmW;{k6XTO`Qhcq zm;ZP9_sf4;Zd(zxV#JC`D=JsitoUNZw<~^H@!N`jRzf@Y^82m=T8-KhJu`+Ju%PU8(9J?}eWzou-l^?CVwDQJE z|5aU9J+SJfRq3lHty;Kh<*F^K>Q=qA>cpzEt1hexth%@A>8jyXqpDU_HC7$1I$3qD z>W?b#)lsYOU;W7Hr&hnTI(7BytLLuXz51QiAFMvM`j^#zt-i6k-5S@Lo@>(AEM0SO z&BZm=we8l1uDyHhLu-euO#7^7k5>P;`f9af-Jo?7*DYN4?{%lwU0Qc-UAy(c>+fCv==x>r_pJY7{Xgq( z+wkCqp&MS_FlNKD4SP2pV^qSaplJC8xL;$apNx=uWr1)(YncZlVek_ zO<9{(Z2EB1wM~JWyKnBf`N7Sxn-e#`zWI&KCpQOed3j69mT_BhwiIkB*|Ky?)t1d$ z>bAVIZp)=De{A8`rPuh@xN2UknO-x$W=+kmnh$Eet?9Tmdh7jLpW6E3 z){$GsZ_V90Z)?rg16#k{dTy(IoA0*ZZPD8v-8N)f;UWOvUkkd zF@ML>9V>Ti-mz!LksYUY{IcWf4$IEaodb5hwsYCeZ9CuD`N_^RJ1_41duPC|@LhNA zdTQ4TyHa+I+m*9x->&y}9o_ZSu9jWqy1=>z>PFPfudA(lukMq&uj)?MovXWAH*ELR z-HUgx-rc;r&z{shd3y@>EZMVn&!>BS-g9}6Ywzs66?@;>dtmRUd;hcd)ZQz5ts1{g zg*%0VnxFQG)=B$X>#Uhf4y}W!yY?_ol*3K^wSR1h+O78SS}%LHc8`6s_OLxqi?`3z zrrL|O+4fRxw|$}Zw!KXI%DzUsXy3pc!Nf#Qi z>`oj?j3SOE-bu_M_9D(F-bY+be2}<@_%Gu1Wwa%>FXvxA5^p08CiWygNqmg>H1TEP zbHq&I3&gp^mx=Z5HSJa6;T8NA4+~FTt9bp(&!akUXG6>&jw3!tegZL(IEmO$!ec+N zemB3niFlA$Ks-jAN&K2PhxiL|KJglH5z)4Xe?vojipVClJ-hfVOWb}v{x(nC{QMko z4RIuKJu!p0nV3)9Ml2)lB(5cb&~_5vBzEU1=N)1n;z8o0#P^Bu#1DxH#E*$-#LtLR zi2otJPW+0vfcOn@CGmS=E%6-j9pVMzQQ}47DdH940iM18ApXS9*NE4M*NMKT`OO<9 zjxCYfNbO#tH*pHT5+%h(pNXl&i$piE7qE0onr5tkBs5myjni7Sc2iED`Sc~!BVn99$aiC6iTxH9fB z{3A?>g`OD1&KwV9Jh$^NWQh%-CT$z#>u+HW5~uK*XAkjK@^2Cs^Yc5zD&j%nPU8DS zziuY&L*ik6{+Rew2b1<0@tHJ!3lsnJZy9ko@p*RgKjc$9ae^n#Abv$Y^*!b*aUnl{ zPpl@MBkm(!ApTlp;$I4}KkWP!V*6$MMP_1m;x*zx`f;6j-JjnQYUX?j;F*S4MSr}B zbBOJTyNS0Dw|nz5EgWq)rccD{w*5JQ|mj3Tz@xZFv6h}es0-pFs` zlRWW3VpmU03Spk{vx}em6IazU&xpH-gNcpACyAdCpQfWG&BA|t&cPFyx7LQW+Dp5Y zzt!4>RW^tf+rg7sS2RQm({9tkwLAE)JO4%SU!>+_O^wv71~h# z9oN&^D*npvdj7)i7S_pH{<`n`+6e6f{<803{<7~8{;KbXTB`PM{V)2C)jrbFSxqKr zU+|ZFzh)i$hBfe8ZMt@vHSjyFkQHQxc1D}Uzuzj>e$?i%a+GS9*}@gAifhVhR))=* zm#Ic;Yue80utW1P?bLitb()`P4`=mWt(&Qyvv!{rW_n8tH@&UhVS1OdcfS^4I;c5K zjasDXJ+4U~Xpfk_B4?M#%3$ejoA&kPkyX0{KJ8|Au@N@<)(AhWrWSV~{_E{2AoW zAs>hQ1?2xg{u1&D$R{Cx1^K^_PeJ|~@;8vbg?t+FcaXn_dR%xLB0n0Z^$i>|ABlR@(swE z`GU!0{@G+UH<>KvUrbi>MU&0^tI2M@WNKr+Z1OT+F|{@SX7V;Sn|#c_n|#fGnEcFt zn%bGKn%bNHGWnaYnL3#NHr--wF?BTmV+t@|H{EK!VPfSlcQ%{Mfo8M0i`ilhGF#2T zW}Dezwwt?}+n7VlUgq1(ZOx%(Z*w=ZkNI}9uQ|-@XAU>FGv8ruZ|-jPH%FK|n4RWZ z%#r4f<|uQ3Iof=y*=6oz?g9Bu$ag{R3Hffwy&&HMxi{o{A>Rj?-)?2@1Ni~S4?=zj zat!3YkpBhwVaWX;KLWWw^UFG5a${1W7sA-@7S5pojbS0N`uPJuiU@+iooA*Vu4 zgZvugF_7Jm$3h+lc|7EF$Qh6)K+c4m1$iRmNszN4=RnSdJQ?y7$a#>bLVg|cG|2go zr$a7)TnM=c@(jo`AIgsZ$73%MHdI>_rGZ-BfJ@+QceA#Z_P19>atZIHJ^ zu7$h<@=nORAlE_O4S5gby^!l6?}Pj%IWTk3#+k^2d-rfqV?|r;tB`{5j;~kiUTZAIM)qJ^}e8CqZpCDg={4?Yx$iG0o2>DmYmmpt;d#bL2qx?0*;LM&dE+bnG@p%!mT zH;a$uc8jki%;IMWx3sg|VQFvaZt=H7SUOmomRl^5mX4MvOMoTXa;wE<>162v`A*1p zLGB6pZpghL-vhZfxoJO;8G@>s~@AdiQf4mktz1jw0? zvmj4|JPC3(B9P)C=D@=?eiLH-!>Cyil;X~^F}{vPrf$Y&w{0Qnr` zA0eNI{1fC0kbj2U1o;=p7a{)&`4Z&Ikgq`g4RSN&-y#12`A^7KA^!#W8sxtrw?O^} z@^#2JAZykO7L)a7i`m*_u~>hxSgjW=HtVkzyY-T#jrFp{%X-Dq*7}>p+uCgLvHouH zwfSZ@p&eVEx;2i?zkl(fW@iz z)nW~@TCKrWo7G{pTf17@SVOE{*4wOYt)W(LYd5Qp^>(YTHO%T~4Y#(l-eGNT?QZqA zMp!#ooz`2dk=BmZC~JT<+Ip+iW$k3`0r^hIcR}t6`EJO)Am0PIH{^RE-v{}A$bBF` z0Qo`44?&KB+!yk{AU_PbALK_M_lGzke`73B;=IyL zL!JgXAM$j_1&|9N7eSr@c_!ppkc%PDhCB!IT*xJm=Ruwic>&~7$O|Dag1i`V8RR99 zmqK0!xg7Fx$SWXMK(2)R2IQ5HS3$0Vyc+Tv$ZH{2LtY1YJ>(6LH$vV7c{AiKkZT}s zg}e>&cF47mcR=0=c^Bk5$h#r$fxH)TJ>-3m--P@YY@+XjwLH-o-XOKUKd>rx@kpBbuOUNf6pM?As zTkPd?O^-c zdW)^a+R^rpHNbY=daLb*wUbS=b+(yofi|~E(wkTVGE!uXg&1LIk z>jC*r$ag{R3Hffwy&&HMxi{o{A>Rl2e#m_wKLGhb$PYn|f!r7JzaT#hxgX?5Aoqtn z0CFtkMEpMe|?`B})%L4F?caL6Md zzX16~$O({Ng8VY%S0E=sPJ;X@&IUn+L$OVuKAs0cO0eL3mS&)k% z&xSk)@?6Lzkmo_34|xIPQpgJ-FM_-nav9_$ke5PU2Du#aa>y$nS3s_W{08KekXJ#j zg1j2?8pvxQS3_P0c|GI}kT*i!1bH*$Es$#@^r?}5A* zay{gIkl%#-7UTxVZ$o|u^1G1tLp}icAml@k8zH|3`F+SAKt2rl2;>hT{~PjA$R9!e z81g5Ok3s$v@@J4ghkP9J7m)u0`Af(rAfJT%73BXyJ_Y$}$lpNz7V>Gx-$DK!@)^iy zA^!mR9ONG%pNISt_=ZFZAA)NZwR zv$wI|Zuho_+5PO{_73(t?6=yx+dJDM?16Tty{kQvS}tncO|4#J?y*PP?9{uk9!7-`G#uzqNm5KW#r{{|@)P{RjKc z_H*`&_Ve~;`%m`Y?HBC)CcKyVy~=zx(1G~$|HN6(^Orby2iq@6l@Ij9p`JK`$ZKxx zW#S-WYyJOsd29avi&IB?*?ueUZGN5t??d7=;{RX!*(tma=N;@1#OH{=5?>_l_QbG} zeE)@?kMNmPF8jNa-w7x6_Yq~g2Z=s>SEhCUTl;_b|5dMvpM$8^_Bq~D6QeU!`x&0t z%Db4X@~z|AmvQV%{nmO1sXvULj}V2^n*YtiY2AM81jTuRDE*E1#NL@|+#mA9exCTK zCl2w%p`PeqALTd=_xwDM{>gT$+Nn5vqT(leV(Yk1;%6EE8J;+o$k%4IWkkMEt5tb^ z-bC!q&)YpezfJ7H&xeWpg9hyr;seB!#J#@o+F z)3Rr)pXF~)3P=9(q{P4`59r5~;Htu^1um3eOMz#M?%MQp8C3-6x)`FVB$pWE^C&*bO)Pd;)5pWE^CJ;eXr z&a8!u)&JDnGgWP;i0%AD{w?bNN{pqR9LM)7RQX4q*m}N9Sf$FR5aqZPd*U+UjE*<^ z`yD@TcG9;0>qy>f$a+@z+E`+LZ^YrGmyy7qZLPN;n@PZ4U{dyY`6&&z~Avz@mIwe5aHsBP~M;cxgq znah8e%bRJ}Kk<9=MY^_M51Qc+Gb}d4N;4d3h7X(JWHWrq4Ck2P^Jciz3|}+D+^>!8 zX#c%h+ul0Uf8Pw-nCZ`cWTby&`uolB8#6p@hJTr%?Ua$<-wY$nFv$$l%HLtMBx7P3Ui}5-BLVhiubzW@PKYEi-tM4GfZz$iYM;rR1ww`rt2H*MFKBE+W)EpXG#F|9RUCKO)rH}F%H}q2X2f5H^zY*RU>#yD_e9JnzK+!zOLj046vF!Oz$DeE8z5Abl2i*Pc}8F@aJbdcu? zU%rk%kNjU<$KQ+}-SOITzQxbOx1M+E)5s=NdMr15e#**c`PQ-(hIHWFFRZ_o=e*Vt zTF)z4&&yfQVOh_eSUW78w$kmw3eR>=DoMu=}s67Wagy#yi@~w93_A1Xh zv)*%kZNe2ot39-Kv~}j)R`@=IuMmb220v)j@7EoI(2Hg3c`xhvVXIs#v_7}ig}hTJ zkLRliwe5E>!>{kO>Ce|&`3B_kEHwEn-^y>LFIYmINVk@)avS>Avi5x4&gDKdoAoTt+`^_`Id{+@ke-<@+;@eln49MJs=|xqPI`*v^k;ID4c~-W8tj%i(#%GlW|H zdkD4uEn z#W%xmdFRqIeD)U!weipzSE44F`)@wS-Oz7Ex>mo2zO}sBK^ps+#(1MWf7!5~H~hWE zCwzX|ezuux6UO)D_W_R+vR-R5%re7{X4r*&aP^~2{(pwn_O0Jt?3>QB`u*L{^FRKK zO{ikIOQtc-%w<{Izt+5Ss?`9FLo@72sEq>y&G5?#<8#r*fqTif1YhfitITkFgK)Fm zC|`Rnw-3LmvW^GKf2oPFU10^kaUlKMm4Yyz@G@i4i-cCb@f`mfJeIZNc#p@jcAop) zWBC`}d8K{6n|Z&pHjYLvu?Y!--Q{V|{cGvIJm;&Wf5>klT9R({3m=}t)%>}`jB>Q` zq9^IrbK09#^1?&=7e{%toiND zke6x+dHCH}*7}FluiCFQ^7SUXi)XlhddEn&#w+9ZCBZ_FAoA9)Kxn)VjMogtK85WE^9HbR zoSUeHH*Z9Y#F+*~-ai&a{3*RIGoZ-Z$YRKINsPt+2a3F{EROgUF&_V4C<@JZyIHUx zNQpRC#YCK2dCwVpBPHWYP~`n)DL9Ihilai2H%QuXyrnc8A1LzvvveFkDFeqJio)&e z2W=}g!ViR^a0l;7qdldYa6+KS8`GK)cStwm4~3#|m(UbvymSlB1SkrvsH3;=sB|mN zBq;K}%I3r$mu|zK40+QX+ZTD?S_}NC((U+9K;C@EHbtQi3>KzKcj8ZjB5z`AN$P_z zSm-C;h2IzQCPB6)3Qia-43O`}?+1bPdD`CfbnWFEpB z;6&kH7%VvD`|t~)$h#b~NWBWZg(A5fsl|}aYRe`*TyBs55Tpm%a)_779q`K`z0%f^ z_+0sZ{5g=`Xv@WUPJRGq9ux(|)`|Exa%cRbP!zmuU2u-cU2(pHB5#N5hV#9ghjRjo zyeqCd@gLxc8Z z{2e#PgJ5e16l86KgBM;dkvgJ)tPX*@hGEqm<(J zhN2K}E5mtEDaYvtZ9u(`~i?Tlx+llG7J`mC@%cL(8k;Js_;``uuz~> z;}3;4-mX`Jp9X`4VaiB+C$#aly;1lXFjy#2M&lPl8*ksM#cu?Id57m1{Na$fzill3 zO)yxfP#(rFhc=<9Z5;m1Fj#OYkKm7h9D}y;I5o-yoNCB1Xq!lUl=3M4Xvi^Wn}qYF z`WVh3DDsxh$;1zaaE|Z}T5sMw`vlHiwy8Kr)hBVjfgF{#X*kE!={Vm) zj!N4Moa5?KINw20XlscHxDDsxjIXJ#v zb8&p2$ZzQ85pU)79RA%<6z;RlCw`CD0{qrc2hm;#poV;0{v@Y_RXIpR`MAA#ONj@Qfh9iS*o6qn(2^m+y7 zekcl$i_3{W;I#rj7mC6haU~_pg~38+FW$>2bb_L=N?e80)$28!F3=`?Ag;#W0=Dl zFQm<-4LJS0-obeg(!$b4;sd9ix*ZVj_Anhq_!O2Vg z0H-^oJ*BNU`KjA*dO}fXFKs8@C-p=8-cS^Bq#Za9rhbIe4~jxZX(#aksUPDHgrac2 zvL)lupeW=@yNMU1?!g}lMd1NyFV3*kPjQ@36go-!a7t1?!zqTM&_&u$e0b{T z_@z)3x=IId%2U6{}De1ioyWt6i$NuC!BaF3InCn#FOkl<0nH=7$lv+NwxoiV~3(JSUQWd z%l<3QCr}isq;ojC?Z4sdfuc|?ohSaO{dfGmP!wvU3pj`Df8cxxMPY{YC(dE}UpQYu zQFuzaNc<8n3T74oIqON6h+nb)ga0oSg{P&<#IM@_#TU~4#d%S>f+ME=ha*8zSR!2| zuBHk6uM7o>!b_5kxL2BJV+4Sr@UkS~_@>D?eoz!%krd*AX)1mI6onQ18x2}G%^N2e zio#0Chj>_;FMc@WSd;vS?@aT@{|Ji0Yf=EtuCzd$kD(~ME(H-UOAp2`hoZ1s3bEOQ zJ&^xNmL7^f0*b<3DGdKp=q*&GhvQd6QP?L%;C}|ag^}rz_@kgG?3bc&YSW`}#z0Z{ zT#CVYI6W3;92AA`q&U_+4w>zw$Ky|cqVT$K#r7*G<+u%g+HZqQvZS+FBuv5#n2}FEoG8=5e5rWG8*AO z4tbxi)ENH~3>KcuxCwtM6ot!D6H@<$!NQD;oAIYZQMe*C#s3cm3r}aQ$*3{_Kof@t=XruI1+VHpqM?<2F*~Lhd!lE$}7C|4z%e9e+M#ZX@48stUb@g&B9^ zKM!q!x7?CcFX%12kZ~9OV#xc3BfD;NiD&MdfzAF!==I_Z4;+u57FBcI1Kz72dauM7vm%tC@;qW8541O$Ez*uDjj902)f>HyM zlu67XX z;@&!a)txv#I{nmL`2LVyr|u>m2$?^tdx;0@3|05xgy;-Y_v44_j8qTcN9c@F58_Ab zj8zZe$LNex597x}J_Yp%@kE`;>QS5|ohj-u{8XK3>T!I#&UEzzeg@>zQBM+Yr1K{A z6i#Dk6K+;d6K?`}8@GCfcvEN-ZdK0`Zw7fgw|b6vbDb^J^EkKbyi>h^e}~SN>Yw;` z>AYLLh~G+QYxNTTJv#4IFXOk-*;c)Rf1l2F>Q($Ko!OiaY(jg;Ohc83cYw?>R0ZCz zdg0_k<`1e5?4KmwHbU^Z4Sq&E#M>S9dLr$ z5>8ZG!AI5BaFW^vKBl&XlhrIZMa_m!s5x+|+7Ujf=E7-eCpca00-sX5!I^4zI7`ik zv(;YkS+x(GqxOSy)&6jvIuJgm4u%U<2VAHYz~@ybd_gUOi`5eNqBmz!U0L_=CC~+Pro^ z(Q7CDq>nMEA>lj?=bsVntIsxDJItf4WIt6!oora%zoq=C@orOoe&cTyj=i$#@7vMRs zKjB5Mi}0$~B`AAehW_4HV2Jls80pQ6xrIb;3EI6C*vQ)p-s>UQXdq=?D-cfLncML4>j)TSC39!;T3D$V0z%kx-_^5X}oZ_7cr+YVsv%H(Y zx!z6T3*OD(Qt#$)g?9_M+WQW;-n%7y*Si(m;@uj4=-meH@@@cP>2Z-3k8g-39*R-3?y#?ha+2eCXrT3kLf1fssD_V4P2XnCvqUHu4z^oBBB5 zZ9WC?ZXYLX>r({V`;@@WKEq*mpEB6nrveW0837A?s$j8C4XpGT1#5h2;TWH>@KK*} zaEi}(INfI=eAZ_YobNLkzTh(jF7=rTSNTkXZ}`lB>wRXz%|5f>HlNvWr_UU?$7de= z!e>4_?6VMl>$3>{=(8A}@mT_Y^H~c2_E`q6_$-H_?@H+Fy9x&Ru7***Yhb+ZTA1Ry z4mS2(4{!0^09*KOgspuy!TWqS!yMl&u#4|j*u!@_?Blxw4))y%3w?LN65ri$gzsKB z(sv(x#CJcO4^F0Wk_B{mW_#TFfe2>7Fe2>CceUHI4zQ^HPz9-;D-;;2w?R$r${fEQ8{$+58e+6{< zkAM&PS3#G54IJe^3O?*#3m@|z3#a;zgHQR7hjaZW!iD~m;EVo~;R^pLaJBzb_@@6f zxWRu0+~PkIe&|07?(&}v_xsO*U;593NBrl*6aEX~PyUPGS^vfGPyZ$GAOEFL3|I!e z0+vJnfR!*LU=@rBSPc^c)$~$1RQ}Y z1CGMi1CGIU0mtE{fD`b8fRk`Xz$v&l;57U^;0!zza26g5I0t_SI1f(;T!6m@{0aXG zxCk!?T!KR2WvB#RfdPS6VQ3)#kU@wFlwf?I0@DJ$VBaAROAxHYgf{3x&u+#T2!9tg~WUj=5vqk%c_WMD`5 zb6_q!7uX5@5!eM@3hV~|3+xWnpnT{T)C&d&^?}hr{a`{+f0!CH5Z)9t7&Z%Xz}tfg z;5|W3m=#n6I|P-$u0g|Leoz_gA5;N{1dV{jK~=CUs0P*qje=u>YT=_nW8svbad3Lj zcsMI)BAg#I3BC|C8NL!U1+EI33f~Bt2GcsOW2 z{5EJI{4r<|JQK7S{uZm-QeSJTkr|EGx#Lj7kmnS5qugR z4n6~q2cLyM2A_jxg3rSX!584)!GA&_?C^<@bT}g<6V3@~3>Snnfr~?$!sQ{&;A4y}M?p(CIx zvS39bsA4A+HDf$xM)g&%}YgF8ZJ zz)wPF!p}oz!9$_5;Wwdk;18km;OWr$@Ym3V@IvS!_;=`HD1b@M)*M3CfFlvGwc(#1r83|3Jb%w z!;-Kaa75TnI5KP(92>S9P72!#p9tFrXN2vCbHWb51z`u_;;=(-dDvn2TG$b|HtZ;T zJM0*IKkPW%9(DqL9Ci|Z7Iq3A3_A_K4m$(C4?7D_g`I=Hgq??fgk6A_!v2K+g(C`@eP3;1sM9dJu{OSm(<72Ffv8h#Pp1|AM?3y+6q!5_o3;jiI2@IrV;csV>5 z3K5;4cSIK$5YY{WMs$a<5&1AFq8Chy=mT$#=m(oe^oOk?2EuzI2E*(K2kaD40P`Z8 zux~^W92ijoheiyCMGros;+romkiGvNM+nefYqS@1~2YHCma*G3yzQ64W~rzh0`PV!C8^} z;rz%0@P){OaB1WrxGM56d?WG*TpxK9ZjL+#w?!U@J0nlPeUT^O7m=sn;mFhQc;p%Q zW8_(QCh{D-5P2T{9eDv>iTo2PQ5T_a)Fl`cbs0uQU4ijYS78db>KXZ?BzQ}d0$W6R z!PZee@V+QNm=hHMyF>-S9#J8%PgEEj5ETInqoQC*R17SSii0Dg65!aVBsd`|1wIjF zhclwm;WJU0a9&hnxHzf_d^xHqTp862z8=*az8%#9Zi>1Ceh}3XejL>b?u}{}4^i3hbW{#JAJq~56_pDwM|FZybQkCy-3=0c5J4HKTUUU)c6;QP@t;78Fj z;qK^J@U!UI@L=>DcrSj;{+J!U_g6>|X2jX4Nkh&cq8#vFz#VvfK!VvfS~F~{KM znB#C;%nA5O%t^Q}<`n!Q<}~~!<_tU@a~A#>a}NF*a~@uZxd1Q6{0W8Fi_kmv5)6pF z3`1kDz}VQUFe%pN!(PWq@a9+r-X7}(TgCdodt?1zhu8qvDK-e^#fHGXv0-pvYy=z{ z8wDSVje!-haj-fz0X`g?1SiI(z{g|l@Tu5zI6F2IJ{Q{!3SFvs3cd=RUWNbG4IW`CW9@`OKjLn7r#&&|X zxGvBqt{V)D>kh->@?l(DFPI$H2d2mMgH7Z5!`tEp!j^G^VcR$dY#&zubK{(_dt4Fh z9ajST#|?)Cab>VLt^$_DjexGWDmW&t29A##1s{v6h1284!dY?S;M}VR`H*P7E?a8UeqSP;Jh7RT>|mGQe^P5f>+CVnp*AHNSyiQf;W#~*;R z;t#_4@rU3G@rU8k_#<#d{89Ku{4uyb{y2O${si0>e-iGDKLz*1pN3z=pMi(t&%)#J z=ira==i!<73-ChxpYZSai%>|o1eJu#&^O@<3{AKSqZ0V%gF;e*1k(}}cyodmY@Xl) zTP66xdlLd+c0v&Bln?^*62f4wga|k=Aqoynh=D~3aj+sG0ahm@!PYF3>Bn8}v`?4#N}kVN7B#n3C8BW+e85O%nUV z7KsDlU5SHXn?wi9Ni2X5BsyWY#3I-yu>=lC91aT;%V0@j1uRb-0Y@fQ!Lf-oa6;lJ z_(WnYoRK&dK9e{OE=U{?7bi}HFDFiduO&`~YZIryw-cwr_YbZOed0WLDsetMm$(rAk+=w6N?Z(WNlT!bv=sU!ErVf6%VBiVN|=ze3Z^Hm zhBqaxfz6WE!j?(v;5|v}VOG)xn47c_c1_v@^OH8i{z+Tlkfg29nY102CGCK&q@8d~ z(k?hYX*Zmbv=`1y+6SLa+7IU^9e_)c4#HQG4#8DPhvB-UBk-N1qi}Q5F}Ne?IQ%5( z1l*T&5*|uA1;0r;4UZ?Cfv1zs!e5il!3#;};onIYppg70RFW@3-{ea$DETssO1=W) zldr<8~p4uE;dL9kbH2ppIk28Sj`z=x8fU`28a z9F-ggA5Kny6O)tR)Z`TSRI(k;O-_dklQZGcDCaufJQa#OfIxfy&nxjEdD+yd@Q zz60(_ZVC4%w}OY0Tf=XY+rS@_+rl%+S@5^yZ1{I_4!n}w5sE3f&^M(M3`*$&!&AD! z_>}H2B_$tbr1XNfr1XI;Qu@KWQu@RDQU=1Dl)>C#6)uCsJzQ(Mb*DbwI*DKp@~l$r2o$}ISO%53;^${ctuWgh$^Wj_2jWg)bsE`n<6V(6E; z1O}%rg%PRCU~KAgn3TE_rlqceH>a+K%~RLFR;g>@y{YS9ht&0ORq6(~I&~vlle!7M zk-8bKP2B?5rEZ09rEZ7oQ+L1(sXO62sk`9D)ZK7X>R$L>>OQzRbwAvadH{ZqdJt|) zJp{L>9)=&L9)TaF9)&wokHKB3$KmeO6L3%JN%(2%Dfn6HX}CZ24E#LxEIg2U4t|k( z-p?i+gj@@!UV!IQ|Ad!QFGAIRiBvDh=WD+VJJ_$l`|Vd@uAP5CD|E6;u(Mr(UF=@4 zo81TI+5KR5djQP02f?295ZKEe2K(3}U|)L_>}QXG{q1pZfIR^Yv?swq_7ph8Zifzg zIvi@xga!7-&}nZ1huNFL@%Co$NqciR&E5h|x8DJ0*jxJZ|HySdZEuA$Q|D}ZYvRw^ z+rT;Yws4_63$C(flYf&vhxofX-?MilzS*9O|AD;|@hv*H+Pe_nX72_+vUi6&?fLLy zdoTF4y$?KV?+5>|_lHB$20};LU^q0*0SnR!U}2gQ4ofS7MQJ6lIBhsANh^cH(<)$T z+6Y*lRs}24YG7sBDCkP7g;i-|VRhO#I5KTK9F;Z^j!v5dYttsfv1wD_!)a6DxU^~T zk+d0beA-MnA#E0XG;KDVlr{%WPMZfGPn!>?q%DL`q%DF^rY(lk(w4yKX-naZv}Lr+ z(`n0z&(t|9Z6(e#kh6B$D&o)ToR_v5XD+k}^V8N4e@^Fuw6!?Tr>(Fd*+Ir%P zpiNkwwt@Hxov)^C#90ZsUQ62q{nIzYfb=aeFnueGNZ$@4(|5qA^qnv|eHTnj-_5#7 zkeOThUg9Y_?dkh)Qgx=K@5fJvjCJV;h-d0-ntl-HW}UaBA0pl?{V=>W{RnKHeiXJ$ zKSut$bl#nQ9H*7e*6Ank?}7C8^pnINOg}}uALMC@^wY%qLz^%t{S5JeItQnp#Tf$W zGwJ7u4~6uZ^z*PV{Q`8R|A}9eev$YvoyF;wa7rN8%juWl{PZhuVft10e7Y@wR!x`S z;&cVRnC=Car2D|7>3;C#^Z@uudJtTm9s*aShrzY!5pY*}6#OJT2JTLegL~2w;NJA4 z0Df7To8QtN;jC?pLqZj-rqYvDf(GTv*=np^17zlS~42F9$9B^+& z0sJ(>2|vpyg8MT{;DL@~Jd`m49?qzOUuV?7Z!$)~qZzgESjJfRUB)>0 zea3irB4Z*vnK22T%9sp)%9sLw&X@|%WK4s7GP_| z|2oT6yQ}^9uVp3b2=(sZcEJw>_XvJ4cxdoL!LHyj!2`pbVP#=8VdKK&82^~?nE05q zn44p6kGUtNeazyx<#B7`HpFd-+Znen?oeENduMx3`v7~Pz0_W9f7t$*eY*Ww`}6jf z?XTJ2vcG5l(7wn1h5Z}*p+?6VooaNh(Zxnr8+kPjY8=%#sc~lGW{q1mZriwH<8F=n zG#=czsPTI_ALi`I`6B0=oF8(2$@wGa-yFGve~0i6@g1JceLnZ)+}Cp7%6%{Q!`wZ& zzjynmo0#XD7n&EFmzsA|-fekz=jHY3+h<6h;y#sqM)w)kH)TNM0nG>O9Jp`bp@GK+ zo*H;=;KhMg2YL+(8Wc4sX;9{%W`p`U9F7vl2*je^qML%~cOnsnu<&@2}3U9$Wox_4n0htNYaq ztGQ+5{iD7fb=&BdM+eqs)}F5Yy>`r)tz$kJ^ZA%>#{4km*D-q@jv6<8+}v@?#_b#T z)wmWD?wOD?q05Bc69!LscH-iR=N@hM*wDuoJofHmM;{BB?3i3RdE(^Jk57AiN z-~V{nlozLbKjn`pSEh`ddTDCllMhZCI&Jv0s%h^`+d6Icw2x*Sf9CgRq}kE4o6Yup zHtX5KXQw^8^I2)m$hi~d&YZhst}yTNyy4G{dT#u4)1Q0eIluWa^9RizHvjke|IS~x zVAF!_3-&CSyRhZ+0~R?KRV=DqwEl(nUzo6X(2Mh4JonSUTDfiIPb-sN?fPn;S2w--(W~OBkX31~b$+eKYYSeRwEBnF z&%Iu@X8f8b);zOj+8fWkarc|k-~8xJX`TPNN7sG6F66DzZ%ukDbA7Y*SJ(T#9r5;% zx1V@>#oNDb5X3b({W@@j3WB&cr__wC%NcLR*5^EF#x~^4Gh-WbUN&Q!ayAmJ;9 zd}_wFUMQej{o8)%Q2o`Bu6Se#LK_ulKj9%yK=;S?crhqn59=q_4Fg z{IkG{dgkYMz5I6ndVjt7UsT4Q_KQpFkM}k_OK;Hs5`=gm5hbByl!8)GQ-1Gw3u=aL zMa|J|=q`Tc*P7o9wh`_TItdR5ol!TTt57Ty@hi>I!Xv^s;Zc5hIazp&UsygaJOQVo z1;Tt`A$lGyLN5tRgyq63!b*My{3=?7whP;Y577?vnXpgzK{z3tL_eZa=qGd<{S42b zU(i{We?{leZ|H*XyYQ#*hwvA=i2g>G&_C!h6m2$}gk+?kU|Wza)D~h3L*Xa_MWQGa zjbczNibL@z0VSd&l#Fh&HMZSnYir9w?O--xKU-hhgQ!0mfCi#LXfPUr9B3#iK!wPO zhM^) z&^Fsv+jg|W_Mz<~^s#NHZ5P^Y`^2^feQMil+lThsKC^v}zOWsz9Ylw0U)sJxhtUz+ z*S2rax3;6UW9U2dz3sT|1UhN^!S*Bi$#%+i8lAEIY&&cF#r7-u&34Xq9$m2gZuCT#Q7~Vw4yw#)$D^oR}ykh)F0#Ocqm7nrIi(QKpz7HbOUvjm0MDX4Dil6K@f3 zMYoB~#oNUe;+^6h;$31(u@!19-YwpP+Mu@Lz2beSotPzNqa3ll*a6)yb`&2FbHz@m zi`ZH0it@y6Vt14;_7Hob-eNDY59%lO6(2>Xio?Y+R3Vm&mB=NI5UWs)SS^l3qs38TEgCD15g$g6h~vcZXreeld=xzig@kR8K zxI|ovmWeNmub|~<1$tFnDZVDI5?>cri)+wY@eOgE_@?+4dRtsCZa^Ewcf@zmCiEWK zjJAmHiyxqE;#P4x+97@@euO?2cZ$2vZt)Xwuee9tCw?mK7e5mZh@XpJpo8d;_@#JQ z{7U>99YIIMZ^UoWcj7VeIQky_Af6CUqEq6J;%V_G@fY!o_^WtU{7pP3{w|&u{}3;T ze~EvJ7t!D7AMuiS8C?k6Wl9-RBXpD0SZacrN;gZlpj)M8 zQghTox=p$r-6`E6wM2KJyQNlAYt%-%N4gi?C$*KbP`1=gYL7ZdInw=7N9h46SL%ei zNS&pwC{OAp^^m$t`KXuFQ|cr2mikG3rT)@`(f~9_8Ym4$4rz!q6cwOCG)!_zMW{q7 zmL5XGQ7I~y%A^WZiCoeMsamR%MoKl(C{!zrmd2omrLodDG+uf{nt&daCQ6ggW9V^d zvNQ!vm7b8EMAM~d(hM|HdP;g4%|f%KXQXG*TxpIp56zdJlNO-orG?TW^a6TOS}ZL= zOQn~jm(eTIGHE$lDXoxRMXyP#q}Qd@(i_qm=}l>^^p>EBkB%P8@qo2_)(i!P2Iw$=q{f2&*&Px~2 zpVA-FU+5ybB>gS@gZ`B+OIOfU=|4%3|C2=7CQC?>Wm!euvX|_G{A6F*9|g(*au5oU zgXK^ZE{DkxC`yi$qfx9JBgdfxIbKdgNhn25mQzuhY?sqfrko)+LXA-q`6l^h)D$(7 zZ;@|Bx5>@r7U*_#r+kOp619@=lJ7?M$gSlzsI7djoF(5Uw?o+|M{X~7lsm}xqg>QU zen9Swx}dHoPwpmnM?FwaIbZID`pCWIzUV=@pWGh}ln2Oz&|u_{hsZ-wp#J}UMMd@i{%&O z7tu@d5_u_FCciAdf>y}O<&|ia{HpvKT8-AoughCEru-IqTV5}3KpW+EFsqTHl3Rc=;p zLANT+l-rc%N(*#{a=UUTYKdAYcPXuvyOn!T8`M_0SIJWDQ`({SO16@NIw~EM`_ThR zuF_fQq;x^ul&(r1>Y;R3@=-6Pr_vksRr)CXP=Dn?WdIt81}lRUhcZMdP=+dnXqe(u zicpDCtUQEDmElSms!+<6O5{>TC{?INsa8g!(aI=gj8dzNQyx|xK@*hm%0x6tc~p4} zJ+4evrl6_H6Uvilx-w0ffu2H7D>Ic@=o$2^GFzFe%u$|G<|zx5`N~4HNO@jath}Hs zQC?J*DlaK7qgRw=$_iz<@~W~@c}-cRtVXY+HsDo2&?lw-q6}SQLli(M@V&wF$aKZK^gyx1!tC7U~`7PIRBzR_&&CRr63UwWrz} z^;7$*52F5P04h<7)rZhRR=P`nCEE`awOR z{-~Z*PodN5PwF}KSM@h^9{r`p3m4Jf=o0z|T}D^bZNh)(s(MrqypHnQucQ3(>nLxv z_*a#Yf>h+?#V^{C5AyX2vH5wmwfTGbc?FsdeXS;YC3&R~rh1)G?OwmCX(%0KpiHj}uSTdb@taT+bTjqR zE}ZYR#d1w=(_=~I)qRG)|2zK7ALT_rLA!^ZrkxwQuW} z&iS3)3;E@a%BtcDk0OjFEMw2zx%xOAF2~SPkLqTXmy|VV zfsQmwyQPf(PFHEL zW>yiOV9#P#MRhfwTW2b#9f(!M^^c=ldN@gNvAWQ~QQ#DMJ6+Yz(L$FBS7oth+)U`< zEOS%}ox8QyOUi{+9GeY_%q_2Wx`t6&mC(~!>a678=}=N$QdNBY?510Fi%~}*r>dH+ zMs|G!g6_vDTiL=Tou%T~sE-RJxb)JV673V94GNt9XIb@f{(l#29MSdi^>GgE;H)kvuB$ska)H*9 z%d6{JTHm>ju8NvU?c=N8&ULoHuDBPBO!|uShN2orQQeN{W_vzPJ-4-chD-6rsmmOD zT*hZ+Etwybu_!cf>ED&5&T6OWw{r}47MkY|Rx(F>y#?w%hWc5olTp0^ zu6~yKt6x(!ZMe2dsh`y8AHJ0h~3ClCf)sH1k z)ozs4K-$#c6C|wYWwn=aQ;wV^``AV5VoZQHKgn zD%qtKRnBV)u}ar>z+5m^(w*)#&KhSH=RWt69uxEgBkE4-=&ZKN>s{g;<#cJ?p{`ze zrP{f@UJFo)t5)x5Mt#j=by$VVm?T=IwJ&jLr`c=Q)g5yTG|sO2tjAi;#No>f&@QO-==!!tXThf}}s9?q(Y8a|7v z_FUSOl$vMzhOTzJ)_GbNFfUKExpkdy6>PMNS*%sfdggU=>ctw9IH#+tqs+5|R^}+urhnB%j_it3=1olSi05KE^DCVN+QR)#X4Eb{ zOMBx?=W#*6@l)<7ZC_HL9cvC(?U37qo(@+Q6MN>zeOx7^dl)^8qR5d`UhS&wSzGDU zQq3)xXFhZHwO&W6ai!G0VpO>{v#+}dF#WueN+(xJS}9DhwMOpgbh#WQ<;=mkw$O(_ zeJlEj+uTmw=JcG};O$~a;*^l*bd{CpgHsoZ^H}UtT;Z`)CG={arw_+Q7wO^T%BNi4 zjB!TR#-OSy<9g7V&Q;ZvRtrXgcC=qJMbvh;Mw>HJDecI~(p%KM+|E@~Rh(Zk#%UJP z-dWBS5Di+z7-wvx8<*Lo4x?2K$FmCN28@Kd>q4!M(E&UvuOB+v#G4eeV7+0D74=lp zHUsOz&d6ZwqW2=fMDn1YG@He}8-Dhd6*nX6=v{WAn^r1+2q~sD08pR6@#(WDyz@cyUf$Z;C!xY3aX7V8m?}vtGALdj9hp7o^9;j zbmt1~zJx$f*EAhnC54`yxTH|KiZpw432mue0||Axv@^YyK?{u&ONDXmq#4?UPjSsq zV>VD;$mt~C!NsALmAf_7+Gpe8<#p66rX_cwXS$5LD0R7wL~X;?$Ddu{;3iLJbA!gt zyZ24YY1Fp9r|(>SOWT1ew`Ht#Kea1mJgs+Ct@W&uY6cpCi9%Jii#ZL=p`VF5lsZS3 za6O_gbS^0>)-U6P{DPX&N+W7~e(o-$_15Z=0xlwJtF$KMmJFXY)g4uO zc4NsLkF*;j-2AE=xAfyczqU3r7zc(&Zex<7pYPZrhnybO_DrB|!?;e%FLp3Y>PL}r zzsK4)+!QvE!@jXRf7GY^v@Irkby zR%vCic``N(&qO_5#nn~ys0!C`tAn&JsVb-_FXzzF`)_V}K}8uuPaZdXv|EBT)kPKV zMGk@zrijMLx$bZ<@?LxQML%*1DZ<@tjI7M7Jv@$WI*L{UHssFgwmlDZTz8E<6Rz)S zh3I!1J?#-p~eZa7f0l3wxa z_<7C>uF4y1nf%7ttKJBd&HYo4S#@1UH7@bo^9gQ)R#iL7t%-H}5=Uu8Q3JDExjvK8 zCinUQqD72BsBSTReGVJj+-skAtY%jCZLhch>fFIm)XX`pBr4 z|v~F6wE=%Y)jjc;nr^(V@uXi;JzPy?Yu#+N0*9`PW^VZzLd=z*yYep2U^vQ;QRLlQK=<$*%(6#@xba9pqb-J<&xp)76q<3}>^Vq0!Y3;N$m5(Qb3s`@Y2^P2bo5qg3}4@46c`W~v^&&a7;M%9!po6*2w)Rf>M#H7LsS zBd_rI9#Z$)J4ezXJm$aJm|tO+4)_CRN=((F4>vVN8-5*+E+=n-;UfeS) zaTU~*a7VF_IlVsP^l*$^<^_^A9jPl?zhu&rjXe34j#1_MIo89>DX1u~DAR9&nKv)Y z^*s_yM=RVYDN7$0^Gc|TtNvPbX9FXn)@IjRg^7q+s4@G|XL44>-6wtb>UswEqQ{)c zT#Gr5HkOGSsFmfOTDiBWcSd6#<~BVhXKvFy zooi4XcYxZS#IqHQboa-1z5MRd z^v{d0U$ntXyTMhzOJAFM-8Jj4WX+SV?^<^n{&#Ar*@RX(TGMI|P+WfvhS(w(laU51 z8DCzTCOz6!txadGOb%C()8h-`x-F6A`di7?W{C|erWb1!X?obo44O zv_>f7<8yyVJ)Ct(S}tvutunMn0`eR+RaWKoVMZIw%Pfae1%q})nQ`0STu(FIV%vs?F{ z-PQ8A2jQ`y?)rdVX$_Md*msZO^_$%E*j)XN(NJ#Jo5kx1x$TXDdN_yjt*kMUn73`* zT||G1$6X7puBA*ytC&EVWtpFk=ZIihHH?(poU=B{T^_#Wb(hs3SGV#W4r@P*r2GQz z-qqVmj|v7{&a3rI?HZ`wIAyGz&Blit_n7Nt*Y~}i!`(j~5ph_3*4(&uJE>ka_qQ`v z^B6hxo2+I|dS$h%v38Z1QB2)UD>Gwzr^`8pX)|BI@W4gAwcS_U^=qQt z?bME;dYQE^P3jrivjo~BXbs!Zx?^51vvDW5p2hln*ag<9#HhV-726=6_6S>jiw6wq z89Wm+yq>}NqoLK2N3+a4`8E23H|}x5*tnMCIz6Dh(_>X5XMSagc2(l4UwO^F&iY2? z1~twZtvxYgG>g+3dAK23GOX5PC^8I>L(#*aA89ksLgVP`&69ZrCDnY%PbaLb;MpE$ zH>-bNFKyT`t1YyPEA9CybGfe5Sx2>2&#ap2iYoGCyBt;4M`3w&D+t`#W2|Cctew@Z zF2!9Gjvr%4)z9-DUzJ*$G{3Xz$zfS)PKmfBs?Cbbr4Eeo9*bSLLF%z+T!d$pSMe2W zzq$=Gm1Vl9)!y8U=M}uC<=z3kn%Buz?-qidZmwT1!TccfZ-O~FjL{z?(;oaXGaH_J zYaHaI)z;HqW*)h{yia&&I!((ci@-qx+_mildF zUho-D6`1)A&)r?kHQLqYw*MbF>NlW%g=#!7Vaz$KYUvMfv^V!zpETxLOU5=CN4ixP zJ6+oFP_B)a^|ogYj`hp5R`mF~-dxG3LERQ|sRI*sgGWs~N~ZG~yP-X|TyJg9M<}knE#R5zZV~Om-*dm+xvtX-%m+TME!+JhNWBVC z)h=AUXH{w4UB8yCKk?G$bNbg@=32da<+j(R_w_$c%hjuC)YY;)k1oyAKbz~9;F09s z`|RS9(n5W*)xOsKO}5+ZRX)6&IiXoS96S#V)fEJYsaxrFRk9XT+%zO zv$>JW`d-Gfsm)fYJ4@>WiIvg4PnzR-S!zA%s_&-t-J7}jdY+Zhsv6&>*WJhD=5$3( zgTu`7+?%eu%cEM__WJw$-10e}4dZJEUr#2wTiVA}=Q|NF;znMirsOss@%-zFRH7!&$Mu zv+^}j9Em!u$#wIq+)2PxfuhrxiR%@#bqi;nN{gflnd8;wX|GmR$26vfeyeCYu)|jxrWHoYi)1) zeMLH&a~!tGi)`)(M6sSy+UwOE!&FBegU50_o&=3KmSETW{1c)b1{pjgAq=kwP492XA{Q-(jQ>~@b$x?;8< zT_9|la0rju4ioqu-#wZ!sVd4NTfutkqgs!il0@+E9LCT`*?#2K(OGsk?KWk{^s~Wc zk&?>}VRN*qz1X`PoQEx`3|4EMQCHZeRCTdqaa~LnHMLbo?p@3f8Jf5klQxC3r3`P5 zBqVC;6Fv1XT1sSs)DrYM;I?1rn0Y6;c`Dl@_Vv2sz&+Ok6t^g--b3{|@NQyWM zQ*wkIXFD2AQt3@IS@f$mExsjG15_dQ_yeCF##XgOGzryk$P%=)!28j%SMm)nZoAfn z3Hm4ZT!wh>iI+Z7a|JH-nhd~@-D0I}tfiJ#9U_;4u9gTMkJMVj3pQ&FbCo0Lo=~bZ z6pm*y9Btdyrj()$4uO&x!Q>UQ@7>#xjD3XT`Tar!NB(+6)fHrflK+x317?rCPl);| z3i%hMwpgX;s96@mIp)oZGGPK?%M&Gb~N*?>foKiZ+L8S>&1{tN&rOBudYG4JMfI;_4idG~g z`PL>%g5o!_A$Ka}S^;+~If0IJRY@vsOEB+_TtfbegXyIVIkl8yIj1Y`Kp*RrlyD5c zAB{N=6ZKiyDX6b|;ZmH1@AW5IuYh;_&)NM(l{mu4=@|MG}6Wn~P> zVFJfQGsmkD)L^ft9Vp9P5+jR!_yN>#bCQo>3p@Ohe6==87Vp7FaYxxaI>^3LTouHw zAY5aFw8BoepzK>5(VBk?knHrjAc0sbJ}DG9KyVV9g-wXo|DZQmDYsnO7yj8=D>k^7`nS_{A_>QI~^$g!eI zZDeyIRxi5@EO?Uor%SByfi85aue-D-Q@DU9xISyWcVCsGnJ2l4t%6VtCFHU%OvupE zx}k3UMzfrY=LW+1b-@Y6P17TdxyRCAOIl91AGf=8VxX_kyk?eH{gFRWVyJRRaBvc2 z;s7P=%mO`PnpytAexuW^(*nnvhk!fcX{tNC>6RGs79&mJIIP4xh{7UAq-9;j`TS{> z4a$z)<%#T#R0Iq5#nKNSUE`J^*Cp;f51s6?zpQpo$MswN7DX9-aMMtqE!q*?(L%cd zd{Kv+m?*A+6(2E?TDyV?kgM$6*gilW@!_+*`c`MH$7Mb!DxOqknbGax7)@-((jeL7 zJGD2tS}DSx+sC&(N|3edYwR3V60MNv28^zwl&R^uyeqxkhF1_GM{WL5gFKI=YBZzN z9Iui+DG)N9s^h6+yfsY^)FAcS4tuO@M$jbMIVm^e*`$Kpo!l>LtVsWTwGO8p0Z6J) zkM@9Nwu+t=U1y+`&-agxDSd$FgY)ia`o)fF*vuNVvXYPLfcO`AZA88CSkp%RcH@Co zaQ{s<`H?S~>LUg~E3lq#;__F2!2~+90pAi?w`N60`B|vlj8y)x(p`2;4SBNXy}<}< zRc(zv!R>OaBN(6}g}JW5T0Fa}K#Bl8?PyI)?ABcPbV{A3i*$9v;AovY50SkSbOwwnDe`J*o+=cY^u}vOPGcCYxR~#EhawpaJuet`ntp2fivBe z4Y;*R8+9L6^Snj~%rHNHq#57ZVdhxkUu3RW<6h3TH;$FlQx2o_9rhe+oB$aetKw-< z$X8jCSoyt7HtUy12sxMHOx46;*{iWw1$Bvoq-y5SYWx`<@w?17N=B~AyBJ@x$Q0ae z*M3dfnHt&onDx73>aexP?Z6tR9yP@Jx(2&`)9*j2FE`1p497OV>Cr&l{?evm#&lT5 zpKhP+k{EU!98;RnAju_#{RD5~3HB+y9G)N^`FM&A|M8?)DaR9w2DfQoRA&xfoTYD) zPkfu~KJMn4g-&n(&#&PU;+7%NW&Z{+S$@@70hkT{KjdHolS)9nOAVJVFVA9obm_FZ zJ!HA^>@cxdoYy)n^AGd&D_4W`*GAvW&Ml-p>1Aud%#7Y}r=d(Mzljm_r<2X#KxG^9hkw>B63V~baV7JlQk}r`)=T_9c;rvzty)gP1~}G`&@MT zXU$I*I~MUiPx{25k^xK}0PXU#A0<+gbt$?mbKi13bAfs(g++Wn#dB6Sf%;jU^(+M( zFdQYxv*tah->AZplq}wSc6g^9RXb8w^;S{zkG!CiQkq%8ie4>ZUfMXCXn^_n#H}57 zEoTs&LpM4HV#Xk6Dohu-Z9{Bw@@6zg_7;9+xw8={W+fhHI>-WL@3Ghhxf>gG=VNc! z*ylNynBxqX;^qP)>h-Dkc{BAv&5Et^o31DA-RTC@+&qieN4r)4-;7~x$v~SKf0G!j zY^u$>HswsrvP?j_Oz-jqDx7jy7|v<_wC_${7mGLXZT^v#ltd{S?m(_vVS6%b(4mHGQT;KVJo}DV$3N4 z?M}A>Y5Wt$ylf%egk8)-9OQwy2ax2KAbFA5cjv3+dSOcxJd3bTK0EhDAP5Szzic12 z>%_*`eX+!?kwHE@W0$qPRx^CFWV%?4?!&LiV2z{7)yt!KUO-LOxdP1991*d7I}~H7 zE{`guECPr17^cXF`t8uwW7f>2q3o9>tsTqV6>!zk^g_?I!}eBZ2s-XxR(z*8km3k6 zl7e=gY!`3O43cvg`yjBm&3VKt=0f>#JnHMxcPNtNC1$lrT_7IC9NrvyM!-{zkI~7i z{9C5Wbr#Xi*4dxa?RK{a-6CY5%hQxmz}=ILzXIkK$7T3_2R+SA($YMo3hs5-j8-Tv z5;DWey+6MH(F&GEO=0X~k>pu0yDgHP8VwGO+T>;VY|W_Rby{w54RnVZRSt3HHNwaF zs)-NB=ROLNhsH~Qk%__>!&IoE<5&aB4dNJ+9(00Z!Z?%mQ-Txgfqgq{ri&IkK8KhH ztA811TdjTtqm@n|=t}1j)v0b=t&o?|`rH_uiKBxt;S-@6;qJB!QwEhp-*OH%%8cph zuCA|ENiV&3AJ!?D@qA_GrRgLK%dT9z8{ix@yF>kyOeTBl*7Fs5 zdNlbcgBm$$aGyI(#-vBfDj(NNE(u4N*2ZY9|81(zt_jp9uv(B+GStxU9dSI-eN2=z zXR4ibl^-w7uvcvJaDEfy-KKKo!NP@51~s~0Ldx~fC9#Z2YIDpNTiV_`30iW*ipeo+ zi>sm2#$pm{FCkADo$3;y%zQ`fdNZ6xmZhyaQ;yOBRdof}7xY&t@~IZ3FuMwq;_Lwz z3wGX6WD90B6|@=y4SHwSox&JxL+G4fPTH-G>Hy%-{Aq18Z6RW(`WXdF*%Dsr-Qbck zpOw4QR%0*@CJye@mo~QLUO>W5nl9s%pgxkw!&ce89%We4KsRd=a(^{hqAR&n)j@Jz z^3d(l|Hm%!mDDGE6YbWk&s}(bDk;OwD=dlmg!%-WDurrRA>fMU)I~F;3cnN`%Pf4F#Z?4_OaNg(mFQ(T)Acm-Urp~)jKx%8 zER9r@;JGkGtT+XNg^N51KjRu+su98ojkM;}=5sVOAG}m#MpL9gwA9cIve!gu4N5NQ zyF^j5S$FcLLlr-ehGpl*smKTn=#(d5(=Ad#cjc6sKUvoHK(gNL8e7cDOKJ~y3azI~ zZoP1AVv7xUFs$Mf_K#j~mAmqpUqNyEqm!}AN2gos;vBnzYCGfxJHL?sP1f97URDp$`P?25`nG#3b>nns*`XzKmSHrvSyhfBHNljMdE?OF|B_OnQhv2DDUo(pcVqU07xlhU$|72>aQsOiTO-pi3| zeJ5Y~u=h$eqEz?Rcyj=Hn)N}s)_y`4^&P7XHgSsI2<+!=NHT6i+8Yd%}4V@-AB`?-6&OD zy-Htv1b7Uy)O%P+s`W5shOL=Tc9TnXvx#hsx>-7K?XB1xW$UffiRcP#DTi(~=Lu-@ z8V>Sm_BgoYncFqNri++)b$;`MdCjJ0hvW7tNNnl0DM-1KkZiqYsOFe|3fr-fr2eeS z8G92B>G;EZEo@$yfg8{tFDc$*@JNxqR2V21z!oLS0X6UmVB9S+eUw8C&4W?CN4nwD z^UK@S7A1qeLF}qQjEC@G&Bvtg@P4;KJ(vr%PAthXLA2@XTN>A{*sr1&?W$7M^(mga zIRWY$Bq_5K+xRT2v_NtJF1bho1aC)F?${|wYqgZTM${S-&m(z!RoJ0B)6$Z6!4~cq zR^~rA)8a2#+f!7GJzdykvQg}j)qnw_~a1&m9>Z=DZ}1dyW}Zp$j#aZt%QGfszdSa?fC^R zZ?XNshR#`8aT_I~G4B#-weFeBzu?eB?`h@HGWe~z=SJrvUVq>Fcs#aznT@X7BmOV2 z6WpkM4ZlR)c#>#?5t#4~ha~zaAv|fIPEkvZN9V*tEA7)(bL!aYYpc@VLZ<`0k$=)_lIBiVb z36onao6v@wfIY+^+O$vzOeBT1tpkPznrW-ccy7BYXY9Q67|$=Zd3hU{@nVg0MEG8y zLb;f~d&d9zHk+MbLIy|dip#&Jj0Y)EQ%di=&|F|*XfsD`ZL(Eme>ieW({;d#g0F^I zq5^rU`aqI=2yv#|YO;B2C#&c$gXSZHs*V~8rm8WFNQHl~vmcGKE>D_%X9+w>dD_It z(*mEw!5AoNt)f*haZJ|O(ViP~TlI{5qM>pA>J=M%6vYINbx_9g*$76Yw)vTI9DHmt zL{PbP+{@=ctLLK_4LeOKARG+1ULE8i!EEjcD^J1@MO)Ss7N&i@K|N%-<=)9LEwuBt zt<{(xs`kOEe9`uylQ!hEn``#V)_^nH$s0aZ*bMB8>=Ufj-aKnjYJoYD>aK^A%h}~{ za5lW_uE%$`m$UQnc&Z2r~6NAthuTp>}{=TeDjfgPM& z$qjS~Blt%cx1|^R`os~`F8o-$iQK$CNmJ~3N(k_Tm1vd@QC=IhM+ZFxTsC8L5xMl` z&j83SWw|i^_BTt7*9fU^wvl9N_UKQ{%pS{kD%}6b8PayU9nsCOT`<{0d~1&To1e42 zefJD4K>p6z_w@M!`$x{c*jEcsedugozH;`YcNNvp{C!qX{_flFKwTMQs%dJ%C~a)NKK0FgUOb8+*Z z-=C71lf8W@bQ1Ot_naM=$ ztVA0`1Pnv8G_Vkwp>TbA_IE+-ElM}a@%l#lO7P~_fL%Xp6|X6DFgQ86p8xb;q}c;l z#x5MFDEal}5wA6Hu4fG83#$NqcUK;en?0YR*RNb=5WMy76HyavS&Elt-Q_{pSbJo1^>nh`V5M~nRlQ`=cnBQX zq`dN&=tCL`2+yD6Q-bd#^a+<6hV`Q%@%Cwsjhow3pb zzRGI)cQzEZBS)2eZJuWy(K8V~0OFQC6vn?cKE8KYkfreK2*yuf!TiA1Wl4y_J))tr zN1e2>dk@hP9~c7h`LdBU>9&~<*~GL^7H(Ti?N1M3qV8rxGy-tSQ9Vu&(Wm?G&w98s zvrfi>B?d$(62(UaKbopZv-y(}+Xgrj=$8E=W>_@FmDiAFZ}zLN8=K4a4Ynk;6^&4! znTejd!rl$d0iS=+pfwBPf3`cQoQZDPt4qW?&S}8vIgBSnwlt%8L1)ov@HTU{H{+%f zCzY6OdODr!2}&1?<`=n!J#*Qx^^g)dEXJB{`!syg+jT+63}P*~SZ_Zwfzs|cdG$Ak zrd!9)H+q7OnFR*5p77G}_NmhY4V{_nF%cmd+4(gnP;Ioi7{?^jo`|`Ws-(tkJnzy5 zC%GvLU@wY&9WHZRX%yG*VgfpuHlc~@-Y2hSNY9@1#A3>{-b2<6?j_$I6_%(90}N)T zKf-E#l{Omnq=hZlberI;0jPl6$nfp%zAfg_bvL>$wMzf7H&V{2W3BVKn^B*By}F+b#rvfPElu$$eAnq_;0}4|(MLcH)7&1`LNgCdho4zw{#RQ+IpX!*fSOEm;@kf^h7U zCdU%O(xU9YxqRpZcOs-TGQ_l^wl+^^-#!~V4J#o=J4IPU>qUyl&1%ZUFQ{%Cx%X>{ zD5{`D`?!+g5jkqrV|(J!WfHksQ#hZGT6DF@amFuhcV>`fVZB8TX~f+e2X1};fIQ>Z z6!^^ouE4<_gco_*>u-8l{&)X4=#AZs5{RQbU5J6{D@ve#4uFw`P|8CvWpYX9>Fs@( zh+NbmTe~IU15IZ-c@_{;4?18xi4=3Sr8_luJQem2Jq*hHvfqmN!PNjN#eq1E6Yl28 z^u!|O_^opa^hf-Dir+sq6>O2&4#=bR6b#+fL$;G|ui}GPCv2P|<8XFXr^Fq4CM)_)9}AhmD9Q=5>^f3&lex?=EYgH5; zSi{+gZ4<9SJD3ljndf@^8-5RiCLm@8BG$>ba+!2*pCm;LKO-1Su59!Z!01HL#O}L` z{1$DJlf`}(MfzDnBOssMsiG)8sHRH6DH=n~3`%CkK5c(F+s!$nf9+v-pF->&bArAs zSu3aF0#;!gvHijU2r?U|>HEzyi`7OYmPo4f7ww&@-1%$k(1jWMp)^Rl0H+HX|2h1Q z1GtAUwqc5T7;?2);OOZ;Q=E5OnbW`iM~X*!0XV{M|K3A50Q~JY79A%nMuGQZE$DUw zc0L7^evJ#j;A|JyBK#P4wcLC~EH;!cIm@h%>HZiqA!+=l_;r>um{1d7oFVmlv;&0( z6`~^%hCMh)Pwid&qUQ%KrZi_h?w>6wM@o(i8ZDwtHXg7XHmOs@mxn!jt5WH0H%(&( zS3zSQFYGS|D1}quLyGJLVu205S*jg0ODJZka?eKIoxN@YEtMTdYE$D1?H$0t= z@7N1e=lSS-?4i@~&2)5eKfa%MrRpdXA1h#M$iB>`?JYa9I^P%~7%DahGb+~DuaF`w zI&n$cR|ZS|y@_*5aFyrG2^H)Z`e(PWe477^c^6DGMAeO6{T_;H(xF`(ja$`X(vX7t z?!_*vJaeOD!WCKOu*EyHR`zZ)ON5=ao28@6TGtVGE+NVF&{`U#M(gs{v`gCV;Q=^zFVl5tB)a8J^yq)5lCGNjvPr z*oWg2H7*TU^alYiVz z*>t9NqqAZ6=kRVkI~}LcaD39;jwhq(=)-XKVQ_Un>~4k^gDQH)VA3wOtf_cPHoP8$ z4Gnn$yK739f)^%mxB3ZkiGXKcSe5k4gBdHkE-{~iV{8*NbN3Fgt_dZrg~k8)PWOaB z4SKzQn8VELsd9)AXEqB5$@0yohHznL%4YTYw4t?%h*8j2)}f40l^8bGr6xZqcs!jO zJa+Pm6XRaDQH6o~eKO(Ub8dyJL-z@%bRrOc*TXuN*`*5*o%SQMl}wTucEx1lm<2aQ zO2b-Gdbw|EJfV2V?elENaGOAv@MxpKw;00l8vkZn$HWrXaUa2~dG#pgw3qI6@oci; z(Jkz^oA>QlaW8NM5e))~Vf`#60zGwm;Ai)%eEd)vuSZU)zMk{e^)dYgnq?aYEB5#ORSky!MAh|UmXNcl7 zwH7CDCQ|Mq;-3@|$z|z=9c=eU1Tzst8$mm*w)6Fy2doS~d2qzEhQNvAKoOo$u_^N4 zxlRKfjRoMO!M8q6M1CSoQ4T=fciyBNwJ#*bN2cH{!a)m99=AW>tn9QEEvtOXGcqB_ zTz=$sty0`_-GoUtKfJ$E6RhdhSsZ_$jc}qVh8XkXlGlb95rTK~AD1t@{0K(?0p-Ob z$-rG&$Y51McBs^1xw+g*WTSquZ%h5=-C>}n1p}Qckz0Ldxrz5HIUTKnnkdTzU-XcR z+!9DevNWZU*yCYS;wbw`Jk;PbBZm|Wur(Hikl8fsU}a8_a@(EhA+iS36e2LVn9F!t zm$c=|TvF!;zEAgS8GU*LAwC-sh>VWiuhxPV`P;lnI4s7^Ns5mg`CfI^n>!S&4Ay)R zaCP^_K^gNkSR;XsL4m86pyT5sjJ3@JkDu^D_BV_BLEHs|VO?i4Hb0;M>s(yzWAN$o zpaRwDOc%dHbATnH_42+zv8(^Hh4i$w=iTxmS2WYRWF)lo$5p8ImCpPpY5- z9b)zBsc@T$DtIbmaEgK|dZas^dKL6Bn_BvbsTiN%wgvjtwp{UH%CS7XHXLSZ zT5*_+0f!!&&}i-x|INa{H1`y&SnE-kk^envpn2ZAyi4c!F-^xnS4{cntGc-3kA&-jt#n z@$^d`8fclFBg$HBA=Of8Fw5jl_z>`1>OKKo;)|jgz=M>@(ChpxN^IVdIi zmr%JMsl2oX*J(O{sHHxLk`X9Y(h9u5QVVRJ8NP=~*X5?U{^Ds?Pe~Gub*lTTYQJYu zVv|V#%ho{6jyb755lgyZa{>enZIIU6um8S5IW)om8b0o;KRkn8O7XMh=hv?a7$Jf} zi4PR5MbQGxUK;Oiznb1PcsvisOV6QR4Z|T$9AZ%&!-92jCdCPvI^3_Waxh#bXksQO z8Lt~2Sohe(c5#gbKhb2!<{$p^DV%PE1lo98tY0LIJ?1KwP3kE4I5rhIXL&SFbo0@) zrvO6$RL@dqjC4%%UYtrp%a#!%8tJSVR>gVT{xMn;i}ePnua z)j-Jma1A9zycf7nzbCO}bo*2!fl?fix~SNUnV#N*CGN$hT^EF~InhkE4lby@_-eCe zZLw3RO~${}->e`l*Y*Z6XZNp+Gd5f)&H;Qa z#j-xnwcVz8UvnjSyD_J`-T8X?b0x1HSEhw`U9r4cq}R7y7~_90q|`;ygkaB14cHY> zwdoJyH8h20J#D%l_ZVk?Z&%+D>|1ca<@WJzuz7d{S+)|UCy>3BzrH3FQ93URWy z9Tv-0$>+F&T!o(N^=Q=Wky3XRx7thG>#yRn$w0XB94)Hb5YVO-usWE$qlJ5u`7bsOAHtR| zbU<=J)!p8Wr7WCX4<^5NOtuI;dr8Hdq%kG2*2_#Jf5smrh}uLQtB(n&f({L{5+Q_X zi3QEPB!{futdRN(Z|!Qo)*N%<3({wA8(dopUlv{y|{Iue}njF7VS9_NF4T; z6-|#s3-GXRR&csOsA=mojxI*EC-LD=SVC7YC@?~R57FSFhpfm_@B~BZmpeWb`KN_s z`{ZG0B!2rKRhHs0EXggV>YPhdNQaM1Aq9}$A+=`r5-m}JDY2c(DXP_NBrm7g4AKe+ zT#IWN7;=@GW*hoU`UV50XRcL9@Tw2Azp%em$gcm=34FOc978!h>{IpxY7GC*%`gPl zlifpv@*dy@wYseBA!+0wdc!B_ez6@p!OKPrIrU>kZ=KSd-(Ovw+>I_SryieN zj&44A@OpSQ8hCIz{DVMb*?s*yhar6CqUe46e&|>)td0Bl{m`YWG2K_bzI$ReXqJBN zo<#pXcd&~XYlUyCmoz&$=zN)TG>OS*D=THSrI#aGb5@jtRj4x#7bgP)-6+?)&hccSE!B3#@(Uwq*z>f^5HqgK%GXx})Qk zIa+$;t)mN&bF zJXOa2uKQDBbvOs$OI6-$6mVwEg6OnG6}7R*co!NmL66K%G1{Zhkz#AgoHybz{3p6` zVPmJ1U}o!{W0!O8ba*MIuUamQ1{I6OY*$}E+4S^e`GpHWM-rs2cGt%i@{PoTt|hb} zf&lj*WU-=Cmvvbw({)Y|sc+os`b_^!cwfQ|S_$Q*`0EkFw`HVxe2`G3dbI6HjB*IL zBCyqkAqbqmQ3C7vh(QJy19VPEjsjdH1#QDYF~$sdZ@}T<3)XIY{BXgJdkb_nrpH1!ddk9}41!8D6y%MyZbTTaILh<2+I zLbY8PBPi3OvP%inY+D(}cM|PXffE1?Ydo4keXs(y;!kkJjj=ogl-I4y>0X>LtSXEG zw_M!VbXZ@S6&?5Wo=0E)T<&<#Ao6$#)Hj!5ZgM1qxal)8Z2POt+XL*|L9X4Vh?EG- ze|liF7oB4Y1)aaafI`+am=l_XrPTu^(AF8@vmM(Urd*Qc=@NsPQ%HG|BXvp^SXAk| zq*JVNAUeZ~G%N~&l@gZFHsHCS3`r7?0zizodV&FvKYl52O{-PKd+E8zHdi#S1=d-U zzAQ>6+NK^U7o3A)Q@+|Uzc;yoSlKnCF206WH8f!4-CRdVuM|*26Kzv-*$qxKy@B~B zLjV}I=;(;lDY-oLW~5ggk#m@&^B;O>AsG>lH;1sN*#Rt9aFCL^<1j({Y~1CrgOYaI zI&SIyRtwFxjhF+J_9;azHTR}sqYWg?35=pl;vCP8Sfw}8bhp;PYOj%tGDYo^S!|wY z1x46Pfo`UuljI2_%etYns##@#B}|b)W-M`VcB`v$RS(zC?qF$G>=>oluYzV7{;hGo6_J!-I{ z8=zc40yIS?U|VyV#|6V)-budXI%33`Fn z8fF%j^GSU8_25(m#0JYej3vi3m&P?OKt;+Tg043aVLm#&x0TwE>zXW8OR^MQ5y_fB zTKn^iue!u2v&HjpwjVeZ{4CzB~xBG95w>A=i_O+2HmT zbME2UY;gMfq!Z+BI2qndBX~6$oN$RkaG7<>sv8m4(9ajx$RUACv2)y!DV9znDK*7Y zx(?*(EKn76Fd@IbJmscBqQD&LEET7;u%$RoFfW<@V}{M_9_At_d(ad=?WfC5K{v$~ zi_QRXpH+gj3we>p;6uhr=1kSZ?9zGTRu=nY{`*lwAf#<_rIpK0Tc+y03_+cHP;qZNgGnPDTmYLHc(3!(U2P7ddyGNdW32eksrW%KyZ8qmk6%dhbIl^i5lId<%hN+Mjr>!Lli zUuq4tjJM0J46to@B3!}i0zI`~U=6j5vITG?D^pQXnbl6Ay1ar|2D`v)Pbz)jH}hR` zoJXJrDrX(H53K>-&<0{tsD}7l4M;VaO^@3(CD4e{I{V(Vy~U@#3$t=7SKgbeX*it&^^SB zKpqEj?ZVp~WKXutesNT?0C&$ULn?4|2O9%AIOFY`d>ljBVAgz#HSYyb-7Q=h_3R&B z&D{cJLG$IR^!w60z#u?);`E}MtKE%srR&ufgo-FJbuRk4q(rJn7T9`Xgd2r#c4?j~ z4)YD0Hi&5*tr5ff(|p_)(UYIZO%NFQh`1q*#AvWDKgcbwQdr)w@$K=I^Vacvie#!0 zaf=*}T$??7MpVWDepHYsF&JLVa%YYXEHcloqZmUN`SnNM*4rE?_ zcY9&&hzF`~FLbuiQ`M0iv9M8>8IYl0&)x1Jo`$3pWTiS*;6TLQJ``^gm-sfQ8@V8n z%#YBLtX#~bZlW=$d`#yg@u3CcvCwYv`#mDG$<-?^O$=9m?x(n_e9dwy_^NJze;sB* z-j5+awElr>i8ct%d(?m?^=Ss{Xubo)gQW1&?5WD(mI`$?yU?Gj5MLFkvA?LS7ShHF zzFR-njfClk+sZYhC~R2vapDcC<8?SUKIUW9n1DoMB32sXle)r>X`UMI>Aqo94c8iv zXcdH+G+$Wz`@4~x53@216vyNmg|N*DX8Rs^w=M_|n4xl;{r>-pR9Ejv=|{%!Brm%g1KM;i7Vc z7H0RGb-(tc(O2{4yN|G0T%?GE?$Y?l8w3|JISjDicXNoERU5J3wWT2$$SAK1zzO1Q z8+91W6^B_VBQmcEi>wP&1t9VHv&d^kfm0R1L!ly4XYUxB5;?J}sfY%ci)o;_C@8xG z4{`40v}9kW``{6zP*qw%taf7=63!`Z36Q++8z5(xT!^Vhs%~+MP~`Iax43L3fb2%hGkV9h-ED=h-n``qFGgIgzVQIlKVLEZ&EPnQuHWu) zA*LSWAwzjvwab|20Pnx!7zf{B-%eixjAo1#x9?76RsoqF-jpmlRJXD zB|D_lnfTFrkk-rvo#@Szty2u5Evj{_0E{Bi8jEDE|LdwDay(Y(4o4uc1dq&ge%OlE z?DZ^NOU7l{h-qXymkv|t0A->tUwyPrMth6St{JK=Qatzya?KP9dsq%`qB6W|nQRj_H~;M9@+KJR5twdCg9AAlhgK#~1Qe zp+YTYPlvc0y*!Om0_JG9oN~=JR2iiGvozzKlJC8@7*_w`#oA!Jl*29^S`$6B#IG*WTZN_hslno2mG65vOabDtV`?BW!Qm@2sAy ztLi#t($RWHn9>xB7+0jG_pTGv6}R(siwmFl16t1V$5tChE4mlvPLr1I@=YcaOH+n( zvGU8y$t&*QFg4Pu(>kqSmt2js=jFSgJ6h=K4J|yVnoF(}Dtph1E{`I;aqo4A^u?Cu z_=nY8u?sda1WFe`EY z3SpE>7jsSJW=3f&J2?=!8(+-^Q|yK&vk@Y>KWZQz6MDd_;rTIK10Q1F-ySI!;34Mi z2yYKZkR5)A|7q~?2)3YyxaWh(RG-*>ox7ha(4*H^vy^ruTa}t~PBD_Z z!f}YLgbAlWHd7f5*pJ7u2uv{XL8 ze4Kms#`vdlGoX*rD?8&grDv!#f>=Juzb;l29tzlQor_8-QAUbB;Xr>ag#wvVD8q7Q zoRTizQgW2gz&Og*DC12XbrDvJVz8s-JNA)EQZatz>Ltz;w7Un8E@saznlN%LynYeI z65fsicZhD;Vw)n-Dsfcf}Dc(!ZMYmYd z@)oFTR~*o^n8k=&;eE&fPOhMj8CCSb^svr?Wy&?tHZ_;s;G|x!i%H8q4p8)p(~XGx zkTX#mXfD2i25!`HEJ@l#2`nglk8oFKGU#O=bcmJfJHU;~4&bT5NCEa+UR5?5xA?Rg zb_6e1=3h`_H=kA~(EIj4v8)^8ewUWt0qh7~uI>;!jn|Q4G}S_Q;O7?vBsT5dN$~yX zFh{QaoqVZ(k5_l3RO8cq6KrZT_&fOTH^Oqg*9J?x=1!R%ttR*^nZwT)n&QX1>cd=e zY6K3xS~A9HVvaq);P+rMzodbF*jFCQFTn@yUlq^93h^)M0D-dIzTwxm6AaM1;3b$& z4%uoq0d%B6Dxqi*l`EFT<%YTB0QqQGX?GNusi^bL*p>3m$Qwy9%qo5>7fJppX*)?Y zM&+dY1i5um{~rKr%%nkgEBCmLkb&N|r(9gboAfNscaPF*x?ippkO?si-%Cd&K+gP- zEOmV>bX0zj{$^f}0h<_>2jzm@KKB$db{yxSAbB=tSsX3#yS#UqB=zr??fhVauja;F z8*j{u$9gywiJ|u}6Dr z#eAGzEZIKMi6CO*3YTWa=U}d+O#2>3|0j7&UnMiPWS4j7!bqNxIBK}AT;vVn6<=a>y;oFt`80L@& z01i%5LY&ei-HU6pXY?zgJ~LNO-YQUsP}=;CPxwC6Q0meuVA>M;L~ zs%j+<^^^_iY?`YOR6n}cvk38OIe7b`YGy=hW)x|Y~d;m5ka?;z_?OS3iZ#XkWVk`I6h^X2n7t|f> zR>fL{{M5cKw%OEgX_r6Xq!J+WG{}rHvqU(<#W)RkMm$`VTgYKI%df_J4RC7eFX8Dc z6J`nvSK)-6!h+x9lhn)gki!z@{c|e!b|voxftn-2wn)m5BTD%+|B-S;FrWz=Xe$34 zE(s1;EN29TtDst&;TB0L;h_e1W zGZ9u?#Z)L?(FQ8D#FTdP$`!OSd{wkcO+6B+saGtjZ%+N#0CN5`psGA$G-Z@ww)8UA z5pC)(qdvtoTJHZGQN4<|dPbF&n9>I5sjPP`Ajp;LZ%oT0{5oExN6$xU^!;^>Y~5P} zlsjQW_9|+vF|`?Ye7s3HW@+N&W2g3mkyCqPbENiCeLax!IVc%JSxIn=kR&dLB*PG8 z4V!}s>Ld;)u#306z9BG+9MOrdNfqD#BPb=Uhx-?X1OAZ5jw=4C7ymQI&(T@Wb6?Dx zeptNn$_WfZ++frJhQ)v?^fg<3?IN5zYJTwj(u;3ipQZ5DO9f^O&!$iR=&l?)zIURw zEPbBzUYbVJttke@p*n&wt9~j9z(wv)-FOx!8l7&@dKCOdv}d!1O}f_I$o;r8XroW8abAjS#0X31%tF^42tbv*mQGH|KQz)R01M^QK9 zn_)M&;Pyb$;)HhW5QuiG2TU5VW8gz<*MjwMUH{bsW_{*S_+iPR&+K7`KC=f6edaN! zKIa(x{bUtx6>)Qt8))+(-Gd+sMT2 z{A>5b{oQO6P$hUsOPf4etW_>WMZzs#Nh4>I%X0utZXKhZ04_cYR79sb>*Vo?2u$=yRkk_?-5Fg28Xc6q)gUt zIf_hxQw)1BM!vimp=XgqRaFzFb5&7-q{0+#imL#*K*8!Fn+y@j$jmbcH`a7kjR%>c zMS5u;V}~lY@CnsgoUkI6XF!`#WmZ{pG)qAv*|N7;X+u_ITHC59Y4XvuN7+R0eZaDx zqXZp0=PAz@OzIs!qo~?IQm~+vQX;t|F)h~BHD>d!SL_K?Op`8voBzZ$yC$_sp~JI` zJBMR-PwS^ERc4^(?rjj72-=>+_3FAJ>JqJ^Z{8OyfucXC+4jtFs7X* ztjIo05}-Ia3D4u@G)RxHGTTC{h~%0}X zm%mCWWu(JKTSS5$l#miq0gZ^VE~82471N}plA?7?c^!X_eNsy5mDbCs0rmbL?bE2# zuqcHd7c{2t2t9~DzJ;;T*9}h~uO7JFwA-3)b74c=#*lqIyP~y=WK2sVSSt3Uk<3Tq zP`C31sS2gi@s<+aK1VQ6c_qziwfh`gMXze%kcjj4CHfEyXXTT}%HHn6E;`3Yan(9s ztIjE=g^(iW8gtr1DA&#)PP>xAX~OhApof#6oGB$mo=6VT7%fV%7}|(pFO9<}aY0+_ z3eGHc<)MM&P%gkz-T2t(lpO$S{@YnPCnCGbTsg8W!@kjM;x)a1fq9zo6U0 zc32n40_ZhXFp92WLIc#~6)XVNCmaCvnvi9t>zt?bXmpo@_A4Gmmhro^vxvhj_~5+- z+u;IirAeC^vAuUzimkuv*F_WFbwXjT%T5!&KXReikpao9A`dI@!j;E#b3=k{MKJB&pQ#<{%T-5R8D3Vz? zC_%Q_eyzxWlZ zD~S%O7O@Li;uhm%bgR>pIhNbNU?{>i{MRK6WD#W5{yz}C|KCUb>w?6q>sd^O$}6)6 zH{*k3dCpaBTS84Mpa(`k=qTGz1=!!u2Olt}{Ld7$pkqD&DDJ(<##pHxsz`=TJ3OY#b7kGe>3$BRI0a8=PUm^CZ`zzdIHTUVk zdlmQb{-WMK>al7YYWrTD4bop!*x((jZBQuldv#SPe^FC~b*!E{+k=C!zgJU(^cQtC zc)2z^8duF|YUwBTOYf)WQr|1Eg7?d+l5#Oklbe<`DgC0F#9UZ2s!d@{O24osF&Ac@ zc#qJ53f?cMO3Lc8gWbp5_1@l;i+m3OljXnKX}t8mM9EeBC045E_|8{Xa~z{r%W)*D z#~37k(6hf~#$(w>un7Dn%a4*p~MW?XAl_Ksj3e0ao!|{0pZoPB*K6xqb{s zZVABY$fji#Pajx;oS!NO{uGaS1*=pf3=L0$bfGza;Mm|8gVG}5eI-tjg#$_4N9H^V zqmfu|TH)=YBkW!B#04gyL|FySZd$X=Drx?VJrz!vQHi7@cH$3V=I~xOLPfgSV>d0n zWK< z!@GXdN8@p0pC?8FSRZRTg{WzWg6J!*5%vioxh0j8gUud2PSVeFeORsuC{|MLo!zQ3 z$-G2!+i>}5Qo)oeCO%ppKj8Z^bqNC{mGvR)HdT-$ifB_3lxD9UT)Cpf9Uns|3DSH< zMU2{N4>E@2CA>saq_u+Eer zYOGgGCRsI*G9}jYf*7lZmAzZm(7p<6J|cY@_?KbGg0YS6u|Q=d62n0@{t+?!Lso=C z@EjKTv1u@0zari9+|rZaRC3`{IwqmhCp(A*nkIeKJHZ#f;p75s$>sqc1m?!+yc8?RjFFCl97<^oT* z?(5QAFv_Ng?)Af4!qSAgT5i4~Mzn1Nc?F{(5?wnJmE|Uv`ptfP_^{nXl+13ge*7OAn9|i%V?N=B`=9a}ng8jHRlOe{zRoxheRO)bKApey5&hKxz*Bg6- z{C&7Sz^JZcC&XlI+mDOdiWD4!ubBgWwMHK$FAsezx8ib5#*u3h-u6^TTop-C-%(R6 zd{Nx`x9`Ebw2*!f%@WwWn$yh`oKfK7O{c; zfmesq?K3;a6H}bt8llSLV!#}k=H2o$3J|v>*BWQfH-4d*h4~?i{kM==C2lcl0UED;bD1EERfA|BEmKyBCNN6`5&cc zPc>(F0{R!!{)M}!kOfb!y=+CD^EJ1i@TKa}+L9p@CS<3pW0X)t5J$dPx;- z_I`E|4j(1?dAb^^XRjpvop8U4*`orbNZu1Y-LWsoyD|5G&^yT+&fZ;?*)+r<3UA}? zl$$ALmL|SmeF6=-s~fx8`V6_b4A9&nu#_kZnfSk!n`BlGo#*OXip2`{I|nw9RS-hv z9aX_RsNLV(s`GKl$*;wolx5?Kg9jO7C(Q`SyGsEWm&P$6(-v`U#I12DaqwAv5Ga4> zP+<@c8M&{PH;dh$kHSKrh`ihn)v<&qmfL3TB{Bv4+mc6k?uadN*hxbvJT?9hE_&=x zn=cS^hIkW)i= z;wl{#SSN2Vtd3dIqAwimXCfyH@^Y#TnAtLZ!4I05W6K6Q;2crJX!Vhs7tHsj@!{U} z24!<<>#zsaU|SCaIdY2Vl|zWdKBg*h+c@1iu}%$sFb`-RgXO@M%ERutDqwol9#KnrelBFy!1ehkSMcH8{4%Lhzrc@ z_YWzm18zNTK28ZbWMRp9;1i8&Vd8SKlR2|Rg=##=yO@`d)8s2ZV16uUQ`AW`nBP0lZaKgMiEf&2b9x*}avYMagG#Th0d3k8uwEMidcMR`J{Ky+MaLyM zIX((((YrS4WbNd2{jJxk=>J?|rXH`jA_?lF0ptpGTDhB2-;Prd1P02BFxpme`E zy3?p&Li3dvAS0f3$;bf4BY6_eTHW+uZ!(Iei0q5NdwlpmaOj5M_d!!lhj3L_d=@0U z8e$YtPITRyLPD|9*@Sg7{y0n-4T}jU#r5R%i4!J{&#MD(KdGO`UuS3!$&n`~_4C+F zo7*OJG-I1yW2l z&KL|MoOL#ZW|-QY*M%H1NxE&>i~&oIEECWdy(YJe;tY@5Max>K(*x#?5nisg8oLIb zvCT@o?Y#tQabls$Tm9v7{p_{J+~@)ATV;-$9^T94+kTv(QKSJ!`A`rT*`My%P(XS7M*h2g)V0C5XmPXb^6fUvxH>5Y+6OHs6&L zuMJj-`;@BL{_t3G#eN#(1j~u>D=&anjvf4HDe{rpFH+}m^{0PZg0Vwlq6dl9HMunx z;}OI@U(Mgjp{>M~o0vVOmdYkx^MWNgkbMF8V|6!O`?i8L`r zRZ5ySq_UU_1DE5f()ZSI>OaE7kAr|jtN&tLFe(ik}ppS;Fs3(GIAQA6(yHlNM$MK<&E1rSe)Qn8u$xB@20 z(&YD$cV&!46yKz2wgsG5BHX+1o@WmD<+t5H;7UkPYJ(v z`ulJ8_csO_V>O+JcuVOCHN?!@tK>)sfcQm_jfy7 z$#oA+@pvHk;a2Z-xKD2fyGLmg%(P&0EA4PQ$H(E=@)y84TRlo;!*lk_!)U2quEgru zXGp?^p2@{ON%mkd2?saeBFB=Nk@bOTxv7XO+1seX>Q6C=Z(Xx5x`Jlp-Wj_j9AcCu z_;Sv~R>?o44lxarh5X25L1Pn4;P|>XRQQcosGU@L#(yIRp?iOtG{dRec&9UzwHYQ| zr%3I5w2P(>_Yz~ssL;KQg`mK+a-Q2}segpk=bQqyNKKsgD&O;RS~?Vf22~o}>hG<@ zcvJH#Z3RhbV1+9HqKPq$tBuhYxo~p}9)V-M&E26VhL78q7t~-Jk+F8QTmA`#_G|pX zXDfP4Sep5IV9!ZcS^-bCJ)c@**B@~nG&k?_Cx40e{B`e3HzXXj4$RwU%4&Tee&%_5 zTCL?&z=@XES;9wvj~nU$A2k9)v>GRG&&YjK#5h1?SY$SEKK4o~Ia4gJc zcZUFb2D0}c^^VZiKQVhn97g-}_VX!a?rG9u`@=*_^QSa`^QX~YUY2MyC0Gj;mp$9Y4!{4_OY2LyJJuG$4wY*u49ZE>&efV5bZ(-CQ5O=hoC%f1E zqkR~jYFvFKF8Fa)!xgi> z2WYtS-iM5Y0yxyd1U&PBt|)_1;d>#qU+npFIVguwnR71?Hb&IUKF1zX4N=Pj4>)Z0 zkEpp=WuKYYdNCBH3RAm(b>fZC+bzkXc`j z_BKL5;0)wf)td4*hWiX1f`>lo zX_Cw{TMpZXrGFABSjn2>trL$(+)1EpPK_Vdc1!sut9SvK6(X_%qWv1p70=1W3!Rpk zVL0##?pu0Tz1m>wBi>#}x+m!Jo2SNh=_HTp?35NjHdWsWY+psZOx^qqyB8u-SUCYG z9KTg}ewEw-umQZl+klKp?e)bNj`OP$KH2UzXg$dAm1G$<^=*Vp;irQ4XnDX^WHDv7?Pr8acNz*rln+h;*LjAyX)nY(XL zJ?a+B3>)ZlYbz@{62b|CATgLcB2<10BJ8`6J1~HDn!A8AEkhLi8yhYUjxvy5ISutr z71Zq7zszxv=}Xny4di7Rg?6(rufalsVRwmiPxRt4DAR?g03YBGtH$|>?sW!?$~_?d z+C$iyM98Wi?06W(4zf;Fgtp=EWIf3Yx8LZRAmo+cTZ~JbroA0HTewidI@p1i&S+_e z6wA-He#@uXx!n<_DD%+CNS12#F&Ety5(4{(m5iz}hQmyf*s*kJ(IIlfU}9QBl3Z4A zzUr56*N=Ur0yaa*1odSO%7XlG%-kcC)5xB##Z1BqauljzC< zpdPS7P4@3`_J30&P&|4A{u)9p&-VkMf%V=tNpRZEnpa^e@V(xc*9hllj{jxZB@HrN zA-jHcHt?Pv{`6l{T~eCL=ErOIBojh<(1hkzsCiZR%0z_>KHVVg@=d1!XOTx;t@V1< zjO6rU^3T`#4hbN`m%L~+pzO;c#Ph)pyOiCAz})=tjqz(v)0n*yK_n@6 z;H&i~L(L-q+J)Sw8;$W#jNg#ETkmWClL*}+_Sq~qtzdR-COCcfzhZ;Jgi#UVcBh!2?B$U zWiI@}X0cj$D`>A$*fHZ%G*Rs9X^zOZI>IM~t*g*H`!pNveW63*3|liM2Z9K>_jBu; z+d1BbIEQh>j>#T$-tstE68m$BaMrgU3E*w$45J7IZutn2DfFq+mw1(ohYf|9)phn4MtN%jxQ_48H%S8RG$$f@o^@`Jd>o~2 z?Q4l#{gFeTa_CPMuDvyz1<@g9Fm4n%vQtcxRdD3oTf3Z-`Lp}9eT8o7BxUUm@vTrS zuCpgyPPZ;`0lJa!dJ#OROBNy$ZsFXcN_GzC(Qpx$rJ_bY)1zfBF*TOW;KE7^M&Zuc zQy*@Z``Yaf_G@Phl13r3+7dxN;Gq%af+h=`)*07NOdz5+5P|s~7hLTmsJ>)pFzNQy z`s2H6Dt$9!I{-5<73sOEI?h7yD% z(z{Qrm=)m#iNGL8lL`+O%zDtPkBY9AU*`{R()M9ZRB}a8qmFgu~-^fSi@`7WZB$)Peq5{(F z&uN4K?b$@B)lJz>Hi$kGcgOfxL>BCBxNi8paw$rsusHoSPEYm=I7%4G7nuU78|bX< z4?zV)NJ>g_gzj>#@K)^W^y+oY&% zzG=&|89CN1GuzC$eiNLAH4h$U)5d%0ETwPe`=Z6#*^KBFRXI;nxmJNT2(-)6A=b&c z*gjGe+y_TqzT%5G)hIkg+tjw~gi{xsV3E&fer|F^n??t$ExJLh%Wo2*60Nyhg(9MF zO&x~O*3jbBRkSHp9Z`4cBH<-ag|!dZVRcR0`!zO+QJh;Nr1~P(q_veehJSfoehrW8 zG2fF^HAcOKHeJ{zwe_}XhxH#zk9If})vI4NFC*I29I&>^2C@FuCLt;jZG=2T9Ug0{ za8O%AjaFAs!=rpLDXDa`M`{XJYFl)LQG@8GwUALOd*KS+!sZD)7pEh?`d2RLno6=q#k z1-9wypPo#9D&wVNpgyvM1$8N11{nDY^d8jD<=P5uW$!B`&NflJ(%LEBsR1t z=a%U<63Qo5^CT7Rone+|l32p|=J(wz(?e%gEloR(w;=?UmoPCr9O5WicZPNx+RI{? z(eJiKQm(2MVJgp_-y~K9zJbSxH8Ax<-XITB@}%rnVFrB0+DdRCfkBg39C;;7XwuqI zZa%FV%LbkYy@48mwBBgIJp=x#Q8T~or)p6cLdC_@-o9TYdxB_9CV>gc-r1L{$aNLMERulQi4QZ2ZRE0(P z|MBm2rBOo$s*W7-969Q^y=bZlumrpReLK9cUB;28TfbfDF_Sr*=oF0A7DM3WtAiX1 zxnH-8UO>R4JJJhA5^l-8x!sE`XxKU*#ouV z0ns8jSd_?n#=(Ya7PIHa5|q-%-IL0_uiJ-U5+L8oTN#E8?e2%p#1iduv|rebWJQ87 zr!)*7c-ihz@@lu#9}PELr{&;^%=2Q2uY?kV5+m>}B84hy2W#_UynPOj!@D>b@qF(A zjA`A6@k(->#SW6_H0>pad6>N*yNax?t$`fiG&MD-rJe@-G(*fx*GU4It2qE2VwH*x zkfWvpcq+uHk85VX6wH@vF)%2;x;Q8H{oLYV$clK0AYx61IC)Pk>}TDWR0* zM3o`J=3;6I7ts<0O!XHdm=Z%H^=j|dcw#iMqzAwaLNXVf1_TMQjMP)Extkq zT**v6b~hip$*|+?pQqW@bRez?WDCW<)0t40<2qa{rl2FhB>e4Wi}jYw2aL&WYN-0f@>u-rAdmN) zV;rVl5B`{)jHVOIEXz?en;y336T0zDH$Fe_K1T}LeIfi<4t6qDgO6R!G3bKpJcmwV z1xe^c761|Oq}5MGOAwv)EFkMTZ3NFbr-v=C2k)ye))p9h2fU78l#swBsLx1cTh*R1 zv`}Kc!glJaJs=%y`?Yq z2YC;1RDOI={_<-K3|Clpnvu5(`AdZM8~W{U+vsg?VTWz{%j*6i_vZiS*KVe3LaDDc zv_8m~a>#UYhLwm}HhPV-)jpi6FS;47Z@$W4nn5*PCkH(|;;SQ~hocNZ(89ZmM*A*9 zLfo_*9u^_?>ttz7U*hY<$9c5zIgv*_qHRUJO5UsBZupP;;bc0Sj;@E}`zfax%pT+I z3r;o=WdDlfuVKa}%ORP*;oA11yL@?h{9cC}zKoX=>0ecwDz=zleZYa1b%`A^^(lE&GzT73mLBVnIAQ;cwg7`!6+7BP zKrO}^cNdKYkNLz_gd(_PXCAR(%@+%Ns2_lLE>Sp=(t!Lxby!HikChThO)<{)9cfHT zI95!39wMjV2vj_V*2r}+!rizxOyXm;ZM1hfQZ@Bk}%u?+^}6@LB5hvfB|s}x_Y_6 z(1#aD2q}Hf7n?I&jw(;bH`BZE)$Dw9HJsfJrkCAdG8s-M9v+|k z_wY1Dro+3t!RRKEK$?zjE+S@`X2UG;lzn@vC64rkMG!RQJu zV9zcj%+JkY?3pW$thUovZW*(&V>}~on~BzOm(B-O@?RomkfQ)lEmA@Q%;(qhUGhsN zP$4*&R&He9#m&DjvS7N@1+L4%hw<-5j3?8f-ZymG9y6ZG$fbmc6Z(`dZLM%OIjo@o|ug%~ef#m`Zv7^+(gwzeTM%NI8 z+;Xq24}S+gSA9HJ(`koARu{v^n=0}&E0J770i~%~K~fK6FzBLm%|`Fb3Ur8-OFzJE z#-k}CT?k6j#5S(i1l?<$rRNG7X!?Q{Xr|%j)DWty;|h+tT^sGa+s3$XmwZM-xQi3C zCc=)7c^5t{Eg&N=w)_LFp_Cp5E&JpoY{&Zewd!bWe*F`8 z6{T5r^Ep~By<-ZRJ+nuw5RRhm)`1e-8>r9!jGwIL99s{a#Zy~kh;mHo0eks<9PYT}b!?UnYNSdz)T*})=Cx$2U{H;Z{MJav;gmy4y8udJU0aoj>? z--A2VOR3E)PC#>cz^%yD1J|B;hmU^CYfLxYxxnV%myL-v6bUu^RlUIPI#Yzf!np$x zFN3rH3zu8BZiZ}2B|nqi{|2uG`J*|dj6OZ+%eZUNr%}1diK_63?H-GL_FFu6mwWcC zdMy%&Gs`xAk$7fLbOw^1^pdj0{9x0hTg&X?W?(d_e(Nw&_SBXxN-3N!-l+&(i}$suloI=U zWcaUdGi0U@--Rj*w_NyBQvNWN4UBcNC95@h zFwnpJriWa|9jk#XU+}*Ejpeug5=(#^bMBK4T5dM&ln?1F&Y1I^4qdY$Ni>DaeVA