From b525757d8ae2235971e1ce1192b6c845ff3f997b Mon Sep 17 00:00:00 2001 From: "kay.one" Date: Fri, 17 Jun 2011 22:26:04 -0700 Subject: [PATCH] Removed left over assemblies, CastleCore (Subsonic) and some old nuget packages --- Libraries/Castle.Core.dll | Bin 286208 -> 0 bytes Libraries/Castle.Core.xml | 4937 ---------- NzbDrone.Core.Test/App.config | 6 - NzbDrone.Core.Test/NzbDrone.Core.Test.csproj | 6 - NzbDrone.Core.Test/SabProviderTest.cs | 2 +- NzbDrone.Core.Test/packages.config | 3 - NzbDrone.Core/NzbDrone.Core.csproj | 7 - NzbDrone.Web/App_Readme/glimpse.readme.txt | 140 - NzbDrone.Web/NzbDrone.Web.csproj | 4 - NzbDrone.Web/Web.config | 20 +- NzbDrone.Web/packages.config | 1 - .../Castle.Core.2.5.2/Castle.Core.2.5.2.nupkg | Bin 700119 -> 0 bytes ...L - Apache Software Foundation License.txt | 57 - .../Castle.Core.2.5.2/lib/BreakingChanges.txt | 55 - packages/Castle.Core.2.5.2/lib/Changes.txt | 145 - packages/Castle.Core.2.5.2/lib/Committers.txt | 80 - .../lib/NET35/Castle.Core.dll | Bin 296960 -> 0 bytes .../lib/NET35/Castle.Core.xml | 4927 ---------- .../lib/NET40ClientProfile/Castle.Core.dll | Bin 299008 -> 0 bytes .../lib/NET40ClientProfile/Castle.Core.xml | 4927 ---------- .../Castle.Core.2.5.2/lib/SL3/Castle.Core.dll | Bin 244736 -> 0 bytes .../Castle.Core.2.5.2/lib/SL3/Castle.Core.xml | 4443 --------- .../Castle.Core.2.5.2/lib/SL4/Castle.Core.dll | Bin 244736 -> 0 bytes .../Castle.Core.2.5.2/lib/SL4/Castle.Core.xml | 4443 --------- .../Castle.Core.2.5.2/lib/releaseNotes.txt | 8 - .../Content/App_Readme/glimpse.readme.txt | 140 - .../Glimpse.0.81/Content/web.config.transform | 14 - packages/Glimpse.0.81/Glimpse.0.81.nupkg | Bin 293774 -> 0 bytes .../Content/Models/Generated/Database.tt | 32 - .../Models/Generated/PetaPoco.Core.ttinclude | 1615 ---- .../Generated/PetaPoco.Generator.ttinclude | 136 - .../PetaPoco.4.0.2/Content/Models/PetaPoco.cs | 2186 ----- packages/PetaPoco.4.0.2/PetaPoco.4.0.2.nupkg | Bin 33299 -> 0 bytes .../Content/Models/PetaPoco.cs | 2186 ----- .../PetaPoco.Core.4.0.2.nupkg | Bin 20358 -> 0 bytes .../Content/Scripts/jquery-1.5.2.js | 8374 ----------------- .../Content/Scripts/jquery-1.5.2.min.js | 16 - .../Content/Scripts/jquery-1.5.2-vsdoc.js | 6651 ------------- .../Tools/jquery-1.5.2-vsdoc-para.js | 6651 ------------- 39 files changed, 4 insertions(+), 52208 deletions(-) delete mode 100644 Libraries/Castle.Core.dll delete mode 100644 Libraries/Castle.Core.xml delete mode 100644 NzbDrone.Web/App_Readme/glimpse.readme.txt delete mode 100644 packages/Castle.Core.2.5.2/Castle.Core.2.5.2.nupkg delete mode 100644 packages/Castle.Core.2.5.2/lib/ASL - Apache Software Foundation License.txt delete mode 100644 packages/Castle.Core.2.5.2/lib/BreakingChanges.txt delete mode 100644 packages/Castle.Core.2.5.2/lib/Changes.txt delete mode 100644 packages/Castle.Core.2.5.2/lib/Committers.txt delete mode 100644 packages/Castle.Core.2.5.2/lib/NET35/Castle.Core.dll delete mode 100644 packages/Castle.Core.2.5.2/lib/NET35/Castle.Core.xml delete mode 100644 packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.dll delete mode 100644 packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.xml delete mode 100644 packages/Castle.Core.2.5.2/lib/SL3/Castle.Core.dll delete mode 100644 packages/Castle.Core.2.5.2/lib/SL3/Castle.Core.xml delete mode 100644 packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.dll delete mode 100644 packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.xml delete mode 100644 packages/Castle.Core.2.5.2/lib/releaseNotes.txt delete mode 100644 packages/Glimpse.0.81/Content/App_Readme/glimpse.readme.txt delete mode 100644 packages/Glimpse.0.81/Content/web.config.transform delete mode 100644 packages/Glimpse.0.81/Glimpse.0.81.nupkg delete mode 100644 packages/PetaPoco.4.0.2/Content/Models/Generated/Database.tt delete mode 100644 packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Core.ttinclude delete mode 100644 packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Generator.ttinclude delete mode 100644 packages/PetaPoco.4.0.2/Content/Models/PetaPoco.cs delete mode 100644 packages/PetaPoco.4.0.2/PetaPoco.4.0.2.nupkg delete mode 100644 packages/PetaPoco.Core.4.0.2/Content/Models/PetaPoco.cs delete mode 100644 packages/PetaPoco.Core.4.0.2/PetaPoco.Core.4.0.2.nupkg delete mode 100644 packages/jQuery.1.5.2/Content/Scripts/jquery-1.5.2.js delete mode 100644 packages/jQuery.1.5.2/Content/Scripts/jquery-1.5.2.min.js delete mode 100644 packages/jQuery.vsdoc.1.5.2/Content/Scripts/jquery-1.5.2-vsdoc.js delete mode 100644 packages/jQuery.vsdoc.1.5.2/Tools/jquery-1.5.2-vsdoc-para.js diff --git a/Libraries/Castle.Core.dll b/Libraries/Castle.Core.dll deleted file mode 100644 index 34c155ab46040c36780ff5aa388d574d26937227..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 286208 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

)`IG98sBl!a?Fp{Sjz51z%_^i=x$ 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

MFEr)Y{H@6`>xzuw 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 I{~ZMWH%m)Wr~m)} diff --git a/Libraries/Castle.Core.xml b/Libraries/Castle.Core.xml deleted file mode 100644 index d3d950979..000000000 --- a/Libraries/Castle.Core.xml +++ /dev/null @@ -1,4937 +0,0 @@ - - - - Castle.Core - - - -

- Assignes a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-feteched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Suppress property change notifications. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The property behaviors. - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Adds the key builder. - - The builder. - - - - Adds the key builders. - - The builders. - - - - Copies the key builders to the other - - - - - - - Copies the selected key builders to the other - - - - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Adds the dictionary getter. - - The getter. - - - - Adds the dictionary getters. - - The getters. - - - - Copies the property getters to the other - - - - - - - Copies the selected property getters to the other - - - - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds the dictionary setter. - - The setter. - - - - Adds the dictionary setters. - - The setters. - - - - Copies the property setters to the other - - - - - - - Copies the selected property setters to the other - - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors. - - - - - - - Copies the behaviors to the other - - - - - - - Copies the behaviors to the other - - - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Adds the dictionary initializers. - - The initializers. - - - - Adds the dictionary initializers. - - The initializers. - - - - Copies the initializers to the other - - - - - - - Copies the filtered initializers to the other - - - - - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Copies the meta-initializers to the other - - - - - - - Copies the filtered meta-initializers to the other - - - - - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Contract for dictionary meta-data initialization. - - - - - Performs any initialization of the dictionary adapter meta-data. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Helper class for retrieving attributes. - - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the attributes. - - The member. - The member attributes. - - - - Gets the type converter. - - The member. - - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Encapsulates an invocation of a proxied method. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the , with any generic - parameters bound to real types. - - - The concrete instantiation of the , or the if - not a generic method. - - Can be slower than calling . - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - - The concrete instantiation of , or - if not a generic method. - Can be slower than calling . - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the representing the method being invoked. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Interface describing elements composing generated type - - - - - Checks if the method is public or protected. - - - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , using provided. - - The class type to proxy. - The proxy generation options. - The generated proxy type. - Thrown when is a generic type definition. - Thrown when is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - - - - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - - - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - The WebLogger sends everything to the HttpContext.Trace - - - Trace must be enabled on the Asp.Net configuration file (web.config or machine.config) - - - - - Creates a new WebLogger with the priority set to DEBUG. - - - - - Creates a new WebLogger. - - The Log level typecode. - - - - Creates a new WebLogger. - - The Log name. - - - - Creates a new WebLogger. - - The Log name. - The Log level typecode. - - - - A Common method to log. - - The level of logging - The Log name. - The Message - The Exception - - - - Just returns this logger (WebLogger is not hierarchical). - - Ignored - This ILogger instance. - - - - Tries to get the current http context's trace context. - - The current http context's trace context or null if none is - available - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identificator is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asyncrhonously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/NzbDrone.Core.Test/App.config b/NzbDrone.Core.Test/App.config index 0d29e6625..6e63be8ce 100644 --- a/NzbDrone.Core.Test/App.config +++ b/NzbDrone.Core.Test/App.config @@ -19,11 +19,5 @@ - - - - - - \ No newline at end of file diff --git a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj index f6bb8d9da..2181f8ce7 100644 --- a/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj +++ b/NzbDrone.Core.Test/NzbDrone.Core.Test.csproj @@ -36,9 +36,6 @@ True - - ..\packages\Castle.Core.2.5.2\lib\NET35\Castle.Core.dll - ..\packages\NBuilder.2.3.0.0\lib\FizzWare.NBuilder.dll @@ -59,9 +56,6 @@ ..\packages\Moq.4.0.10827\lib\NET40\Moq.dll - - ..\packages\Ninject.2.2.1.4\lib\net40-Full\Ninject.dll - False ..\Libraries\NLog.dll diff --git a/NzbDrone.Core.Test/SabProviderTest.cs b/NzbDrone.Core.Test/SabProviderTest.cs index 0f7601ad0..ced522f06 100644 --- a/NzbDrone.Core.Test/SabProviderTest.cs +++ b/NzbDrone.Core.Test/SabProviderTest.cs @@ -333,7 +333,7 @@ namespace NzbDrone.Core.Test //Act bool result = mocker.Resolve().AddByUrl( - "http://www.newzbin.com/browse/post/6107863/nzb", "This is an Nzb"); + "http://www.newzbin.com/browse/post/6107863/nzb", "Added by unit tests."); //Assert Assert.IsTrue(result); diff --git a/NzbDrone.Core.Test/packages.config b/NzbDrone.Core.Test/packages.config index 05e7c4fc9..60c6acd33 100644 --- a/NzbDrone.Core.Test/packages.config +++ b/NzbDrone.Core.Test/packages.config @@ -3,10 +3,7 @@ - - - \ No newline at end of file diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 0dfca7e39..4c862a9a0 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -121,10 +121,6 @@ - - False - ..\Libraries\Castle.Core.dll - False ..\Libraries\Exceptioneer.WindowsFormsClient.dll @@ -296,9 +292,6 @@ - - - diff --git a/NzbDrone.Web/App_Readme/glimpse.readme.txt b/NzbDrone.Web/App_Readme/glimpse.readme.txt deleted file mode 100644 index bcbb782ce..000000000 --- a/NzbDrone.Web/App_Readme/glimpse.readme.txt +++ /dev/null @@ -1,140 +0,0 @@ -Release notes moved to bottom of file! --------------------------------------- - -Using Glimpse -------------- -Thank you for NuGetting Glimpse, A client side Glimpse into whats going on in your server. - -Glimpse is currently in Beta. - -If you experience any issues, or have feature requests, please report them to https://github.com/Glimpse/Glimpse/issues - -To get started with Glimpse, visit [http://yoursite.com]/Glimpse/Config/ This page hosts the Glimpse bookmarklets, useful for quickly turning on Glimpse. - -The following configuration values are allowed for Glimpse in your web.config: - - - - - - - - - - - - - - - - -For more info, visit the homepage at http://getGlimpse.com or follow #glimpse on Twitter. - - -Overview --------- -At its core Glimpse allows you to debug your web site right in the browser. Glimpse allows you to "Glimpse" into what's going on in your web server. In other words what Firebug is to debugging your client side code, Glimpse is to debugging your server within the client. - -Fundamentally Glimpse is made up of 3 different parts, all of which are extensible and customizable for any platform: - -* Glimpse Server Module -* Glimpse Client Side Viewer -* Glimpse Protocol - - -How it Works ------------- -On the Server: - -1. Server collects all server side information that will aid in debugging (i.e. application settings, routes, session variables, trace data, etc) -2. It does this by running through a pipeline of server side data providers that can be dynamically controlled and added to under our plugin architecture -3. Before the response is send, the server formats this data in accordance with the Glimpse Protocol and serializes it as JSON -4. Depending on whether it is an Ajax request or not, the server embeds the JSON in the content of the page - -On the Client: - -5. Depending on whether it is a Ajax request or not, the client picks up the JSON data and displays the it by executing a pipeline of client side data providers that can be dynamically controlled and added to under our plugin architecture -6. The client side module then dynamically renders a client side UI (similar to Firebug Lite) that lets you view this data - -Glimpse can be turned on or off by a series of different mechanisms, but at its core if the Glimpse cookie is present the server will provide the "debug" data - as a security measure, the request for debug data is "authenticated". - - -Server Implementations ----------------------- -Given the scope of the project and what it can do, the concept isn't restricted to any one platform. Hence, once mature, Glimpse Server Module will be available on all major web platforms. - -Platforms currently supported: - -* ASP.Net MVC - -Platforms target to be supported: - -* ASP.Net Web Forms -* PHP -* Ruby on Rails - -NOTE - If you would like help develop a Glimpse Server Module for a given platform please let us know. - - -Client Implementations ----------------------- -To start with the Glimpse Client Side Viewer is simply a light weight JavaScript "plugin" that understands the Glimpse Protocol and knows how to render the data. From a technology standpoint we currently use jQuery as the client side framework. - -Eventually, we would like to have actual browser plugins that provide richer functionality and experience, but the JavaScript version of the Glimpse Client Side Viewer is surprisingly well featured, intuitive and provides a high fidelity experience. We also hope to have a version for mobile ready soon which customizes the viewing/usage experience when using a mobile device. - -Protocol --------- -Details coming soon. - -Release Notes -------------- -05/08/2011 - 0.81 -- Changed plugin initialization so that SetupInit is only called once. -- Added list of loaded plugins to Glimpse/Config -- Added node to configuration to allow for blacklisting unwanted plugins. Configuration takes the form -- Updated Binding plugin to have acctual view data -- Fixed bugs with getting NotImplemented exceptions on trace tab -- Fixed bugs with users who were extending DefaultModelBinder -- Added ability to set glimpseState (cookie) to Hidden, which allows Glimpse to record and track remote client requests without rendering UI/Data to their response. (Useful for use with the remote tab) -- Added GlimpseTrace static facade to simplify tracing - -04/28/2011 - 0.80 -- Removed dependency on System.Drawing -- Fixed bugs related to projects that used custom ControllerActionInvokers -- Fixed bugs related to projects using custom FilterProviders -- Added MetaData tab which gives details of primary View Model and primary View Models properties (note this is not recursive at the moment) -- Environment tab now shows site trust level -- Performance improvments for supporting virtual directories -- Glimpse should now work in jQuery noConflict mode -- Added Glimpse Warnings tab, used to help debug Glimpse problems going forward - -04/20/2011 - 0.79 -- Client bug fixes for popout window -- Client bug fixes for virtual directories -- Various javascript fixes - -04/16/2011 - 0.78 -- Breaking change is you created custom plugins. Plugin interface moved from Glimpse.Protocol to Glimpse.Net.Extensibility namespace -- Fixed bug which threw ReflectionTypeLoadExceptions by using custom SafeDirectoryCatalog (Special thanks to Craig Wagner for helping us track this down!) -- Fixed pathing issues experienced by users hosting from virtual directories -- Added Request tab to show form, query string and cookies as the server saw them -- Added ViewData/ViewBag and TempData info to the details column of the Views tab -- Added Area support to Routes tab -- Added Glimpse Warnings tab, which will only appear when a MEF loading issue is thrown -- Added ability to open Glimpse in popup mode (alpha) -- Added symbols package to symbolsource.org for simplified debugging by the community - -04/14/2011 - 0.77 -- Fixed issues with most InvalidOperationException's/Circular references. Now if there is an issue, handle it more gracefully, and it only affects one tab. (More complete fix coming soon!) -- /Glimpse/Config is no longer case sensitive, and certain reports of 404’s to this page have been fixed. In addition, this page has been improved to be more understandable. -- As of right now, Glimpse only supports MVC3. We have identified the issues with MVC2, and are working to correct them. Special shout out to @rugvedvaidya for providing the (long!) workaround to get Glimpse running on MVC2. - -04/13/2011 - 0.76 -- Added "Time Elapsed" column to the Execution tab. -- Fixed 2 bugs with IE9 client rendering. -- Fixed bug with CSS text-alignment. -- Changed to Apache 2 license. - -Attribution ------------ -Some Icons are Copyright © Yusuke Kamiyamane. [http://p.yusukekamiyamane.com/] \ No newline at end of file diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 3cf52ab63..e0908cf64 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -49,9 +49,6 @@ False ..\Libraries\Castle.Core.dll - - ..\packages\Glimpse.0.81\lib\net40\Glimpse.Net.dll - False ..\Libraries\MVC3\Microsoft.Web.Infrastructure.dll @@ -281,7 +278,6 @@ - diff --git a/NzbDrone.Web/Web.config b/NzbDrone.Web/Web.config index 72fc19d8b..96897e8de 100644 --- a/NzbDrone.Web/Web.config +++ b/NzbDrone.Web/Web.config @@ -1,8 +1,5 @@  - -
- @@ -11,7 +8,7 @@ - + @@ -64,8 +61,8 @@ - - + + @@ -75,15 +72,4 @@ - - - - - - - - - - - \ No newline at end of file diff --git a/NzbDrone.Web/packages.config b/NzbDrone.Web/packages.config index 0f9d9b4b9..7d20791d9 100644 --- a/NzbDrone.Web/packages.config +++ b/NzbDrone.Web/packages.config @@ -2,7 +2,6 @@ - diff --git a/packages/Castle.Core.2.5.2/Castle.Core.2.5.2.nupkg b/packages/Castle.Core.2.5.2/Castle.Core.2.5.2.nupkg deleted file mode 100644 index 042efe808dac2a9d146e5c34fc643b86a8bf6dac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 700119 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%0AcCyq`_7slOa?Tw!B?LZZ%a-`hQVHbcF1AEx#oST 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¥K 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 TU6#ZkBSkwQc(GfO~tp?Y;F2?-Tw+ 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®9F1#V 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
jNhS}t&+e5<;Q-^H)Wkb@MQOd38xYV~4 z4+)-+tk<&_$*HSCIGkM-hs}nwclo$YxM>(z$;8ny6EQJ-JCEPNr#}g#t#Q?tBe&vI zZ*dsh4rbW3HjJ(JWL?H9+I0h!dzpud$EU;PIC6UovP$=eu1krQl=mWyIH%sSCOZO+ zm?KF`Ba}bu4C`s9%le3aQS4j`mdX_ILNeI2O5~VLy3eJ4rQ=H4N|44)oyopin^C-B-vx3sdt3afJLchLDiS9<@DTIe*2h4DL(=xyqkp8Qu3 zbFP%ZTP{9N{ebJx-vMPy70={*SyEm_x4&*my}*qgn^#w{eWM9c$<g`SSj<0#!-zXyJs4m?|_DURB~8PpcaG!jPwCPWnBUXe;_WXSD9He8tj`r32&f`c<#4!co=d3?D<%dfiT5 zEFE3~Ypa3v+?kEbX@Q1U3?`{AWnar;XVirZjsG}dsonU^co?PxuBInsJMbcrcYZ92 z{yYD-QpE`*{K~;P-(jRiMaw_M+sEPfgGJ4F62Gf(wtDhf@WSEf&U^X;`trXSebwjX z6ZmBK0`D^?q12~0tjA}k>Uw`ZvDeJcdytKZ1VYJCWKU%!Cc0JoHNZD z1>*{OlzdYJOKZ_hJr0IdUGchs3CtbT*a53=xt6<4$B*0=@UZCXHS5`VRPn8;pS$Xg z3lH>?p}#I~rMX`A3F6yzSlE<}4r_Ip`94svccNBgTuiy1n8cN|n2}Pz*nHdMn@kgR z#F)MA?Irze;%HhYs`C5GmbQ%;swcda{(8Bj(%*C@v8rs)9VIAH4G`jgWmDMVV04Bt zYqkyaMfV>Z79H-(nA5I&H2+gR9KxZd`#LRi_4+f;ry(o-}SsVltqJ* zTy|{i(IwQ0q#M6EZ}4=4@eRL*Kz9o1`k+C_^Jhh@=WCJ|g}iseluwXVuY*?KyIQYB z;9BrF{qPOxQmv>EL{`*oo_q`$5`>GR@7LF^|Q7ooNPhOV?7OM$*pNtdusgfT>bNW z7Nnoy*-h_swz-WCpUKS;QywgTJRg{HguTI(WwG7Uj~6oV=GEnXgSfK!hGBFJv{2=^ z#QG1OUixRv_q+RhwiQ9Rqx=3K*HVy-h(M|uu0mXy{-vc?VW`C$XYL&?156SI2-e70CvUsUT@5MW9w_% z6wS!#3%S#1sZB~g;jY`FJ|G0IU>C=h&Z=Yi%VvfU!+gg7Bks-Lq5A*$VIs5$DQg;{ z$`N7 zH~%|z{^fvO7}4|OMd)Rx>m@IwKi4DI%#Z)P_uXg#-E`U)=KP#U-RGXQ1NG(|khgYd z@M_6_c^}g6+xd)#bgq0O{;m#>Cj0n#d`NJ|vu&E`rP-GvtfEMqLc2d&qai!n9A>#XAitL!An#c- zusQ2xMkD3uX|d+N?$oT?mT}bfz3SeZHat<@zzj^flW$<@O)*zlwIge`Jz@svI4|Gt z%X|Aj@t`C`S6uv5o@0EF^-X*#?qg%1*N*ltr`SIa+I#t`Fnsb3S1JrPf7Zhr)fF;& zQ$}v9J@hYkI?XxX`_iEyzj@nRt9>t-7`E>UkNfYS-u?If@6rQ0QW`hCqi_3Cn3>G{ z6gtcuIi05QbNO#~bODGQAE4=H4xN8{uQ~hV+FMA#p@5rHd&l;qGumEjKNy!3ZT(MFe> zcdb8+wMJ~%GiU3t^6km|2UR+`i zQtEE~%$$dXUt!%_wdTo2+Pl_IG2eQci0x|+ZyKKCSR<)2L5t06xIfp7U96(dh#B>w z*WR=XT(kDv@iF!le!D>QdeN?+`uweyv!@Pg9X(ZGF(e5exKIi)$}|3shoMfr6F()N^gAR2whVnEUs)wA)CG4JGTC|iV-|1F8O{3L6}3f`W1ku1TQ3YN_W#v2%2rv` zbo5A5e5lo0ZR0Lds^eN4LN}bK&m$fk{HFc%Biwi{J=qMsW&=;!?M;>PXF1+B} zlsaBg(sgldxy>dGR(&IR?th2hrBz=3x48OlMnV#S1UWthsck33HJANQNvhekX%7c^ zrFU2Us;b>c`;FoUUutf7JeKRxAuSSHM-xdSTwZV>6DvbXa&|OMK-q zufRfLJJH+u~YRj0}b(`3o5==pYRgSx`Tc3 z&sYHmcpYnznfo78U>E;_*RcQmjtsDBHjXSYy6==caOv2&B!0#D&l@ycv<PV7%|L`EB9Pbw+rBZ3%7Ms;ibxj)2MTYqeZ+miw{CC?aor2j#S*4>Lw;_*S+bd z!}zyq*|z0hlARi~a%x+fN7f8If5W)91z4}?A@=ezz1^zd>HzVx|JQdc`9DSC=JkH8 zUpF*XK403?nb6D|bc>aF`90SWKf0uRJJyk!GN}9h%OT*$wcU-)V?`!7H~h6?0fmVMy1dEW6$UYt~W22{L?l!K!4?#Ja}D{LE%sx>tC3@1Gdef2=6KI-Csu|CfS zhMN{TflNeEl(&C9)}?+St2x&5*nus&FUGMngpoaC!>jiC$;hFZmUnOJ zy}r73L5bP^ZzJ-|M~|*=9d_G|1nj8catFox_m{8}lJx%cj5w;_i})xJsS(+&Xra#W>c$NAoWH-r8@k@LE0cCt?6^Ab(R06f{Yk%{##D)rM)JBu_gUD# zETvaq75TB}gSAk^De&uHamjbzknVSmb*=QwR9%1bUjlpMQ_~+lIZ@AF+;?uNBH2CZ z_myVXO3A@C-3*p+P4I%_WIpe%UKU1mH*WO7y31XhNk20Wu1N0XB&>yYQVkEHMW(Hc zLK1m2?BrU_8TuW_e~;%kygqvo+xKOB_tH5n!Xfst6zSru86BJfUZ-I6;-QAEcW9<8 z97=cxE?URV0xz#gD#U(2j?r&)D*e8_H6z#}X~__G7v%YDYo1ZPP44it!I0?2PhF}` zCqJIrb!-2Iexn@@ed3osCxBDqh~RJFa6?FR`4!}B!kTs^roQXE zcBx?NpRGBn6HZT(E}!0;x23xt`LiR(v?XlP&7ninxZjLtJpA~ZZA|F%(WtpFzD~j*=kZqz)Z+`c> zH0XO@VCkaa-LW@!sSnKQcz~FeWmk3i-9{5@IXRo>%LRgY)Y*P5)z%-69<(ie9pCle zFXqo^Mx$u7%RH7hTevQQek##7VP&S1ZOHEhlId{+t)+ji1-jogn%fbnKY66H|J?gz z-S@BKu1&Q*vr%)qP*F3!>|D;#9f;l9b>}*={h2=dy{gS4f-XkRI`-%LG$yz2w8v*o zDy>oja*MDmQ^^0AYQNk6pT+uq&zOJx4K21rv2FM~Ql#zats8MD4FkW%g{%i1mr$dY z@UMchYQ&(nn31UXT`?LGKV6{zA-r-L&(mgSVcEkoMq0Di{~3Ix5)C8W5y}E`Gjr*6 zDOlm`|6%-+=e&WLXFdmeHtr4I|BF_)^rV#=XKf?XaQsf{55t4IOB>TzOZ=+1v&zFmp{bg_uYiknaYl+u zYP$r6;`z8JMvRnR(%-(Sx~DU%C1FtBA~X2!E``49&g}2`&cA@1y;LhGb#%=7Af<_5 zJUd?5=ieM~So6cKJ4#@8jiRt?Kk1jmMzFT#2-*5IB(n{68AWON*XR>)_2$j{hTDjT zF*o%{rL7D__q)2WWv8wlTC$@KGzbZzZS5!B!q3-Ve@t`?d%EU_&P9EN@>OAXXIVqZ z@jq?J$pbdUUyRT7HP4KGe5E*YkHO}p;MYS>3=O#%aj9>|#*!cH`Z_H=-)Awiq&YNT zdqq-K@Wu%~K+ev6IOq0!W~p*#bX3K~h!cfl?C*yZ~wfSdoHJI5&d zPP?P&UH^3>X2MNB_F7OE5}V`yXe2s_KFM$=nLXa!7ZzA>X$SLBy9d#+F*(Dflxh*2 zahvq4={^oOpYHr&$+_A8@w!f_jf;xf88XjF+1}P#9$E2ZFXM~#YrFA9do~NYQ@iqM&h||Xt}3PEc5%Uzc>5x@B1CUB}~+H zJd7Ee|J!adU_0tgeLZiyee=qOyQ{CaXKb6(m0|wyPzl!8uzi0kxosfR_$Mp>!6&pV z>h=2-{h4}$O@TJl#|4W&&|FHFk-#>$b-{1b_9B?e@l`1go+r#(teADE#bP(zJLAH( zizj|uTIwJ60Q>Uta^mH0tv7bevDn*`cd{^eDZKOVa$2E=q9Liz>wRsWgxz<@P3sN$ zMZtyOkpc{Y55*w-nGisWazXRazuEuGhNpc}$1I>}H`?Bw_xr}y0+ zA{Vtk=F&z+U~Aq2$BkwWrIs5F4QD>AKX*+vY?t~*VS~-wAC!j{nIY+Iol&TNW~c<5Cam37*+MI7&2$ zUynOL<3PWTLL2KJ)|i0AM9X)WOOsJCjj0CnEWK0klZY!~W;4&GRJ{n!MKJ1&?yEnV z082DPCgPv~Rv35~9wuQ^9q5hmCiEjkCTG0-%ZmZDCU7w|(;FQodaQ$%iqI|NU~UK7 z&08_`*6Y$?+C~WKQilH_{Bea`Ol!Fi@CHt0_pp2Dc+`czKldsgU#RG?Z-y;5i={bu zBDeU>%U)U~LrWV>gmc*wo_y5}qwu1jQk2^B0Fbg}bdc!N!j`4H1@nRa8nKcx_7xst z3c~f@q`mqf^=cYrV!lt-z-Mr468;Sy4#l{5QI#ALkda{g`zS*`B*mJJAju4*4XS`9 zYOqcQ7IGI$Bn%Dj;z!s*4n-M`-wwwoy%ASP2}_iq#Eym*;D1B08_sw$M_Llk8K>cf zc@WPUzhQ?xhNUDK8;>b)&V#w^?|1=avdtPEhm~Yh4Hx19Ym^H~;Ysi1&|{7iQhddf zJp3fiW?tfFdPC!r-ZB>c4(dJq);W==-QK+56lXJZVl-xdNcv4 zhp;PRnY?he?hU7B3{IGs8iY=&XNGaA8R2ldU3Jsh1PVw&`&XbMDs8-n?a#Y}o}pv% zevmyiFU?>F0R<1iE=KtLt(ZlTQ-knW3DYy8^ItX(h}U$lI6G1A?Rt{OHbE6|yMcpp zzz=Re*~m~U5j?(R&oh;vyZTbKoP(bv*(&G z-^|GIgI(4sBw!|Gn9acwN2@q0b}r8ip$Y)v*2pqBQ50{!e6<20E3}J1Hw9WFYvX7! zz)Tl35jw{uzu*w3KCL8Y(INea2zL^m3OCX)?m6^@iYR4MF2H4XE9QX6IzKpV7tfGV z2lv&7Y>0-1srR+ z#2s#DO7j6Kcl(aO7ziRgU>*JXNhpzXZzN1YeRl#Mg73%T+GGUKa|Ej{{tmqMeum*D{zK6-${IA?qW8)ry*V z5Hc4LP>*(le}R6xtU6gp`S5C8AzPUirKU5MHdhB-*9AKXW_q?T*#qJh(oMQdH1-HX zB-rz1T{7~jL`q?zKo5GG$oX9jzYj#p9IHK$&yJ-Q~cBmfn}EwNif_gyGy*7S$(U>-leapP|(y-4aWo`9sl>|V2g_cv_KQ+lxe>u zcGv`W?YWj$18S$j{S5m3Rb$cH7|$an}p4B`eT#=S`4T=Yt36CWSlA!N%W*F`jmK5URp zv_LUkmjI)7=$9cWK(9I@9%cGINU*dhdJ2GjDRi*pY@9ck0x(~X3=`1J}Q>dej%P>9!*97 zI<)?_)D+c#8<=g)^UyG;jVgoLG6~X7$s$)4ps55SI?hvTjS!`a|0O7}wgC%bDba0$g zq_9>G86AP;As%oQQ@I^7JX^M|@Qa2fCNl^$+x-Fl%|tVa|80^f%EUU?>D#{Op;fBm zUpSpgH9;pX@he#2$p6tq@c^+-SZwGP3~8*AnzqA>{}}C=Gf=(Kq4+|u|1#ITt9N2C zE;9cHO(fo703Oi!MhAw|ka8mey`#m}c*80=6*aM1tvkXgmb;~gQWe4bQKDej4v`E@ zpDcMzNua#KFXMhu^8STaIauL@--Ysh6P_oN2dzE>DIqemIzH#GqT;%71ul_s#^@@$ zp{{&NG6j#8UqbxQ-BF^hi1^<13WtswyrB)ogrfWm0k#`m%9AK%MJ{bfvdb z=Cvu5T8;w(G;Uof=brc*M@l7du9`NR!6TwY21EpG2XMpMa3YA7=fM+}9c&`OiWCpG z(mDUh3yW@7fF&)oT^haVEecW%W8j zW6UgYfVPu^w35g?Y)`Q=x7VM5C>mUF13r{;MIdqv>cR^tZ+PY{eL0-UAOZaqhjv&EDYOu~4M&=`=I@r?a3opsTp~ zUIX4kRy06p3lq=86~_qFrJ)(H@jpM5>VlbqUdP@~r3-t(@fMzt8s0w2k`?ArQo!Jp zRan8sZ9+L{+RG#2l?))D@PaF^2IC=)hcg}*qLxAiL$28%;;Sy0zl6YlVI z7`u5xn@y8-A?^%fTJgxTOJF}q8B&BzQydeU61ZB65ehlJdncaVdL6kP?9dX z9gOBoO0h&xE$lQ8P)ZVaTCT!ODp$dBnzRPjJEj7qwJ>llS_E%b4C7%?GwB`l5)p|HDwE?OC0<@HC z(X6AD{VOjkL@eoH1H~n-UHNR}%d>*I%eV*s38>oTaD7Hh|wRIzGdC=U9d%#yk{YVo)!~l(R0hOId z`r0?R0^<9j9SXAAhntRdlT6DGDA&(VOvO$m2{>Z*r*JVZPU{v*~s_K34Gqlc`% zP&CuIB3B>Z4$k3S>({vtE!v?K`z#u96DC>%M=J=R5 z7VeF`#R7WH+dxR?FUm7047GsUVR3(~CP9}Xm273q#8()pc}Qf=K<3p+sls7^fPO6ee6!u+!|w0{ zsphetxUNXbJzzwH-RB(3Rmwuh42|~Jym|blCRtg?0;xwORDz*2ibbsH%xj-ixHs3d zFh$(`cn9t*<75#u@n*(=&KlH zTbISYfYsW>tXEhrpmy=g<6XxDtZFf);CyKNA-2wn&9@-^V?Qfpfo{_Z&{-dWj_1Te z`lFzL+Lzbg&{kb-oslLBfwWhxJ;0GQK$%uXAy_gP2G z^&U=NWs7r}Gd|N4Ket9s6;39RzIkFxCuP7|9FiIckR`W4DT=X6OKBIjyV&o9Kdj46#;gIJR1^>*qUp?g*EnMP&P}1)0ltMxq)7d6&{H z7RYl|Q!Y1IKboaXq{wA8R)z$?ge{m`yI#){c>xziY}7|dt=83vvNT*RBN^b;+$d&q z_|!j2`eL4hclArTjXAx{KP2n$ozE5-gj6!CrhH8W?6YXLkV->W_j~}jEHu?44QRS| zF2Q}8==4Za3vCp2wN%hYh$qa*N3WUZGG3+B{9?vkmN7p|nm#NDC+%?uxr~Z%7lhM! z%X<$(ijF?hJHR+SR~QN(5!p49e%T$X&OIP&Qk?_G@@pAh6v&q?b-pa>LaG_a9Jrj0 zIuYEEI;xAG*FEhDqa8Ft3?ay%Y0@Z8|B@o#?)^hdhrAxQ{ck{muhf;uf@)hTkUj5y zwAp;=Gi=RW{}{L56840wwf^MJctW4S*B)GT^GC@G1}Px;NIQUK+^?1y3MT59Xe+Vc zIPu;oh$Gx<4Wmp67ga!WsP`ny20mzOg+S<3pwosTXX=ApoYOoCQV4Cp2Akw@z%1@T zrO|9-mXcU_3K;Z?TS#aoXy<`AWk@Cz*MrQBkmOVP*qsW>40#J}nU@Fr3VDMK0%{h+ z%&J$n03_U~ssYyRLY67Uz0vLP`vUDpGo$7uKfnq%RHuc!8w0Ay^UA-uV=?C6n5qQ= zC|h*zvSK?U!}wFYv5dV^&AVaP?*!K+;Kg`j*Q;yPnnqKC|6S__^9co`tI8MGs1&o@ zTzXg@ojnh)(R2XJ@2UNqBrRRL_ivf`K`G2$}GDqAoUC7z(q++)dYM4r( zE(~q?2yM;#Oz3iwc*=Bt62FNcLZRiGV2md6!!#I(0RjF*3Z_x{ObbosJepR@5t4~z z7)^*D*6oPh$8osnB4)aa4iD1NLw+{kl64z!)easz?b_N!n|7NFQq))BdS!Sl0||z! zXrCk`+~h#IG7*Xglx#wB7zZL^)BfB?l6lRXpFRd2-A2JisVI=uF6Ea@vj)vP4M4k&*Gl+p{5!y4{;D-q-RG8ydgm{CQai z^vgakKZsoyxZ2>KuVlFVC{*8k?EW1g z9s>Ryf}fM%UZ#hS5Jp1Ye-u;7efHGAwuDZInmCIwGbvWH&T*2`n}UZeP&L|x+sFpe zj-P4?ea*X*J-dJLWn;8jyiK(1<-?EuXVu#3=z8Lz)d{*7#;iJDI@m)1k62GOMn(%W zYTza7+bLSmwyr6H;`VCXdcCI3139*PB?*&-xYGysZp-$?ml*};K)&$YA4={UNWXF+ zJkD(EvwoOOx>Y6TL=7>YLEzt(qBVF(9{w2ngZYF0K{$7^3qPA0k}_;!?~?wdg%&W1 zo9@!8n-@Ahp*~J@nZ8@MIpX{|SrlZ9cfvjrcuT9 z4i8N{?Q+t$n-E5QIRmECwmMlsx&%}aX}|#mo!>NHL%zN4@+FrOH{l~lCm{x7oSs&^ z4~RRA;_a>pgFD*+-YRJ2DR`g#S0q1qh=faeTk%8i05q%r27wm1v4)HuJ!_q%Oftnw z88V5prL4%fJok#a>^6l?j~eMfE^U;?skn<_N&k6YOiQlvMo!&R58R*(WD~i3;Yc(f zvmMw_cW%?JxTQM!9a8ujkWe>W;oPt%AkSPb@qnMaJ&GKX zP%rwiK-FDx2WWN26Aodcn7PdFy0kgr@+9?qn3hkk->_qlDBOOhjHR$I{+tV0$toPe z8yomEiSwD&Sbu0Gi6WtTe&ez&XZIdFW*c{Zn~-|_I_s{$u!+O0xkmRNw2eWgn-|>U zN7gb{ww=EbD9g3iCa&rEW1ByBpkI!jZ9#X-|pq3ys>C5<)HA*rU2c zQA41<>Nvq6H`qUbAHHM)KxaW6;&7sbFU@6yC(~qAWivl|Sc&pEk8Bv`2eQ@Og{B0y zs76~mC`_9@?rUrX69RD6xVT_UzVZu^FWYM!^4!+P)^(A2L5Z48m4%0rSKv+jcG{Bh ztt?-@D9Yq=+uOUou;ffK5;nIG>0JL6#)-sH(wVFNRiO>pMtJC#RLz(@Go(1@PrC?c zy9v+BBCg|CJGFV-@7x|4`<;Zh^YM0SGe)*PJfXJ&-g$|1Nk+tD_(^Hg?>mg6Z>M?R zQ@uHEnIdd6`b|5K(nd3Eh8`2D^kXqg8FEHd!Op`kD8|@$KA6XO{p`)w)?_syH8MW3 zf%53+A87!RH>cW;fcYegtl9fNpqhkrCDTUHuY}mX0?Et~jhDC6Vt-p2SXzN41lhqP zP;@>yy_68&Ukon3cpfU53Ppv14?Z5fd(Rgt86)TVV$qx)f>g1HXJ-dF#}D4S)`dEh zisA_oT}7l3MnHV*z+OVyQL-Pn5`){wRC0sRkFCAzQ(bbKHZJSt3t3@cAGpk1#KqVB zqUFC4&o@ysIJm8OoSb{JJHaJ;*AQ9h@S5X3{|9Y51uB68&n4gfMUzrH3oV3~p-gB7 zEFcr2CE-oQ5_}-A6IC2|_d?4fa}S>gr-!CqFr{SFso=KPt z?8=(`@M7DAL=2tdHN^b7B!Y13^5kyKZFF=9b~!E~(iiv_P11!4Hjc9pZ6fsZS@MQJ z)k*RRA0!6exn+gVvoIy$dI~PhcwENWu8`}Bo?t{@Ia;2TRVc=ir%hzKVvDUXl0dwl za<}En@9edM-k8JHYjQUJ`~;AEXHQuj(PtgXQc8|5eQ-7&f{(jksU2MzVOD07nYnls zO(n?Rjz}~`*aAglo<D! zxZJLUN=(1QX|Tb`lcD^Yw_HZTFXn~Xi!;=s5iWo@J+{1Z^O)e3eE`Gd;pm@~d#x@C>19`w$L43?Vi%SBpSDT1+5P1Ml>Xn!Gt?(6Zi3+rE18h?Bvv`)ri?wm~|2Rcqx{?uspm6c9UqIZx*mW`ZVkdRj#Yuh408_x- z271aA&Lq8Q>+$zKSYaM>q{Q}vh>-+p2pRjJ#TJ5DuSOlokDuDy7Zb3Hhl;;8ctPi= z2`?Zs^52Xo1nzG42LtXHK7ApH`HF1%P#A59ohs)0CGGt<3m(VUs3E6UmN6<-2p6fe zP;=~01%)&HJv2+03p%*qC9YyhTF(?%`3f@Bf0oe%Tpw8Hl#)+Qo6hFUbyr>I`mwcy zgcoixBe+-5nd_Wyketl~XQmi};tdg2>txPwH7_FIVg)?G6tG*HIMG8)xiu8|$yxhV z@<3Wo1K|y!g+-ImHt1idf(X9QjN5!_+c9zEW`78AI{e7H<<7YYYl?u|Y^aG;O)tHA z+iqcRJU}l!YJ$2{vuq(RH%me?b~ZuhCJnI_5^O4lPg@Mrof@8su5LZLz4Z~JXZSdR zSc3TyriYp-ai4wS8S_W$0UCF81i`tA{5)jxT;dwVxjSlRT}G7IQ#Kh5U3f+vm#`HM zpiN7^RDHusw@KsMru^e~t}UW3lKT@d&u8adJU_-1)wK}Aa_(^(6K=6vY(^lD#;@sU zY2+|L`SYAg@enAJ0B_|0Yjd@riIB8|4&`Pw5%--g+`r}_L4&r>$ip9XV}Zqj(3D;@ z1Y>fB@*RpftH4&?Bo#UG;C&jrLbwsGw!b`+`HxOW69lR5uX~VFmCA8<3B(qf$N?dD zKV;jHEJ=E!M+tCNTYb2sO3QuzZpM8ntwiY;PQo2wu&^whBA1L&()Sr$%U|;mAXIe8 z7@UqNw8!8_*xy4p5Yj+#cR<3J zZJ>$kWbE8WN~SHRKM$af*1Ze`p4~?XDa4$FH$~36+V&GS@pcMc604MSaPnQR%63>C zfvas00~uP!tZ!s94P_{ifTKi|gMEk^W@0n@!rKo(La7b{qv3&?A}kq*4j^uSHN0iz z6Q_ltdBSi1@K!Ufc|8ZdFs$Uf6iHd@#wnx7hB2hX3_~?tul~6uu~QpfBW@sxQ+f?? z>(VoVs?Z8MkPCE0xb}&-5nLhrY`eI|?porz!s|1Xi*KL%nSt6Z+2}!ny9t#bIA73D zmWLF*<%`&_umdZ_cBveED*`saG_)LEl35BM%4f3%m@-2}k8&uQ$JK-x@*ZiM4hV_L zc}xn!iiU4=+@Ae& z{^c1leBxo`SAp1xvqIB-&$*{jiL4`nXxW8I-<5Nm{%^ShF+*(L+S+zlwg@FrgbDVSdmJ;g;Yf zOWDTGWYQz9rr}WZEc9rwOFCCGh8T)0&nNPf1j>Nr$WI_mMCG_2Uav@hA)=pBl<~1x z*yVF7uB#>DI-4%H?D0A95o-X|mLE!4qVxv6Xs;A-R*au9VH-S`5xR1WQ5P;DGTgYU zQlb!Ib-LA7wJ%I49~ymi&rPuNYQPn4Q(rf>uo$NzojI2rNcBnVew5v zFvIUWXbFfH41^jL=EDa-T*Oy0nqa(ddI+|iuM>$4_gq@L3vL_<&1PjWw`>S zcRi0LaK_|5!meG1XtVwv_xA(!9XPmAe|hoGQ%8uI@zkDhZr1EBtKK;;yPA|0MC~k6 zly^qFYu8!PpqZv9e=s!;;$`lYmzm;d)=)H%Lqa~vk5(Z9=j4)Sajs8zuL6hs91tk8dYQRs)7jF!qQ8H6Q& zW!C5^8>}7RQ;)xz-OPgY4;jdxHxhM*2x9IKz`vJcT0X&4QXy*y&FZgdA}C{agUr}9fnkqi zYF0N*on68`x8eOgqPWCXT7x zKYehR$Sci2azSjvg$fpyN)QF?IS5cgumG~vQMExjM$!|A8Mp)T0Rd^S|r?O;& zc5+D(Hgonr_7Qw&C>+@|G{6oP%zBst`w%hlhg24mfHD8}rNIN_4n-z^!&MD%s045m zeR;Ekb!PdRRWp5{5?i5O@+A9~>5TC?rw6><;_*rL{zyC@?q>xwNpx;Jlm{8rQ(pD~ z*K0^0`+$}~Qso%W@OI253}OG?)UG;HpkVKck;OyWElHG>BxJUW%CZYG1%2(3>SaGF zp_%DM(DgV$is9^=aRTer_TVf2m4vv@|7TL>9z7Nm|HR1!vp(EJS-AlZ9Fc2wigZ2= zQ~rt(wYJsZD=hB%6X<9drYeoN^Q17pv7Wb+0-tbMTecn}Ox}2gRwPyj=w~%izULD{ z6s#{pP39^iGQrY;P%wNoF#y*zVO<_l@y(Rp@c;bOKht27JfFj3^-6K`9gVaKFWme| zD&u4QX-Fd$+g%=HD6D>GvMv z$vM-$lcZ(JNv1ko*ELE_z?{wIX|z&FKPrkM4(NL)T+G z1u0J~4!V}Q5}Q-Zl@N(2G~-eoBe4jk>>)AS+#*f$M;=fNN%*U$GH-&7%5+X?Bs1XD zx3!|RHZ=0>MY0PVcHIhBl6#cr= z1CiUIZVhR;V<{pM43f^eaMoF>pL7s$%2|-bnn@;0VrCVGtrT^`@ic5v@hzfiDxWhe zJNz!>vgyT$j(RX`gkv+RXa&k}Y~3%48?m1yn9o5CaaZwgW|J8bt|Ed_lXo}#@YU!U zn~R78R7a|$2|GRoN%CCh{FvW>GX?faFY|qy;(2gUIFU;gf*K4=gQ!Qddy1tHNi9)Q zX>ug4WJ*e8KeVgDl#3V-blC*?R@&m5jKI2i8@W|nZ) zj$mn+NzYfxW_d7od-0ZRY=GeJP*5NnxdboK*;qYE>wC<}lB<6obyh8b=6_Mx?9qa! zox#`n;c{l(y>=*$<=O1{x>9op7>TB|MwG$p6@;0%>db8*oC~)YVoOCE@M&fEd~=NW zlM)q-RQQ(^)QPstl+o=;h`pkmM0M!_Cas!2N#-t+a6X;%XMI_P1(p2j=DbkU2mHm( zznLV$hL^;*gL2^XhMa3*4UPiqbZu;HF{@@>mUC&Vzwzu-xFMMDbGm8g}!;j|kfo1byo#cv=6Qe+1MQ*>;mh* z;VXJ@+nG3RzYMs>$BWh?3ic7T1+Ak{xTcb$;ihn2M|uW_|K#uzF>L2JkGIJXZnTqs zZLtlJNYmef8?IQ>MkaaOknL)y@~fHyin)wPNzEYcIw~c#f_MOv16ln`E6HJ~uNKib zRkTM+tV&&!dzAZ{s3YFU=Vv6ZfHfA30twe*{gS4PunD5}szgFZGm?e!8dXx`blW?v z3_J%F8Scr3?tsDgvUx|5PMl2><#wp_lXYo`9j-%gnxkmu=tZ8^b}BOdzw*e?8vsT) zkl}V#?Xp6mUJ_@^&?Xyx&hP_sAr)WOK=FE)2Why)Bq~osUJjCfhDgSJ2cj@3k$0UX zH%(r&ghvzl5!wx#RRwzE(7E@4~UgLIG)t^h?A6>VKaeAz!~f05@;Dn2a$AS>wsn$^)>@60dSlk zwR_b)aL271&q-%Q@)ic$UcupUeD6y2NP8eo0 z#yP~W*Y?e2p^EkU8kg=rK^3U-Utw;@inRjMU(jaKPd0xWzD0N7eZ;>=n`Jh$2U38i z47?`2m-A;$VH9LG`YYlIa)_u9M84|Y@ndY9sA=HspkPlao*|RW=@m$B$K_$3g8Dum z5diT)gS@+>`-fx)=KZq6QWCcyDZe&jHUv-ELXqul(1c!t{M?5+;xx`#?wqJs#Yq%C z6#*Bp2o3Fuq|FGoGq);&Y;WGaeFrL0q(!aLj%-V2NvZcd6|aD0imK3JIy8P(d+4%j zB{Z#_$WiN{|K2F$aecH7TD|bEQ6F8Jt-eO**loBQH`o|#Mm*uTzzz8vFk4jyFT_o& zb#WW$F4S*dNsEwrLmhDzMztiADn70iE3DxgHV*8l-A}-IdS2B>X(?aVo2v35e5z3|FIr0 zLa}$(;0HgN2;X}_TT{Y#73{U@9@3euB;=?X#R&q(t$IG^5aB0wwt!i)?5q|QvKhGj ztP|D_>v4vcoJZRUSD&a%8)%A+rgrd}DoFDx`f8X&Ezw~_=0zBw!qcwiSi)4283Lsc zyWGrmv0OuZgR>Q0BaF0<^SmHb-FA8LKw7E9I>`r}4igw#C_9~03nb{|0q%jxQ`IVX z4BSA%VOJIN`~=jXJx>USa7N^1pgCwsPw5_6hn$ zhO*LnvBhvXZx`-_l(*x2>LM9+>9mcp15F>#piYFv<&1@GBZeVJ_T%oY^<$i;7-=L@ zEFWchP^O=g=xi*&y?cIhc2ndGK@DvW9`JL7{03jIkdhSx*q=!%v87cz*Xog!8QPk;;R)~R{W8% zv+*NnXEsp>^A_9mZoC~hQ`(Wj$%BsEHy%PltxN_tXA?prKCY$l99r-OCd!4Qqweot z#aw#toYSLEV|JBk6j|ZcQ3MmKLepPx)(K0ym4#O&F?wJWpG$ zCEMO{7|8)deiCNR`z7#`9jmyLw9&7y;4@=*J85SVs%-$K9AM^f($yby<=t_jM!8l`&>H8P_b8hfw5Z zfq^1i{VTCVLCG)XtUXyw0G=wv_&Vnc%8QAA3LlZMRm*T~6?ma4u}jRwlw=N3!KeM2 zaYCg`Nqz}>DH2LQsDK-$@wvt-kgW=G=;zdv88gb50NN?$(hx3kK;o~VVnQ6aDp9BU zReRXhDjD?Lte$?4&=c1kZ)@Eynbgxfhnmbwz}$E6fNYsV5q3hP1l%Ux%Tco20gJ|W zg1A{Ihyu}nCV>7M*EFq;PD6r0k0LKY)RrwVPl7*-D0Gn|n z{ivLYYSz&cM|7$;$67=qA%xsK!*#Zh{J)ZXoc;Uth?!Z%B&0WIW36>18Zuf4_}*4d zd0yqrg2GDbI%|B(TI=-_wh5zTg~OGF^(Ix!Ef1pse*BLEcskH;i0l_SKfhHLP5?L; zJG49(c1%QnGc9x?6+Cnu|KDrq7D$)@6U@D6mso^9(?JBSY&@7RVd_WZuY_95*Dvlw z*Zs2G#ShI&gXn>KzM;KWbQS~I0c_>{+H9G*T*sh{C?GY5PoUS4QC&Ta6hh%tVZe1p{OSVV{jnFpr<+!-CUEfr`xQSEh7m zzFF3&_q~E}iIS#oBZiA2)Y8LYh3f~#z-9=Tdu!op}##>|=x5^NV z$Ynq?P)2wsz$7Fw{rW6jZ~Ta@$?i!`?FS5We@9j(b z5{AuRnbjcjH{gH@8)Ecjj58oTDxoUG`ip3HJwCeVAL;JcaB%nW|DGgFit-B>G6zNM zJwzDT*jrI(kPWK@-o&ibEPoavb*wccDG<;P6$W44l$h;91zL-`q|bW*T{$MS!1IeO zQIbAq>z6q;@>KlRtnkN5&Ow?#|5)MX$M+%_@>>Vp9BpV7@U+hGRzS(wVCQ#ebVyDS z#$`uK4}cmu#|HQ3`p?jsfgER7R|R#xyr_xcEjR;Ke$PMF3)&UXv3u=|NIBAb^g|d9 z-uGZ2PsoEL07iWb%WSe=!LdR=<2uowyifg%0&HjDO{Eebc6^HZnm@&WZkdIe{>~%H zr%z2$8ma#i5Pi1dnpi!@{<`PXLm=~15qq^h6?+$1j~x9Vq*V@LMrVybB_ahF z(S{w9_USI~g>we~0=4D{3%EXKehP96rB6r7wEc^EkqB7dVU- z5bo#d(C~8>8R0#woi}8To13_i)2y(JUx@VPah{8Y9(c2Y1a5vG(_f1@$Mc?i5^jvD z0<|xpc*(wP=;FTGM?a7*`jk%4q}%@~%z3yhykB65X)kyhdXFmsl-uj74w&Gj^?|-X zM|M^{AS(p-Q?DU*k81ah;N!Fe-%cdDZsRpSF;!#|*2LdKh1IZT?pPe@xatR%obB@u zTh$>Ez-{o5@nGN~+^91GG}R9gvq+Jf$L-q}bwZCu^*9bQmtVh#O%7~yoATWjB?{m% zG1E@-W2Dg>LXbtGoRC!}SwLwCsB!=DOaAf1<6cEGvV)}*IT?a|K+KL0-R_Ta0`!q1 zffgs3>AIl`45Pe^#H39H8ps_ZoZ6g3Y&bvw8iqVI5rER(7~xQP645#`5N%Y>^Kt}3 zs?FsgrURK7Ue8)#$73%ZoZI-}3Zi3;dyA``8KFfLT#r`k_!&_H#@l#?TD#VbkXcr- zt1AJTwCd{N-s`#_f&N>RUg}BjHJ()s8`GXK@=ct;Jpz*Sxk>Q6`rcdJ+Ni&E$O?%=VnOH|XaO`YBq2^ijI zqf@jGS;Ag*ZvnfawaufZk~OCzV@oZo!E*b+n-AQzZx7R15!+-W^Jo-U>lGjZ^r2mJ&wtf&Ut$Cg)3z`5uRjWF z%K~)FfBkE)>mDZGAoA~Z{18+U+z5&>OEnKDhs8dR5sh0D!c6!r`NSHHK&;!QXM6W+ zp*Q7^?=GR9(%>>L$%%9tzmio4;%k^FFL(RdAK6-2Gn^afl^Dk9GpCO`=iJ`8`c`IQ z33EZ}Z3Y<+BnM&v!wtO^vyC;+M+`Jwu3`6qC-O8j^wK3_A91I0TxV@Mgsf4ra8Sa% zQ+637)>rgi-jPbPdWY<;)W`Eev3#HjDL`}nbJ!PU6=eBm@$|C(Db5-D@Bq@0vE3Cj zIZUvBCX(Kp`e3V9sNQ7m#+*$9_v0wzPt+0YbIR(yF4*7P>08&O%2J>7a+1ViLGDody7M&Rz!;A1kmbTxbK_w#1~NC&-C|c_I!ZsxuUw`@!_8mPkpwbvWe>xmc%Bx za{fGn3ppE!*10^j5;S98)}E4q1$UkzaKfS{mJvmM2$*s^**U}wRIIZF-rk9YLT*o% zh_?OE#Y2?uEddzLxim837IK|!~+gUxnEc%?|f3%(+9494V+x_TuBUQx6&YuGou za2G6fKwvdQkvfXkih4)@MVk1x5xT=j>h6BX-}^~>4x%Z2|MD0Bgv{L=832kt$iSRL z6K*C+yON<)&SSzI;Mh}zBQ8GsrEojIxnfoH86E5ob4mv^6~yfSYog7r(+)6);ncdjHbVFZ}I5Bh5RCD3Mn0ye`R}> zhy`}|+YI8&{ia^_N|*sHEJ3_&XOhx!bJ0zP4ukne$l1)jZw1s4NK4$1Ik=M%oVVP2 zlIC-#m%S=tm%-zO2X+lZZtu>g{Wm{cI?1;W5CVOB~4;kd0>sqP}v+J?F{!U4Z(a zd8|zBU-6rai(!d9j|(HIc&hqhAV=Iyg?+(W>@hmP(NXhRcL-@u#WDLxg`b`*#HnR-#a@KQ0dmb)ZSiCHYy-;|YuP?G?M&`a%yKWIM2wnJ_vsWUkG1 zVIxDVJam*0L5}gAp*XZl_Q>zw)F1Fs;|tzhY_)F_@Bu2kN?3N_)}o(X^mEVeFFdvy zVMz6HTvjKVp5LI2A45m^dp84ze@UAdk&9?x3EBdAoF&`Avli|k9ZE>g#oKZcSBtpI zrAVEPBFN>qfb;G&>Dr#G+T(k`qkh46Wro47#8F7WNUAi#P{^RsOS*isZ#}vN0J8P% zF7q_I5rIp$X8#0$v_Cmh$<-4Nh+AmNW)hjD_b=nR+fEHCE36ZVI0iba;0E_pAY(l0 z4r>OlXm>Zq0AV^`=2M;z{4v!@#DvxUAl*p;33WjLT?{%+WM3G zeT3tn`gOI{Pk<#p25jdPh?1GY?zLm%5&0FO{b zPH;8wq@ln`&wY;CgO0w3lSYMOxldMBLsRBqi%9_-Yj_?wE>WwMr*>T5T`;yyxdA&gAW85q_Ti1bnE1CCm=NJmpR(a zKSC#yME$;I_Zd5Jb$}~a^J<|?aa!~zs%k*Ky&pD_>$1`gbc;vvs_9z#)ByIKH5ISa zHR~0YFCSz-hkGTn0E~cv&t9d4VNsvrdVywCedByLa(&&|n@seAb;NK3m$Ks&Sc!86 zr+7h=LqM70y&cQXEuGum70=oZDv71(JLiqj9gx+X;no;fMGMY#n;X6n z8^OT3md9NhI#oyh88pZ9qzE=pvcR%b0NJ^C{LXxPnDMlMF6QO_r~Uzj@yF>~t%0J~ zE&spCu5VEC?|v3;B<_J+-A)-$^p>Cd*Arxu#nITY3Q!S6GL)fmkdwj^7~|#d%IUxu ztTGop-@x>`UO?!+9vp5(8t>XOtU~FJxCB&8!;7^yAKi%Czt6X{Z`oP%ZaOVC)pDtTn|kB5`A> zOSz28NfGdiiH7J%q@c!va2?(nGaqAtbDim(@c~!H>1%4gh)PEi;7O}0`^MisF|m~! z{AG(qD62M&|CowF^o_ZlOC3L64DX{%#%lGhJIYYVuBNB8$n^KJ)qExoquLR+?M6#TKxd!;r- zC>$LFve&x|#)R*n1PX{b*Pj58tQ`Ke`Iwk5vlI16bYZyppI_;B)w#D2_aAu|JfERs ze!UZWpv&Hz;qe-7yZ3@I!@GUH_#odWcdr@0)>Z?9WeowDQqMT z0^=bT4=eso-zv?$_M`;C{wKkc_xp&P!R_N0HQo-PuI%b(rg3u#>OYrRB-l_xxtPJr zWQ?MP$fCapT<2=xWnLuMYYn9Kn_WF$J^;R{+c9J~6fj*lJAH+2AqoVP{SetY;(m?M z%eh$e{2K5($Q9;0QpqEKg0>Dm3B#1AEB4s^RI8nAVPW~jQM>PXNf1IM9@vL@Lu)NM z$XR`P3XrRbbm14EOvwPB>R~eZw+@Iqz`qE{Xf8n1iUidwc7xrg4J;b7x+OU|@zjaT z6|Y1}7lTmFL3Jz3(1$@H9w9G-|5jXpPs|1vOc)|%!1e}!Qkw-RM`B{C5PwijKddEy zEHR|odG}?2Tb~V|cdZ4WF$g!Qd-HBZ1W>C^{REof_=TCqj8j{wNI`lj@UrkZl%S9z zQ0?h8w@uEh_>}y19y9`!dc?8)l(;dhKfc|dXQJ(ZLdxS|eZ?Mn?#+7~hT^$&R6ciz z{wQ#=knE2)K*6*0)`tVnk|@K=&bAY1}E z?7jfx{nWr^!-#!5t}`^h8FnNG`OnraJOw1t+OQIiHJyPO$zaUyJ}IWlaFc%#Gkg#b zvH@`uH4K`omguVKU}kqCdgb)>z@;f58_9E`cj6CDgzX25#%`eRC48H@*g;fOfwSh$V;4fq^Khm`{3C_SsDNF`l?0w|6W&YPlz-qPC$MroMhC>=;&*RHG1 z?X6;s23?(V8`*=OKgdOv1$+UrrHXL*`Hv_Gc2?Y)rDi5S#{d!;JJcub8kr_e^4X&-u8{dO^{nE?sPy7p-G-_H@rM5;BPOvLY@klzSj*FThOz^z0N>$As{_$3)Eo zKTG22^UUbrX_9;I!hcaj-GWpBsOGeh`Z_B3iXk|)SYC7sDWeyc^t8}-9I*dh1KR9D z0YbW-?i5jic-;En8THs2_@pQB)p-Dv6=_SzEK%W`JS3?ie3nU`VaKyJ7j;>8(vC*JIxpTot>+fgW_g6?3ldg>o=G6Z4)#dsMX?qN+7lC(*y z{yQfLsHe{6WXQ=YD~sXn1$&WcV|@U@*`_FiGJ27r5KP|Oc*Jah3aAP>Mz4;dB9J4qgI z72Xdy3}cq>BQY8o4FSfJ*_Mk)ED$P*y^d&xI7zACvK_n7-a= zlZWs`bIa0nG%LgkMjfrYSiR6Rt>x}Sm9hBW#00%M7wi)k4G|^GIq=NlV0gPE#I5A) z<*$oQ*6$o#$NTtPJ*R1{jMq3QVI`e;%H`qbWxdGTeV~srwU(HAjV9#`(rc!=jGKu@ zc$ib)J5HB=L#SNT`XA8xZ^66owp<_zkfVJv*m$7G-*cRcj;`oH3SK2Js;IH5T>$wZ z*YhlA>iP8xo@T#$kOZ(F25s)zy^g4I)+KCi#9~rWOEqs;$WZzZH0pQb91aqdylQDqJ`I1wRyZpFLJ6we3;E3%Dy-<}34BZ~?9|ct`C9^V-id-Br&u{2$KNvbw~An%h1yrz`SOoRx8-ZvP=ht?rA!n0WVVg-p5MYYts_`Z|)GQC-EnJH48_V z%1-Kl{bJnhD7+TPc3t@UE{J$Xk^2nXd&}+*>wZ1HHq`H5r0*GQNmT!*XuQ(%`H=$i zNQkNxwy#}s>&}1T6ck(csg5a+YFH=kcQ{Y@BUem4E|K>>8Wb38A@;UpxE0?04rHdF zA98EkH1+GIDBxFkn(7VPK#7i7AFF&#Q5YOj2GpJ=ujRH16f2T+W z;5L}s;`@zl!5~`sL(TONlX(NC$}hxy6I@{@}g$f@Nm{+DU}ulc`>yk#)MT zWNgDYrUb^A$x6Uyn(N=ccfSXR+^plT8CYuQ{*4=AY77SaU`)CVS0W*mVaU#-B{Jd~ zs@N7Orx)b|BCCr&p>qXaiB0M>7@IQ0v3=W@{DhoI?AE44ZnrsU1Z+^4d1D?hY3KCl zO`0IP>=BcM^b-!!OR{;7EicPqGnAcK^APcDHeS=MhtJLb7-s;5*g+6uR|7l7(W{(# z3C2FZBdEmaGs2xTZ`es1oUTKzFlkQD1}8aK27+-gClDh>g8J1)tnID>*XtnX@mf*B zuhk2yA|JP3ROx3<(E_|AZMwnt6|+B34pL!L-sRVy8t5yiu=k{z98O(4tlTa&+Jae3 z&wAT7-UkgX>77M=${^5akse~kYmW|_(y6K&j+5jczy18VKJWn@HCj#54xWA>8lle#eR_B;Va4@Efp1;`Zyp8^3)xBLVM=u)?i`?5+)N)zb6eD z_Ej|8fA)54d-UePq+ocon_ z5#0qGxSW6adK@u-K4NC5M;38UBs}mcRyB@~NCq)+|4_p>?3}wNdC(;Ns$mNMDP+^K z_N3PY;Kx*O$2Cg(e}1a7poTW@uFVP^=wxCRX0kx}Yw~<=c)x90+;V3CA?aQmb3tBd z#w;URsaAQfm)|VhI&HFUD)!nS;l32r$!0|ZRY3gQz2ba-*^8g%&5J!qHqe*bHK!br zZib+WaYo1`>VBLC$M*b>ss<`yNPSz#HjNCAq163f*EY2&9FL}4I*@Wq0lzJ%-1q%w zYyq)mumM0dV(-U?byK-Xr7jr*Oxq^mc-`D{8>(F%iss7)c-*z9F+Vhun2FxJkhJxY z@QpjTBmCWb(%->`$DM2U0f%}E7$b1mg$AVT^xwHb4Xr@}-BLhqxToUBuoXpkzWa|p znX+@R$B%QMEa2v_Qf#HQG~}}_5{NA@zC2|cP@PS2i&tVg8}~9V|Cj!}?*2UeyKoTx__U~IjrutJ zB8{6EKhjIb`VslQY~l&yRVP(c1FzVuc;GK;DlaBGL1~JP==O zlrOb`Cs}y_*>UOzp?4fn09?ZzhA>ljiYnJtJUXdJhJV*b%yLxm>xYijSg#OEXKU&s z#h7j0PeeewnmtK(OPv5+2Et*T>E0OlH%>;+pY&#=Ia`Bg52M;I-uq_>mh+t;U1zQGHx&T@3gw zg7#kpB0!byF&vaDqqnque7+%kVd=E=fuw{*WC?3@Wh_+rSq(djJ?xj`Pl(3qMTD$2 zmu~A5JjMp-AYEc^&@^6pTlGK6^gwdI^CNoIc0BfJyLwK7&scPk*=Iv+?dMGHJ|E`* zhpA2q8bm?3Jxdj3+CfrCt`ZnKVv(or05n>78cd5phxP$lY=YNFK4?GPM5+*4gD<$Q z&lP?^m}c1i1GY$SNbmjeK11qGsE6LN59uxXSQ*z3WtL#^&K9o8a7a{@Em)e@fdKlJ z;sD!;2;-jGxprI24!8;gZ>6d?B2JSO3`CE%(03ttz&?-;Yp!>)m<|5}PinJZjhoDI zgCJXfjMKezg6>u6P(6yMod3gc!b!H2T5jGCdB0pGfWE1g`usJv`&G?2V{pONWzBc3 zrq<8yL;$J1(k))IZ0VuX`~DwE_X}8LY1oV3{dA9QMj>#TGozBbL-YKjLWj!$+%hh{ zhNM_yN_SQ6W3qaa3iWNstPBq3e8qGCszYcYn9k2?#CoCZOdsWgF~G&Z_#gCWTXwvK zGqAT#(*gsXlYpWc>KWmP{PYocZ4dx6z%yQZl~FA$Wh2(S1Y`-e|4k?)6@gnF80K-# zC&BW|NN3o{ucO9!$BwOh;S)g`QwZdlCSFaB<13U6bpzu& zCdP=p%YOYbG`JWhqX!5BiH`rHQV7}GfHcjB$~Y*PUG&F%j7;6^I+Yy zqppmMrJ55}G+Ia{w2}+z?Pn*QJREf6Tbxt(GLR0U_Bc zpzXxI)P%`}55M>i>hI!fjgYYTCQ2v2d=G6l4m(vM5f0*r&o~Ycmr=y|conam^z&WhPuvmdf#Oo1z37G{IeZ@cmBt;<$6eVEqz~NEOxPSb; zC&@mc&af46sQm@-{q^WwyTMSgRi?sjD)!=ZH1>_t6n*YL&;O_U;aC0tbw3-M<7!Fz zUf(OYa?2jnJ2v6QzJjH_*u@gxaB;NW4UAJW9aFAjje+|X@|E0+-q%Y2B1X+vVi z&gC=7ONsGhzongr28=_5KcGYJ7Dj@NQ(kMB6UMH+JMQZsDkds~u+ph8NqOfP(-uTt zVDWPI(=W@Zb{ia~SjFWl9{M?559R-{#uwgp84ScAq{BEOu}o8iqXkCj9u+V&7<(N~ ziU6pG=3JD&_Bh`9vGx-XqHGJLcQa6iJLY@mHY&u}m<4ZbwPaBr+ThJfA*b~TLv!FdzQ>_C;NPFCkQo&7SA8I- zZO6>V73;$;zyuIt(0U(R3$O0aY`8(g%jaSiWMa2-(t1znvTIhO3a#NXM z^%ax~4`NWWCxJSU9BBWz+g_kqN|2{9eF6lkMlXw7Z8Jr?5GG(nuK^~aCTJ4G84Jm2 zNIIKjsa<14QJ1}X^px>m@+loZJoL0+(aAJ!sU%D%aFW+TwcBr=FB$F4GVKqPu+PFL zb!@&Ke}A%vOF(Fu(^q%&FX}S{LVbaizJ`MHO6$<_V)``D)rk9&x0RWL zif+V?*$m2a-9IS1mb&Jn9Mbsp1SLwFjD3Fb@P$^c)YkyT%7@FoN6$+3jGvQX3t`n4 zSEePD8QM>BJFdJmn*qFA>bN%f{3*0x4uf(JebELwL9tOur(6Hc%-SWe^V6_~)pJ#! zsWPydhm<|O>oW0$S0C4$4~EDW$_VkDrH`SLocGurC<3A$WCSUJH1YgI2sTeB6ZHX5 zM}PcIa+yeTkc8EMYLH2org$&uW`SUpE)aR=?oP@wv4VaDOyJ0%&tCm_ZWJSMGG@qz zkZAVQ&0cx^(QzBU8AGunR=v&fjib25^AG>JI#zu-1lTK*MI-EybVn9<*XCA zjTHWP2e2agWE&RA#9je}W>&WXD@(sT`jMNOD1D-dOuEjjq3o|GmIq%U&dy!oPiV@0 zMg$3<8w2jh4|)U?4L*9>n4tYPA+VbT#MwY$%*3NtSJq6Fz7i*6<`*_>tPP;3eIo7r z#pT$Po^X!wnw|mYPD7I(O)$zI9(YAwl4#CB=`szZvI7oGCkwt^ z<%4nvLIA0Y{v3>#19VR_Ga6yI6X*viK{BDXe#(z!`Jnj_j@H@r7(V%ehY@jl5Y4GbiCu$9|=cfnBu~J5RSF-Ky+R4rg0FM-xlcD zO8R5`#TK8U14Y#FDAGo>;wq+o2Xcn*4Q=+Q=AN)71>_U(ZL4O=o*K6RGU++Sn*hur zU6MmBeTSfqEK~vwRSnd#CIl^qVpn|y3YQ7sB6NQPVc#GH#u(&%hWxU08Idrr@Gqg% zX-&2w^PB*~lY{?BTOt*GE|-jQe}e z>#$M!wv-V@Y6`%c}nHP39L=2eO5mj_;Y|!j=YgMs*BHho0~Ic05_lM_~FZI zA~P~(7$B24#83i{rNQ2@$;5J?X{~NtUz1OL&%OOh#97o1H#swg%}FO2Aw{np{+H536R?TwBfLMNEcTI8$n3HsZW^-vlfn`b8hdFgKNttGr4 z=m;H4B`dyIOLWu|hK&2wPciY>QFLUn-+;5kl+ggDhqaV%n5i+b|HCm!9Pt=wM#MCt z0#?n_nS2cg2RdxU9!y`FvTvXwy=3s&jV(RNJ#pvaKJ_GHYYBlb*dErAD0Sf-q}K(U zjxL&ZnPicM);JIYP_;V=Uv$wi&^(O}$BFa*Oa#A67eqll%sG^@-UrWC;Yr0`MvA{+ zXfwsp$R5F2hQI6ez)8zPH_f+31S6%Cn#%%t){x$xeTlRVXAhhw*WoU(NoX;4pX&<6tn z#u1&;e5pe`0B0>Q!w*R=Ua~@!c*vqFKS>d-)Ja^v%>n^NoaB0i8rF_f>Yhp&?bx9K z>innH(c9S=cgJ_u*v}n;&pN=Hd~X3#xpmFwd5Emo0G@xjL2pXf!ZnIiyEVa{>NKTx%n#jG z#{Vb~c1IW@WBkcfd=5wztBH<+r6`?+Kr_ZC^UL{Qmx|@ia60RU%*m(mkne1K>Y;@R zpe0;x0;rem7i+y4zUVmQ#g*F}C5Yv!?E|Ee3!=OZ`k`|6C8;rtam+ml-N6CGtFj$i z7TU-1T2CHvbXii3T&|detvY_p{%Vm2_B z2>j6xlz-3e*K45UV#H2x{tyMZ-;^OrM?ci-_lgrc#GI`iV$CzJWv~`xl}6d>w^W_b z=%W$T0nV<_uvmfd-JG?#^cfmRi>~DM0h)i=oy){MtJx!EJbR6CUXp!^VjGfC{}%O; zA2eI?8(H#gv&s?p+2IASHSOVW^3L$Lr0tW4ltZdTuZg)|#k|H;?C zO4!eGq!VBIo$PvyOH+|$U>H3Ln^Z`2##50H@bJ&(@OJ+x&Sv_qcW;q-bON332STBY z1Cdl9mrD8ihUNu+QKtFm+9eGaDK}aPQwB$~0{JWgpQ%4FLK7fYJgNtS^abiG0ePSM zpl7)hQh|h6ygStWoGYS=R{lk+cYx%25(Q_-3>#;1hmnWiP`P!}n@=qKP8T4K%%-(g zqT7)|mzP7_DTO>)zxj7a)=LBqqhNp78)3iMnD|&@LVK6bB<%s4pdGzE#PE*Zu77K@ z|CAmorq5-LLJ~IK%fY<2j$}NaRg*CI!@?C~iMQvTF|KZBmGSP7#|`%ry5ptvb;b@q zutoSx@*iJPuh|sQ`6dC*ruyy;6;~LW{JId^B9L?eUK?aHsSALeDmo4j<5`Wm`}5wI zRSuRw;cjH>b^&9OW}A`#4*E$wgmjbN<(J=71)uSJa0>iAyZ|_}NNDw0I2hYs_+vYn zQ6eEjii~?e5;uNyouy0Ch(^adq1?XCK%)JbBcWuiZ%Na}yDPSSt3V z3EMWhozc1Tqt!ZWv+zBk6O83tI>xsS`NTX83^|3-j|mc3=&_iPTh z!fgGH!)l^B{H%wV;N+~9&K zGsBdXhX^y0!;-(3c5~jY&bZ=D#m4PuRG-g?i-ciD4+l2P7-Ari?Z}KLk-_-zYNBCl7riJ_cQqrb_@Y2%&@dOcDGf*Q9 znVIEC0%r2*7R*uKR$}0?c!p^sQ+#8Da!`?AzP}{a2g;kODWgpSzR5Gu?Q@;< zkoNct{DZvvWZ_8DrfRx=^)QHaTM!03*kL)OvN|ygKnhqV>1BWB8QrrH_@YCLfka^# zmRq)yeg6R>;Kct*t*v84Jp!9$6>HrMY3q6=3rW=Jgjuc=&)+G63g=Qu5bDix3ECY9 zGT`-Q?M{LrLn9eLHEVfi!FMv%xJRk`a~_kC1fhRnr4n!kyd!-uV?4rO9cuK5&yBn) z5+1;;+&{CU?UwXE{In*ykTng#;nMf3&>vK7k*XNG@C+oz0d z3XQDvMUtW*0kjSX#6fJAC_h@33)*Bg?d1w0=fKPFgONSPYeYKk7ZMLkOfZcFJ0Bi_ z=O5o*BA38j5LPaX_gSxqL6}bHbs)4d4jTC?1c@`KQ9--?g`=?y-TRBir={21AA=2h z!@2U>m|Z~$H{u|^eR9F)M$8}a#hX$>b~8ZufSHjG_OG}muoxcV$h9(fT&bO@;WS_#6k@KYU(YbZ zB=A#60%R4$Y4oG`X2}rH7MHCIQ6Y=Q%b;;uo?axAO!)LYox=DA^_Uw%qg1c2s`@L{ z5GO`2aLS|>3p0YpIFg%Mv0>n-8P9JbPzpP6t&u zt1s}Z2)jA&`yq01KI!aNLHi+_z(xj%(x~~ob>3pw(Fa>U-0lMiirX{E-pyY|+)(H^f z@>1?|-ncIaI0Exq9w58TRi0##$31?43$uJP_(kXUF&C~b66L>zclAbpao*?A=L^E} zo&l+H7HS9^eX2$le~uDf@Ftj{t3Z6nX@PT(p*1S#OM@Wl!r@r(I0+|S2zxVN&{k=k zxw4G~2%;TVqO)@b3v%E{SFjm1LYHqyjPdhB{2cfm71Q&e5I6HwSRRzq71n|0so223 zD9%h7ToNRbmUJP5));RzDhhdpkJE1liOegku~d{24|r`hp?`nK{5b^1+xLRDoq9OH zmdqpkF0aVkZameX6Ap?b00J;wi#V%- zQz`yv_wc#yG?!l-W4j(YzGQYE^meB*QXxmFqs(G9$X#*k@)0l2foXV^%?NrJJ6FkU zZHfyi3Ywq-+f>18$!H<4gcp*Q6;-GMae*j>D*cY3I|nay*?w}p8z1-XlPmM5Au!2O zo|o|lAp}H*@`z(#JEwH(wRKWUAu?FZqssbVt!|`tdlDSIG;4Ke71a?*tzV*mb!Pfu@21;ALg8#D zSa5sRycL=LFmM0jyp13;dfqd>(wVhnhQBE;1jvXI=sXF z$rR-Agm%0EBq7r9MrYV5#bB~0VR+8cXHbCB5(>V-4Ke!k&}Ar#E4$utP9JoS^;WZS z#Q2_>1n9DWU91CT?bN%{61WS(c3iHdI0um~PtwGjhsqlAi+&aZI?s~_5C|CO_OXee z{jlz86O97ZJhBB1up z1TuYwCeb4sz9PMoo+Y7ZWDV*ZGRj&_my1ViR-AlY?mFSgv=lX zUi%qk{sZch*DS`HC${7HWCl{ai;*j^nsA5h6=yh}XTuj6%&SX-cFghJ{({3M0_28_ z&uGBgck(&!o{^8+2aIthZ1k%s8g%-m*fm_uZV#&s032UeuFRhgL@%U%H zl2f$Zf;R>ICN})mtKzcU z&BU>cFzy5};wmLNGdzJ6H}mUUYrnl@lux*OcLKNV1epMVbxolD-((3?9Pi%YT@|RS(?BB9$jmmN~fYzMY&2J-rlvKRLqzYBpYdkicd zogFJ$z40m$3Ifm&_0y|pKd2L8+BD`y$E{!Kk~r@N_xG5uomKY5apRS&^amEk6432* z{2pc(f%C~c_l0C%9Y0^iI)Af=zKbMv2T4SAThSDaYy_2X%gfm>ph29-%60%e(ljh& zkj>MDQj2Wyf$#o!K0HJ=T%56z<8WqSM`I0%OiCmKQV%wWCU``=Mw-|c-~)G^BW@td zR{y{rWhX5=i^gqv`TGyOl1nfbXEHx-gk3_!YQZ?5f{iPfC0>EOQa{)qwZk5TL`7|<&)AnLIz!H&5X zn&puz+l$lh@sI`H02sY{Xoz_qFk#aK9Le7*6Mngd^dMJWKnm~9Xl~LAR=Ia!FKN{s z22}!Qs~~1VK>xqvq0RvV&iKG8mM0BuXP!n_M+)E0*=^AGL6~D~} zLN=MJ*+yyH2m9Gxt=9cTYBtO3R=kg{TmRtmKjR8VVdtAJ=R694sLm2EPcx!v{YBqA zk#9XkXA?FyxrpOth4$;ke~w*p)Y@l~OqwqzLcvuev=KAepHS)L)ed(kg9nOUsL=2sK z=IM1%*x}uqeu0z^Lf{vU6nrs4o=LrE5A$1un8kH-)LWZ@7e~nZ@AdZgYx~qyr+{fJ zX5#SY$9KzHn5($=#xDwZjR8nCeMS<;P~5;prakbB?Iel8NbQSmfUFn)_kS zW;pC608kM1iDBo;bAo3{6<WPd_h+jO+#bTsHEfl3c)Qe}h z>VG6s=xmO#A6MGHP8xMPF+x4$EOYhj{_#Ijvih=rcjM&1(*2L6Oc@jt@5 z>bS{kNYSAgByqLB2*h<-UIMa4p;ROXWwFS3c z!ynF)HDLy!_inzj#fPOBaSE<)^Z~`VXX6#d4Fc;>;A^iDr5=O&z`rrx9AF;k+5x~l*{u^L)s+Q3Fq{98H0&5CiRR7H!E2I2Tfn9`M z5QX=zZ{%CYsoD-6P9GL7tNyFkw7UxBDy+gm^Y4R+-t_ZJpY)_rRVf#03Ex$&&s25E z^N$Chy>o>;Yz%2=p)Ux9=UjPhjpnP>078qD`j*AS{hQ;+))@&mmVqmgAX5b7d>Rct zh4~!w|NeqWPYXndFoJ&7sers$qj^*8c&5M}Ab>{&F2|`egPgakm7NL*MrfQfkqDR^ zhL|=yIZEBdG)1g#j{nc%8xxr5Ty&G5JxKf{Ea=)y$HTO)Pqqc}3{#=oF2Se6G#V-4 zJ4@C(TE0fLZbhe-n!}o~F{rhh_J? zf~wMpYj-PPi>DJVx6n5KUvCKl2Z3ZDyFaJN9zC13*?T;TJA)!l% zh8yBbvZYHh_AHlNyShB~<&KOkp_)S>Bq2my2HBIbC8UllB}pn83QwE1QL{HQ&pgjL zzfbq~`~Abbs@b0BoX_WTKA-neFP$cOpb-3~T(0eUt9p5adSm9UJT@$<_;*Ox(`DjLwb~SR*!nkS?X8M(?Rg7GhgB zDy3xOxlim(GAj7j2E0GC$(b%qnX}NJ2F}>n++73Vt-sRNe?Wiw@7sl|yFc*(DDDj? z)A+^6Tgbu9>m~`m;z@^5{)Eoi;4PhJm8GIXE4R?SAdyC$`2je2=>sNVy@eHw8?`q|gp`88 z7rrJW&Kn3KObRg<{k> z(sj=bR44M>#EwAUbu9hgsJq%%{fBWgCko#;{&pJy)})i$-IkKaM?u%3Z7(? zZrVVrcbyM>0=hhI=v#;Q0DYV4_Lh>Gak5!9{OnKFUi+dII^qX=nvFkeQtQP%`qFGB*2mGM z_m7sxq(Yw(gHqB+OTHy`_MhIj=r3VP|44kGrQn7a3uc$X?&I&TT(arIgMLriH;`^J zYg+Y^U8g3ri4i6ro%7hGEOi6k1^V6tubS!DL3ZZW?3KZQ*SV0~6_ZcR!syF+|6exz zgnb+kE9H~vgX>)26;^R|PboLz$ws>!*=m#IuW=2j1SY_y|1Zu2%%1AFG9@zv{4Myv zct2$GVBvv$wVxcUwWr_>X2IcwT60J}zr*7YIx>@NsNS#p}iR6a`&NC(~pleZ|XuTkD*l`Q8pJ&Uy8 zi~pUzT=?AMnXG+p*g2xNfYma+$;N$5+R}kEQ+@aQCPvz?@lj`fUt2?If7%RF2y7^l zQWrg|uq1T3Xwb{K8?QS#IeZ84L96rJU}cwmds7Ne|`tuZKHCN(Q7{l1chuw8fK z?(W?Me>|lfC@YDEuig?bvs+&W%1S<2JtTI=ENXktOue-fB-)12xbtJrKY}`bW#J%C zK|;qs=4u-NFih#6^AeC=86IJkjNNr*+P7g+;jA}|2_`)%|Mmq=Osx)UfDhb!j*FA2 zl?#nc%;fZfdV|8$9CV*s?4BPvb1s>-%J=}9`k!#xeoh5VN9A)1Q=UgVODkN-zh_Uy zH!w>K?-eG=iC_z$Ht$XPj3!FEJ`9iZ4VHP2xv@EdTyvVf;3SLy=ryKJfZ|qH8uk6) zkxsp!Ggq$2dj{_X|Xt#avg#P3BVlfDcUpEUzkB+2>rX)@`-RgJ$5ryMgoLk0YK5uL51( zQobb5uMm7};Ndtt191QF>K~`ZaXC`;l|4dL@YXIjWxC|%CnndH1y^^Hy<*s%8kK3B z*%;D?=h8dLgcY`!r~&k4TJLX&WpgrD1y2=|;#gF71_%Hnx}mO|1|8T*#~F9bPhNUv zZFFn9@Za-~{G2&h{_w?#SyzqcsZlxN5f5tQ+vT!o8olvrZ@#T2s+om!2=1kR_D5Ya zpv3M62}%-o8U-Q>$M&usciG|NO_<*f;mXh}TNv@VEqIm8bowr+wiK+^DNL%_&bykv z^y~cOD2#k1Wx)Ws8mT`SU{X;4=1rM=)snvHeE`0A0m!@{16x}oZuQmG#uVAPeMK)? zQZb4G)K;-v{>!l!u24?;-B_laK2ScvI<4s;yN;%=b~2~lULp7of9tw^dn$4dY|4&b zzgYyIxH6UV-2IjFQlJ50`yaJWaI4b>_uq5%6M&zSE>!~d7TkI~ptpJNmZt3D-&*tjiSSm`-k_}SdBAw8q;SZ$8u9cnlJ%)ZIy8(__kW2! zGKl@#K`%)~42VRg%6u37jo0ZC+!95uyX{c3nAdL;!7aozg25BQ8{wnXT-p#dGUMv( zOWkC-&EFKXM2EhGk8hEhlNo(*_y-EI@5M`ogO+#NkKDpjQ5E zikiHd!BB%axZEk{G018{zb!}>A#&Yi#^+k@Y=OGluQbdy#EAPiE~^mru)@XStKbHB ztyPf#*yk;`y=-$u&i>4PFP%E(=&k1IWQXvnB3a~Cb5(Hb+|C~JE*;JvBm+iwEZpbz z3!0qY9V4Ej6LG)1TItQdr~VnNl$>`)3&Xu#b$d{t}uf5 zP4@u{Q93X-%s~mP=u2nG$@$b~_~|N`ix}bj9T?(c0{sVpphp-*%w4&__)n zrjk%AAdoF4Xw-vDG$}3uFh3tL!$LYOb^62?xrFJHF8j*r)Y4xbPdEI7z<1{dzY2G^ z+HZM$*;(ehSN{8BrjqV!=#mA}tKX}|<#pE`#uuA|y7sfx+fGaPvk9CZ+2iXwu8lmi z?l#N}ekj~W3qc33(|!d8WuH~6&tJz!b{~Xt&y?dfwbOHpGxf)fF@XZxdZ(cj5HMMr z9|#Erk4D}Tjd~&TY1x$DQwhu zw)?vKn|+E!yy+XxX;$26G35!P?Ai$|LH~RL9UaX^t+V-RS$VVg^kZ>W1o%<uF zBj|`pycpC7M9u}Gqu?bB!=V>OC>blAelw6>FKU!l&q3fk&og%-+B{$I`pzEYx+ofh z=pk^96Yl-PN2B*e*YW<1-`T00)pTSYw(C;w)$`*s5TF6|g=UOaQv8Lf<;o-fl(U9d z0hU*azuC*Hec5zRKB0YAI;fvEp=(!s>#tXNuNdcNf)|ZG;=HsU&AK=lLd2S`XPNAx zcevk79$dZVwY+m?=3u(_>gCFR&aXXY)B%+N;BF^tf3h?7xB~s0eA8r!tdibzht8_j z%%+ovhgTkBrtGc&8&}$CZMl~v2wT2-ZF^}3*Dv`AOXP)#AHsic@1H}lEd8~npFq}_ z`)t{*_ccy4oAi^jn8@!X)%pAF_C0)d(CdxTPZm%i;2u*zqG6X_LH)ZfJLO2_wO>v~ zPLw(3E7AoO8Taqd-q1koG{5~mL&BsQbnHJywfBO(bzaw6(s8`HSb8L1){!OMH5%mX zf3&7ISzgI%rGLuPPB(-4*(o z^x6=xzyZz6+L1Wnu4eU-r!6vYuGk8lr-xj=`E+r<+Gn_`2A`gP9)D01=ULtN>Lf4c z_PLV8&LuDlj}z)g6fVVmc9%V5O2>@5!j#f~_gp;nww&_Dv{)K*%P|9Jz<-zr zA7Msp@Bl9Ql->ONvM;>LzfXne|E!rTRl&cX(bVj#L4G@VXE;F->7qWaXF$4Bclu6t zOqcsafCJuSk)UnYW5)gqeeJBJ3;nc}0sH3M(MtGdSRFM=$e~A74%q`N(W8|ikvq~)hwyomK+O{fkoG^74OL2!z*RN* z*i4X(G%>vW?fjGfSZ2=cNhe)8QiX41w&qKI+kt$4PI6j3cI-5lV)gO2ldkLHs`}O` z9vags5}9CCwl<=a1>RNpkXw?n zURY93_&xE8eLDB#8neyKHVzu4#faQ^(!c~{SR-WiWQ)oa$qQq+-`#j5hH8N4u#dm| zvJpxJx(mIKnsd||)uKcu3V=Cv9`PsqTGy*Jw)`PTx4vaN4QA&S^@^C#FJljf_bz!l zuf~Zv=P=9=@zk>NuIRVwh{_h^!!G8vj#y!_Q*(8~Tk*#}T&vl#AFQ32}CRIfW)V4yraO}O* zvZlQ;`!~$QU70Gg!lccod|kVh_u^8YJoo!ZN;;QF&$qk8q&>6QI&;C5DEwo!IY&B- z4Vk?GH>D12o+R{^LIU}aT9wK~+V|bQ1M-d5)J05s>`c@j8T3v}FFf^|^|ko~{Oih^ zWCDw!$m`#bQ^qQWrdm^E+v*6{fR?{20+7&LeHD+X|9Tkz(tTN*%A{9iNwd{S3~%#Z4^5bShxg;6Ll11bV{|L&kWOY?Q-18# z>yS~R$KO349m1Ko_$}`r;MXoveA%2b#FF!2l`cm;R8IGzVBBCYR=+T*dYyErEuw&(P2)y^2d56w^l1;IkNuU1kbklij<0$>|tfww!CGDcO z-{{$lMg95Wlv;T<6VAHl++vUP+qjta-B#yeX-T8)zzySEq+fIS%^Ay&br`A}*SCAu zk9-YnX<1^(R?k5zzXC-TB#q3`ZZNnWd2)B#F~-tE*<6RUFQy#3y7Iu0*SBp)?HhVJ z*_fDOIed1MOdB^0Z$cV-QG1;ud`mjGU^sz z*!uaQAv^QOR9rL^u}>$+%#u65mINQWCLx2aXdGHieD;UIdp^#F694V4uUDEtht`|4 z{p`#Qfa6Fs6L2}~po{DR3#G9Gu;^dBuE~)OzjE$^of-O)%HYvFNFc_j?d(&Wg;mpO z?2COPL#{3$|LfdYbbGF4wk)}NN#URLl)UAf1hA+eU5Rl?xso}`T|kit*8_~sw!)}yJ|m@Air8k+01%CH zRXfKg7csMUcBVofi$xOXljxVa{oeT17a<9my*GZtT~wNs%9 zb$(GgsQ-h>`~?Qw0k~vnyWNKx;mp=c&c$72Yc%Ceu=+paq-8_tHFWdZ?>#jZMbzs) zd#tzs-BT>=AQsvfYQ_RZ0LD>B6)wA+|GXt>yDJpX-dfF>9O#_jEcQ<^ay08k|IsuO z!IivXh6&)$*S@&twL@k7=^^NS8dS3v>eC8Ny_EiGFRO&qMBcFbyZ(qj^_949x>fE( zSK#gy+2R^Fv7B372%Bhb-)UQ*R;SIL?3r%(MAyeSQ?3sndwbi=Yp+2A$^cuEFh8M7 zp6L3~UwWy%*tUAFeGP_x2~X&wxYA-d{arv$ZsEsg&;pXU0h< ze-x{2x|^rmw0U=(KRu|&BTK`rJZZ5MW=8R!O|>zMS+!ui#k!hkZoMBo!>?$O5OHoW zT;z-wQ#SjNB84_#O-4K$Gl3s~dPLQ!V;H)1$aUQGijDU799`1CeB+tF&xu&UaLg^8*J*-p@vnS~JL+@w&7hZaz}w(R)r;DPdsPLB`&aNj zhY8chO#BhKdhxtp@;M(J3o<5nk1qcsUE{p4h;d%F=l9XqYGga!t^6h2!cW&ebx9Zg z)4&)h6Ho6cj;-geq1TFAAN=h%1UmEwD~vs!iQ;}p{yR=c#E=heTy@!cWvbPq?SK=B ziVv47WFt0CwbN&pbv~2BD4tzXG?9L>eu4q4J4m-2wa{vlLqf~ppLu2XZimFOhTH83 zw~6;W>BM*c9NImrV;U0T01{bTgCc+4`44!7 z$>tFc!qKeNi#PgA457c(C{{`?hBJ1N?DQjlxepiQeADSMOT)coaV$vt++vvZojYZ! zFMM?B7It3{@wT8m07rKQ=Xpd7IJL)e_M^%Ry5Hp!gem#Zm4leFUSc0K`Pp=o)<5}G zi6)MmG-s2?K}V$bXO;dclHS&)-qj4=JYxIJ-LmBMZ4ME~^OyTM;wrz@V{E1Ll=$m| zv0o31+aNeNRr$SvDkF~HWS%svR+Rf+GdLTvjXI9s240JF095rk<8)4R6X!TDdMK^N zhwi2bt9N$57N~6H`K9d9+NYmCx*6Nt-}9N29FELU@kyBm73171 z@!3_;n`T0u7WvfN1B^v_S3xPkS%)1RK`vzh(1svN*;f>-{$lw*?=-j z6cM|oS5Se}LKEvTcq(c@kA8~QW?Ub$Q2Z-k-|(tjVOh+DAsx9*O@7b%ZK#1Zdny^e z*AiFeXZe_`?a3FyfTH)zEe>J7N+-11hmN)416!AgUbUd-I!)XU^1Z!qnPc3LZ#KfT zxn%1Y@6zAqfc00YTa}2;|8h22ayVNW(BY6Em>3EzN zwVX%R^CA`Q!Os&qh7pz9GeDJr&Qk@PpS=xkQ%gt+YVecgvFlY1)0NmISx3jr(~FlO z@)Z^4r8Bxgr{36ezWi~ng{yP2*lV!)}Ku0w9k1he|og!CODc^U##F}z% zy$*WxBZ|96T*p2|hWxg(!1eZj5y&x$Nt_mSo-vMmrcTYT~g6qyGO}o;F~k&Xp5hY zJFjs|CYWPWa-@TBeK2+zKLsovWgeDjG1vyj$-b?fAZri}5F%zTA)tt&jTS(clmuyb$o zR1tH@tUVq&ZLcT zJ|R~9C#ItS(D*^&`_zo~!vGbsQryr_aMoK=s0LgysQKR5A`HN7k9q5~4(-(J5e*4C zKj(HTxEI+z;4DGs)F^BfWyF@C^EuPu32s<(17Gw582+aoSH&6MCn8hO#Bx00TuTyF z2OqB&{axTM>^Idyibdb+Jz8Csz2X#?v{6aUb6>gJ(bE37vG#+)y^8iNaePYO46EA| zU7=KvD#oTBtju?;?R8shQ`Gr=j=IKigG%~%p`Dlp{HlrjQS)!?@6I%}RC<0fG^Vv3 zYHK`JUU)U<+!L5?Q+&VB5-7WXtCW?Xg87pAU)o(Hq19umrRSrLmeFB8KY+DxA)rf` zP0ztTzW7AFFsF7&=Pt`ae3NjZ*RJfXS1xRt^QEvtaX7X3EWWGMnI85Y#0mpjWp$kq zjx4`!yx%Z+K#}1_M2s-3#q!GsJ~Ee;?CYJkqNk!OjXe_B1`rq_hN~A^N)?YvT4A zwi&>M=Ja^nSS(h2vIM1)vDfnyQvf-BU<^K;uS)LslSqUxHblB zVqY-|GQ{k$$u;T)-siNxU(Y*_8_PsnI^W@mH+De_=$7pDWq7~&^==T&g~_TToiKTW zP7*uvXSb9B=|X(zEIvN^pv!(~YP0g_opqaO{OLEaF5RnULM?>3=s&(snmy>!wjqpx?%S)^osM_>a#WD zr?MjSozzg;+~I7(nKA#dWaq5q9VTWl@`1ngJOhr>NDYc3GMoBx@j$0;$JIAZRTWNi zaLHFs(;)tk_Tz(>YG@GosH9ezjB1s`dk()|23d6xdatnGjMAB@=Toa=gp@ar z(d3+~Aow`_N95XiWir`){5>=ba=>Nbf9nw0K6@2+_B_vCKadZu<8o%n7hdVK-FXE} zB0_bx@uA21c6y#;1GARkk8gaNlt*22S8F9B9)Jj<)zdT1px&RhU*F6&*pWq`ylG=) zYGT>$Q3vsuR_~dp`!pJ*i(+3FC|oyE-vdpGQIlI8Di6-`oGyj1@ST_NX*q=xHj&nsba6IOBYwR2=6DVg*T5g#H4qoSGWxar z?X!je`8!)U{J7a&xRjQE(;XO-)wEEwq1Ag%?mCihLcG)$#fDUz9YRk5Bsl1=S_Z5u zc5P`%{_~<;yHdO4@E=02rDB3_)_Jr>&pFSX7mh4XWq$@Ik>5rOLvGb!!!@BE@2SY( zl3prg$&T@-&psgzToRaj?-wc*cG&FG-~=X1Z$w+eS3F(;k?;~8#@9PMQ1ixeXfxRz zJJ>G^tvmO-fI4@7&mQ(5LHajpT^gWFU2QI(*%5OEXZRIBdt^sc!K0OpCxLC& z2PTNcVfui;^p`Ej^)0q|RPe;8Y8VpkXEUW`!5U|CAHJ>37H9r9Gi>{d(K+*T8!!AL zNXi`>sB}8rwY{N5&egrk$vKwBSOoh2|J$WW-RXUzWix+NN>t|Md^JAKW;Z{)@ZZDS z=7-;#ABsP)yt2;T00*+)PGZl0D`~gC4FPseLSW0|(D3^-;tRWFb1n?8PwX{&PB=95 zU;m!g?*3#KK2v!Ivvx(&6yuHX6w>KMW4g9<*_iFp&dw=~4q<|Nv_PNXEcv>%p_?zK zw|XRcn63!xM_)SWU>!Yww zNjEZF+Rx*o!hTB^x2|RF-;MnPeO%yr8pV993jWqbzAmc4_2-G(V*B-V%_=ksVqgM( zr|8&Bv3Z`dV{jEKP6Egv`(Z2i44uf9P+=;x^=P>`Xx&Pl!ZJQbAmjE2% z%45;XYOH}tOb1a}98=2cRAo;7SIxF{(V&gRqUBV~Sp#-ViS0PKG4 zylm7^-%YfzAL?>t%odsRXltaf{J*U^FLBGOveoZ4K8$Ox+0t(I6VEN>T4iB3 z#fTDRfm(LqAK&TF04S|?+HyQ}bC8l`B||g*Gk?B5Be1@4>w@5zHT#;XN~_hU_UGjL zp}<|!Wf!W|>tD+Pg*VUj-dpc};4k^b7y_DxCPqCrGSgdWW|Q+w(OT0W(BnM3!dlwG zttrpLa-*OK5TZ~LWsY|!JoV&=n7$o-$wAY7T3rAFB6M$yHz~oNi`nB@nH%u&&?X!8 z!(_2aS$)Eoe_h1QQcK#~YK;nahVE>kRT|m9_cHxXX_&Oj3tsA_9~H>fA=q^O)puF< zY#;tvWSZ^$s5Ie!;nwSO?eg(om^Ao&`@W%5uyt8)lSbvz=<<44BgnOyByX2=`Q{Zg zYd4w08KpJljT3e}Db25V63Ljhn)>eAmdZ@q%6=MLZt+qnadKpu^?mskaa5&??E9x05YADuxe6Ca5m7|5JubeU0aX8Olf~%Rjuuc@mi{~6fAds28nsL@ zw_Na47ODoh=v{3+dwN}NlElhw>N})Q)@xL4=m4DOWo{{);{Dg|CS&i5xk{$9RWNk{ zWs`)fRbWbaHjcQ3YVwb)>inrk=djrmYZGzjojts8*F3TZMjEi%_q4R&$|RIY>$~Kw z);kqM1weAAk{R21WguB?^-}!(f1A8t{0?W}eij&8|0ix=x)2Wx<3%60n*e}kyJtjv zq$oD1%D0NYbaJ&h0+i0Zp?hp*c+Yil-$E!41W+(FwYd+#A;E1zGC}WD{ zw5x1;r&E&;GnI~c0efU0iltLW14C1GtS{8@wRB0LI0u2U*JS@kHAh-pK+#NP^NHIE z#8bv3x-RxW$qM^a7ife!@7G@ zsV9E?NRVh9GxC{ik4#K`>Mlt4Hw7S{u>YEceD}2zP~f&kw7fof@7$ZmWfx%J2F*fW zu3CCk`j~>&ix;#Klc6N&*GA`k^dSuhQz@4qssyQB7e}389){f}b*ScYU=9z{=&$`a zdvMDB3Ub?FU8bH0zYltz5!I=VTasl9KGrI4$%c$}>Z6hL^MfQG{%vsTmCZ#`oodY< zvy@92oA$p-8u(`d_)s)hqh*ET{z0Su&;$PgMa}!^MDw^O@>nj3^Y(xFN( zZfyDc14@)@{b|W8ukm<{$KteLS)gf%M?j3s&EbWjA@gP2qi++m-M_$*B}9;P{VSC$ zK0n{3XpGSN{^k~2{+}JN&6npB1&|nNW%auHtx~Fg5eh|uDU}>ylCFdX%}>9E>SnIWbN1>}iT($9;t%pEmh`Z-)u33WI^cy5gxWH=Rw1tG^$kE;4WCW5rYUPG}!RsbD z&N$~xct;l8uE-t~$vK>K{9rE&T;^i-_8F)77M_~k_Vj&g+JRgYSxv+5K%Zz<$ztTS zkw_d@CHSs{Df(H}&nRrG$rB+DGVyh{7sFW+_RiI8(`#>wCPn50>fPn;nk$tc1Wv(= zBOF+Xws_P07`XsOpdemqjK@@2J0rt4$U{>+P@}dXfR2rT@7*!=TVewi(nIe zh1WV%#HgW5A9*KORD|=y2V(k)M2>gFN9!U?V}JMCIM}2t#G9VFS#nXIm-@ICU1Rr& zsr`xhg0QzQeIoz;^xM~b>5DeEiTB*kv7cAhlsi;-MCa9gad^aT6dyiIj~86wb05O; z>SoC6P^NKE&1eArnm*=j$IZfu+dfZ}PB0g`Nc~@5!cQ(Cl$5N_?Y%NN?wmpSWcChC zz<|6&c3<&pnE>FkOL;JdjQvy%eH@t`Zc+u(EKHzT-KWr$=QOVe{!uIuaaBt0jX3Wk ztHT2X$+NNv_l7-k4I5uPp&7#zB%4_mY%IE)lz-^iGiZQm!@Za3uvu`T)^mDRsd89T za)um#gs-s$FM|vrJH6-2)`xW1t-0}f4;P3Vy#275y|yB!ne=OBE1545Trtu~l!{wl zJp_mS^XIgqW3J4TbueiG5#vx$16mXo(65*?txvC6mobjxN{fQZ`O+2d+4-?dcqdrW zv&VrWt7q6FqqTB}!9%`f&hEaS#qF1a=oJ@$MGJGJ_k>D(b~IhyNQPC`i(r^j`p>k` z!5$@x<(q}d9zTt#d8-GyO%K`)0thvL{PskHQb@~>FKPmMc5Wd668O?T%Q{T5JxMH{ zjUxmUICPwF9Jh2Im(u|TKTnKfPX=3IOdIR>?LiTGTS<*5+UJ_rEl#|z1znG?cP6aC zj!ItLy6-w-r_*;+X@M1Y2|dEDTX<%vnKQ}~(ja6D$uOm|7;m>3+I3^cA75;vQJhx2 zJ#N*!qI1?BIg0$S6YE~@)pSZn@*pa>zzxYl{!=^CNZ7A$>P!wi4h)umQzWKG?+#; zWZ^Y}reksG!h9e7wKg1|keG+cJJz9H z>+J^*DFO(DsLU%VRy}XGUS2+XxsiSL+eo2;{{5)IgLoKf&@C~TNn7Og`Sg8(8Yn)V zvS{1)jxndDGF3`s zFAOeff3?4vy{#EQz(di%P2c>Lw_^`$2^n{BWMH^@C zO46or)9xn4UcS3=sC)2($7?JR;rGX%l3n~qEWr`QL0g}#8XEU4vm3QGDj)bfx!-%1 zDF2beqpSCy>(id?TpsqL;eV?g>3wzUFmcp|wv^$}mluU@?QszQGF z3+;6;n3e_~yF|x=y2Ias$%+Hoenh_ zc-s`_H;7zAK-r+A^9i7EJFI{6%y^ve1A5pA#G^8}uK=BJG+CukQe+)^tI2@T3~BsRHA z(EJxmV%B}Y$vcP*dZ75eRvuWE#JumrccfrG?OqyDnUsGuM%{eHLXETeyR!SLdQ<%_ z|t1JG!)cWs|U@pO&(4RznB?PD4I@H2nkhBpTbD_V+4@F5WmAa6|FW~|xKsc%&} zljd)iDtPrvwcmDmct86CJKeUx4HD2BAPz2}Zxsb=u8Yf+mSovWy4R2( zjH}K+MEE1@*$SyuR+&yE?c5h|dtRGq^e4S2=FI1*@k?m0@;}LEkXP^faAnDZ7`H&= zu4urGsnOGKpS2|5MLn`bMXrJh_?Z8DvLK|rk!^7~FgKTZMU(8!Da_f)-s!Z6B|XLrurqM6l?fAPAk@JfTzAgphR{EeODXQ z!fnPktxQiV6#NpTPZa+w%|~EcVkNQowwXv#u+A#u zV)zKWDos$3Jz#%oN);ArtNi$Blw(W|E*F!@W3=9o-yl>;xojV604-JXjwnaEy{25u zN&Y3-U)5SMU(cu%f{#p&gaGssmL)GQMdiXTKWhWpYQFJ92p0X#PeOGfeJswDS{Wk3 zW|n{T&yQHMCOf;V{+psQ_)$iJCCKNBR@gcKiX{jcXtwuF0bwlfQN`Y9H zpq$N|Hw}uzptGIC(D!=QEH{T_&^p%2XMSb`H(o(s;HEcRDStOgYwBYXZ10)di{$h{HUhv2WlC=P?W*nRdOF|)`NGUME36FN%hzp{QwMhTebdXf`>#`YwOxMNfI z>ph_t`)1tn9it2dib=J6FGnt6@kv?qV1cNF_*Rjx!_nj$_zG2mC(!ATxjRocqtUOak^%?Y!C=STD7KB054I6HlOc=T*Gt<4W?a$1en#>H2(pG z8n{$AZVpxjPt9d3gIhm($aYc7-pGeqVuN|LNblY1rJVO}MOfGt=W%n}giqvi@N1R? z<4QbN&W|L5(tJT91w-IcM&m66;m`0#zqD>{ygC@UOf;Kj4ed^{BrEwM}vtleN*kk)2<5S|1G{fRKX(xoQ9y7{9-zHb@W zRAd(VP^&E&JzXn$-e!?$R;bRZD5%EE=tD{TNpY2!i-6{PWiU5IWBnis&zB4R_BDkO z(zDRWvev?71rV>63_4pyU(cz(124dS+(SAhThzb2f)PX?F=z4w!eD&~V zSP$z-t=aH5U8uJuk&LL<#%VC>MXjmiuQEAnh{;Tq>#($zRRWmB6xp25nqR*xMu6QC zgWNN#Vk~R44a{pe_oH9Uu82_dREm#3RmIqZkpU!Fmpy77*&S+))ME5O6tm1MF|#qG zwc!bI)L4-p44tx2(+x0k`p|r*Dp5VKgtw{lTRa*|t#aY(K7E2Pc6@tcGVwdKYWT!M z=-(5~Y2@!mkapSTv6G1WJ@F5VUfZDHI_%HUG6z_c!yIs-y@=pIq6&yfn60rwp*RW_ z_&Z8Qz_qicm9ebBqYeL+Im#jd_on0zYSnny9vDS}r^$JOvsAd%>6zpmV_b3~)IC#- zYZX&-aRe1S;P#X&Uc<4EImr6KMNFW}$s#ikQ9;uvwJxbNbs#2(N<@cpPUB{eb}|?k zfB@O9NO{Ge;dP};fRZ^IQ-A*ZDPSU5V%cLO8`c!o<6)~J)nu~J=v8JSE}Sa6Rw1f9 zOM3}M?*aycKY}fdhl3_$eHdNui9(%$0L91altq5mhR@jfkim;Su%B$Ol`z6wME{MzR(-D7;c_ko>D> z#BYGakFx?A6_%8btXd}-YEBa$!q(-7cbQcl1$Z&9WZ$7{c={_ORKkT7@esB=Jf|DEz8>TI-dQ9IUW7iG)A&x{b6hIbRk%>fNXP9TwwG zPs&VJdUqz=D~qD$^tAo98YeBo%=^{h9P)Y8HZY*Tz55+c+eiC@)0@4@xfruT z>`OU6b2`32#$Cf?0Z}o05K3cej;*c26_`l4MwIADXp{1)c<{X5MeWEFrV_0hBog-S z(`AG3v`S&IbsXTr?=928z|YKD(l=n2t(MBSo|AIrRc8?otXv&4N>F)mDHHS01`sV+ z+47R|bn$7z^{G{`|59#8tpbF}z>YdgnuCPT2Bj~~k{cv^r;b0>D+i%MsHb$n^pnE2 zlO=XWSB(;94yRQR?<^_%zM_{%sKZ&^u?h2gsndCdSg(ANn@+p`W~Ds@V^3sCqnx?X z!|b_Y#A#ptJG@co8~6NLMK-PmE^nwjfDk;P%@aty21ynFUH&H$dI&+8YQfW>1P5M) z+4G+*77u}=6H<7|+sIeJ)Haou$f6loS>16j%@20Q z_QPs&k8PnAqT&0zKteZIshouG`OS)FfS)U%9U*hbvDKk2tx3tJ%~-Adt`OF2g!1mc z#TZb)z=55-f*AP*g+&oAqE>+;tyVsJcoPCmLNgu|=|f3K`3(I-I(P;^0;r74!t-h1P9NH04jPp{uEQgsjK`Vyk^%#%&VO7>CM2T4D zy~QGef#OGa60A`hY8+xwAXpR^U}cthy=I`~*LE(*--!DNvmfwrjKx zQJDmL=o4ur;~`MIPzwP#t3V;xI&Ki2@;@+a+lz4f1m{){QH}DCpO{=^JCC+H$fD&d z$I}$H^C!UpMJxI5Naq~>ki23lt>3Jab6$O%R5FQGYFQDx(Ws(2MlXh-(}ku8&Mm7^ zljPAi_N(-Oi9|v5P+`ijIB&LH=>LuJvWrQUF7S^!DglD*#!ZPY< zaH&%>dbIW#A7pS^#==ARTq_!3Ugn9$QlrO5CS>gfID4qXWoqEagT-RX%mUhrx(h~- zl6Hou->9&G0z?}Och<57;5{=J!dH!@W-ks_z#J$K;wjf)QNSn`3d24Vzh1^JkfeVq zENL1h8{7S`x}&_)lsiSn0SUg8*%3qEA;)9tRKZg%jB8FL#{T7IY;QKqs^m+}3dWpZ^DbDHha)UM!NO8zNr%UPw2r7# z$jx~pQWE5mv9<3kub1`0w4232e{Yc8{T#*xuU>^-4bO$xr!IB(%j%Dn`$o z8S#;UZD6u^QX8UD(7b--IA38AX<_F|JK51NSstxYTB2sUkZiWMKegg&SSo@Dj~!iL zLU|Mx_HtQ=x7BKsgn01E5rQ#IC_yivl}(+>~EReiKnO@7}k}L%9DFWNJU^Ne4kXtWgsKoW9|Q-b9rTKOBF^l7w0gNH(kxJY~H8R(x_#2N;>QDZP1Xk4lBDCN@Nw@2tZivq)nky{juA%J!eNFHO(qhLVbhu5Z>W-I z_birmqecf3PrZ-{LAd{K&@++v6x)^+rocUfU3r#Qig^hbq`B-hn^P^WG8HgU z&Azfc_Bh?ED{T>nU_(HRQ5Y2LNg5A|ghdKle?}N{?o9J<+VI~+N%Lf|CvxErqABN% z5>Q1djKsaE5%dd#Wj-qfaS^lc0j$95I62g`4_j+f&!}CtBU?_X&O{*42glYAVx45d zPm^puYyFqT*D+8!eXeEl;d0zT%jw>8b>g#x8(>i84}UL?CH_z*85EXL@S*9Drx3@& z1ITyRKAi_#F560-H@^#n2XrEo2MfU$xfz@+gD`+<6Mw3wAmO)ZhjANfwBb}HNTw2^ z^1F%m!DVJSM6%Ve=aBwqi973@3ygpN3r zq{u@^ff6Wz(L2D7*&|b92qs%06a73(8x$5_JwsimSkw?753Yh)m`#?6rST|BK~;sp zb?SXu!2wsZoQjqhzGGu#g@XQs!U$4j1mPGmgE!_vl#9bwH!_HaHJXRcQEmOKq=RxmFYX4cI$YdbC|!i` zZj=ZKF2g{E1&%5V>W@qSG^Q7A0fC-ErW~>~i2EP`(lM$owLV2s)A8 zI)=4$&?@6_vAW6mk3nLvouh5>vM48 z^Y>km3nI)u>1T1Ra&JY-W|Vw`SC%u;co<6F@FN6NV^Y&iGOfaRfh}{Rmr!_bBIhGW zA2_#PL4!w8Z(0Izl9PxT?!kbP7NEu*P{&teTAW_VT_=>^S^9bB+U`4;hZDX;{3ONA&g zv68lMQMHxGpx9>eqMi@LdsVPdC86*#V{m4p;w0o|af&4bc}+Agu|R1Q?9ol9zKy+b znZq?ipRhvA)wA@y`uG_5O07HD;*Vub@NQDnuVgf@W`qvZn``>sXI`Bj)|;SU1FVcC znEW4_zCAvQ>U>|Tkot{~R%#<4td?T52rH#<4zM6%{eIw4g*BEh^dw>!r9z$Q&dh zMZ{Et1c_m}sL>*hh%uEAj*&|YAq0qIfsjl>?rf6T>}_@~=bYcO`1$=qCS)%&=ki{j z=Xu}rm}Q))2tHs=J^-jSKoGuR4Cc@%J=FtnnrB-^h0|Gc-KG4dm1Y9wx=ngga_wYtitNxMqc6-WhW^O`s34PYuUFJPq*@~ z@zJOL@WA&(TxrF;ES*1KAwfvz(Nn)i`=*T|R(REikwWpYofx^NZS@lmJUr_kH zXkYK7R8rk@_4#M<-me#&roKV8Q~Tk-#C_pR&2CYyY7DitlBb(hof#3`{jD*nSCgDp zfeEfP_#@w6YWOIIFPB&9ezp-kv}jkW=OMwFp#(Je==3iJ1*12Yf1C2wH9lvlQ~90n z>cab{L;EDNXm(;b3}k!BsGS34DWs@H?r<8@BD&S6JGUervrb|yTmB(_kKUCM%jnfy zd8=Qm?q3}ewdkFJ76)l;`Z^5dR5mYb=G9#SBye-#RU2sMa+UEObU>VW(&IFF&bgk4MaT)E9#7t;Z*IxL3Ws*Ev&IJ%u z5^_pkpWXS&^92Ww_k?O?mN(wn+-=Cwy!rIw1NJC#(tQ_CQsz{{?x*vUfXOPZo-a;& zuKAoZ?Yc)<2JO;6Ip5Kr-I^c5CL!o7Gb$`b( zI4zrSIC|#E>y5%Ya<_lehI0vLSXKNhZ4k!cAj@NOuWs)(J-m62n~rQxnK3Nqk;P~l zv%t4YC9!=OwCeS+PpUb)c78y*W?zg-Vooor0yofiI2$+^FClp+!+Lz+o_1`v?m9sb-BF_Q75Ri@h+DGenpI(Ybi_>22>Luj(FUr9R5G9v<+C6N#l= z;D=qM=iKo{WTO-rfwSqfE4t_U3t@v-Y#zk@*1)+Rl4TqaR;XDi})VNNxO2O z(0stJgG}0@(cq9|CntCkw_PjsRJ{I0d^Sm)*6NF2@_j|GI+P8=(w8PiSe>3FKNr2( zYZ~8JGQNs?N$RW~f8|bn>^^W>^|} z%B&m&ETUzzcj@j3$41hE^GL17ou8OSgC^z22lK=ap8Hpp5YZer2ySB+@dU%Z& z;>KNh_aiQ4KK|VOlM*)}bi+@+wsRk6%Jyb0ZnH%ZTYK1d@^+!%h&Y=Fg*p@3g1RIk z{^y85=+TI$jkBpcCEXCEKzXtEr&z_$MeVD6q(m@JT$Ag?E#y1>L5a6LoHG{zuf#F|mx<*Cw9N;8C=&%O6*e5dbV{D#MeDo#?;l`TpmwOXWc zOC=R$Q!~Y>Y>{_Z5=XK{g{vS#DVluxW)G=uO2ianJ!Dm`@Zb92*9WE)<4q^1nBeI2 z(ckNndHLj>hkjO-0b=0*j^6#9uzT?AHw(LX@^|fIgs?L(WK+g{=#6>J3-O)gQ16*i z8JK6IQq1#DUTjVq(Cx7&SBA$-@AQgYtIZ|kM`EKFS?;QDc=2uHhV(`J-AbJIl>aqn zHFJA4+MeyWvOa!4Dh+veRd7@KR_YB0&6&?{bSxKt$zl!P)2J_MpG+gYzF~243D>7| zawVP~apHHrbT+f&MWv|Y7biNTq+e_kchQOYyhU2lyT>Js(5$tjwdpqNdrJ73S1g0O zd9zXzuO#7p!9@krR^E6t?1TqbXv%n(J1gTwez9TJop@!5wr##4e&*O|Y}l4_H157) zfm2VeYy*8%Eg#n}hDF@{T~7Yb#ThqW^4VN7^`eGzmv?r#j8qVuiGQ>R{*h{YB8TjF zlIH-aSuFiF>kFCBcv$Sy=Jgi-u{M>C&l&Z4K{h{wYRoy0#4|toF8?=_uIN~}UzQFrlXdJDHOJF@UDf8@I6&<3~|U=3Y5;7-K1r3Q}BxKCJD zecI)DI%k_WQ3$x`F}hpn(U4khgyo*gfpUa0eWzudOu;)$H9Jx%>E5heG#06%j#s&d z%=}U3)2+dby*eueN~^2n-!GbT@!olwol1H%pbv;y8=_UD!wdU%)MF-?AimyZ7k)~$ zkUxG63ly^xwRH_qsfK<(GU9AoEAKm43&0 z?Ggg!Xy%i#9Khwf_^{&&5LzD~98d$re2s+6aR5E(Rtswy-s7Y?A0Uqwxd)v4x%G-t zEwfxck{%V?C&M+~E}D?MIsXJrAr8&gEa)1=$gNY|m z8^o6qN{Fy8N}T^yTP`bI0uGvC1~L$cRZ9=-J@jv36_5hjmFm0_@#nKamotol@NdD} zBb8(@)rleN;<>9zgymN1iJj_90`dq;{B&~IpOA^9b5J`CD1s7NSB6XEla!$$sC8B93WgjT%6aity7=mNWGCAs)?)yw*i_!2W7Zd2}mBnd2g!8@U%o&>T zrZy<8;3dvN1JC>xwTl2ng;Rt&JMsG>u|FG6nd?ln{5e*j8rJucOs2Bspl0$dKYf7A z#Qi;wA>tEw;M6Vv)+gyZeJYT4=?rZ>B}1x?RKN=KsUWpzd+J5^yQ_D}v$m0oepY^( zGQSr!4Skvs5aVNNVV}C#_Ludcc^Mu7z8goe&plxDBjudR6RTj!k0FFQqZ0_>*3~b^ za#!V0dmff&z`x>S?aJ;{dUPxslzzKKh7Y95y75o2F@SK>#F%CpprHW4G2P8had6N( zc?wNrwe+AJIHdzcu#jLoH5WpK@ezuuMI(R)F$|v&)=C3z5hVhEN$Yzwq(v7ni+l&b z{F1y|i;9n^G6_HiAm}08(wTKmoq8Hb;hMXE+)d?k{&hc?=A_X0j<0}!B-_A?$KH;O zx8n{yKZ0{#>f{d5NqL*r7TF~iVp9(O&-gDwVhF%PC|gWdUU$I0KIJOqTX$mvw7zTb zHwqPG`BwU?FVv-CaaidGzrq00dsyyq>^-&%3*$LuBY>?W$r|WW%a@u2O>UqWI7h!B z1?kUx-&rNPcgfKJhKPK7(4ea#eU`<;CBV^=~tfe}50QxSkU*N(B-JgxN1+{X@qWZ|+jH z?QBRxSN>557JQdCkR0j&^AOGM^^(Jd;!4_`paqky7GI>p-K&;OSXbu*JNxir4wmT^ z#R+R|*fQI&Y@>w)-GD#9{^r*#M&x%NiHJM+E6T=o*wvXN;(5hrVCmZ~r2o$W$lriR zxR+Zac%@5X>B0d94)h9hKIq_Jpmz)P;pN7KzQq)IWCG%be6WpR z&TJ47hdn`zBlL-WJ_dwog=iUTH-Pz89fR+K9~`2 z#`0a<@FdFtlGX#0bPmV*YHhlcu4MB7rUgtNYrw;SXj#jnJX$fdDP8MkT8A&FZ}wwug_&^u)p)gnsg^|aZe8K!b!MTA(qjpUh?uvQb1t- z2Tb?gFGZ(16{fpQ?oiDZ(I5*@jr>s0m+Uz4AHTy@`t}S@J89Y<$N@_g-1g z!FOwo2Jg}k5|7}f+%c3@@$^=25j*jje)}vO^8bavH%~jTVVv!f!zQZ z;~D6V*e)I*Y_c`(>pu8DXXgLE*!9gi(vuMf5JGZL87;?s&Ts)7z!i|mA4C)|M>r zYYu4#%jp!i%3^j9Fy>M8R3gkF==(g95}} zOC5hjf?4dU>2TRDv|MwECi;mT_)Y{ezR1do0vtzYtb2ogEjR@0IBpYpeP!I&FN^f* ze-Wl}x$~vgS0OKXzFltR?nkFCu&BQ6WPwsa1%1;T)^Nms?2Ns;CO4oe0Sd_3p z&EVtWtO_gGou|7F*gHwMv2Fg_2%>!_J{LM^Eych<9x>LL7Wu+MWVk71GJfJtyo9?1@xY<>= z5H{2MFsX-!9NU#Z(D#RP8fCGKN7bNAn)I6qvz-NI-Z5F+CC*%u>D$5@&5}=V;akZT zKJ592fb!23(-G_ao(B?MqTaJ;UY%GZtjRR0^0SGDdHHtov1S=czgMIeM${?~TO!3k zN;f)wc$pcjiG&yD&~6v_k6+SiDZEFX^ey<<#g?DkPf(HONO4tMtWlgI?YCy9{{s09 znVF!?pWQ+3Nkwk}+PnUMaj{4SxhJ+tC-v>4kK&m>y$qxKJ|p)`dmHNl0b%-%(Sx|{ z_xZ5;7s1h0MpS{&tSp|O2IKjXxu>WS(c_E1A?ZG6&C|Mn)jx$L;rVIzgTmS+nRl8P zrH+UyiK42`cGdJEdJO{kJ(-t6>OIo?l$U3Ze6Qy6%RQ1gvuKwbZa_S+!By~$ITQEr zh*m z%S{+xbbQ%$%ENMjVUoP=*WN1RTcljX_phzI75qsA5)HF(Qkob^`U~}$pea$~1YO-@ zl|HdmAaFtena$7Q)S8%T(o0^+tl{JHme6kb;|@E8pCx^*Ae+T3fdJ~P{HktP>7-@e z^Jb!=^o1T%HB)!EM$!8E0Q zU8`4B>QCE)XFxyp%l=wed9U?Hf!J)pE^y#!q<(WE1lTCv6_yXvksHZLlfWe3wcTIqi02a&CPL(|Cv}HgV zUr!bwv#N2ELsHc5Km#NP27war=dq@ph1^=I|C+Y@c!3HyZECy&7 zl_1PzW#VMPDoML1o(fR{(v}7f0?l^lt)PNSY;)(UN>b;E7lXR4$-d|wk_0GlbI$YM zA{Ezsyo+{|-HYSv_(vjIEh7zn^}=5-zC!^=jyss!YNsiO64z5ibRF0s{RBl<{cbzeY@Iq0iut9Qew78FivHt=x?HkNuQFpJrtL2c^>%ra~!2-tFnP8GJW@Z2&)L~TVXF#od;iqE<_LZe zb8uSc8>_T!+$xG@zTKjKnE8Luw>`~{;NUp)TWxo zCGQOb61>Y|YuuN7ol-CEKM12;lqZgQA}MTZlJpGHZ>%M-^Hu#a4SSqI%;$$Jkjjt3 zEt{FEQpoxwk?m}y(?oPOf*lk9L2`v%e~?E#Ehz0RfE#nFu$!$`6g$8SfYfxM*{y2C zfJ7{ycDa#_ZwUE6?DJBTJ&CBOm0#JRwX}$Ayculnu88~T$N6V+IQumH&r4<*l7}3z z^8QB<2Zr6~3pi>M0coEbaX(`CFuK1UxbjD~1f=l-n$z#XefDD-E_q2C7m=~fJ~-zx zjn&$;2eAm-DsZ2vx(}j;0v`42bSG6dYN@2U$2Ji14MGfn)`l-lZM@20xljZj)0@EyDCbLgbrOe)~ z#UW}FV{E^~$BG`>O?Qx`Eh0nd5ZD3Ei0!L1sl-mQ!Mw3a~VbkF5|`jC#;uv-Lk2Vb0XY_zED+a<6)lFZCg zHw(n=T3G(RAaQ}DF0nc!aPk$-pF=?_!}O7Q?e-$d_f=_VOtlE%L`R_&`H=75P1py% z`LtGqaupb_>vN3grG`I{ZGHV5R<2Oq>9xU4QEM+wGb;mp91an`-2X zcX2J@me=&4`}acfEg#l^Wme9A&62m_({kA?D|H5V4!@;F+$-kOCN+BQTPN`%tDIk9 zZkV}SMxV!mXeR!K(;U-!y+NEGCkL|qv~8lZpEl9oKl3@+m`9G$ppW=i(b{jp^j>)#6og?$2I>4 z2C~m%=duF0(O|O_zY1|gyWdK?oXp%Ht+Le&F7uoZ$@xLR3bcD|Kt}^vTIw8OphxGgym|5|4NOMMDgC5|W+PuH z>p1$ijmO4rszxxOS|^gk>f5dGeLtM;(p&e7l4Z^GzXdh4@2nl@%&5vmVsRg_A#=)QPh7BlNHA-YWapDSPzQV9 z)RQE$q!lWSKVXGq;&B@p1`xq6FEBkTh2JXe4*BVd;0C2Jo9xl%!BLLak}RkE*|koTxSUejw+o-RkFaFghtmhV&hv=oV$_T#*bR)a6V!V^!S8KEZ)Chi3kwf`3Mwjz;{gk=_#VPs@yH zgYB+huCk27qWs$>(g4Olf`bTBA7c)Z4jp^9!^n>#7i~aOyNdXn`BSq*`KxjF+c9sv z9+yfA$529uTtW8qIK_u6G+zFoxnZ&95er4JV(4KneE{*oB**_ck3s^Lcyrybo8gW71cSt+Jq5*us5l=U_W~GQq?S+5j@aNZwu;-7!>&~pBXm1?gOSw#k zq+hNwTuB-`Uno|~jVzjzrL=QvIdO&%i=R;Tq!*?J^sJdw0(>6%mf>FUSuv@a_<61TTMHOqMl3(UhgIG=T?bZZX3 zF9elQ#gI&kc+?e^E6-my;h)N$byn(qKROGu;ruFC`N3WK>-z`PC~}%hPw<6gHD9|| zzHJ*kwcV_|Nnah~L{WKz4NW?z+AuK`B-PlKXqP7=m^ORN2X z9FRHv2lOW4uJ1mUDkR=3SwuIORvJ)K=|cn2rnT)b@_kE%_O!C zR$+^{ZnQm1*^}WE|8Uk7%4Iv8)Mxt#JRE-{n_0lh5EIBAI&UF>q+?6SMGsGN7K$ya zP%Ae3N6i<{Wn*&909xrmRe4*&{tVwzFZKDSpQd+|pg~yu%~f1@``U zww9Vce9@IZD?(j>5|#%1RteV3#f%@&I8$@7q3c@4cF(Z9kf0-Tbt`l4HmCK^czhg7 z!#g1d8?)fru>b1g63n~)li#2Ajsozn0Y*H9Z)ket9bTh34R-kx2jSTUcZrS+kvw@5 ziS^bf8z{O-G)F2$Td&ud%-=#6i>*6;@oWk~(BQXhWh!`$lbS3r$1GWAI4iZ%_pYH7 zX&ueIlo4D6m{QroDLfCF#ZO=P|EK%1FrZ?{*`u7hFiP^_8A)0kL7@Xpp|JIs+bH| zEs!ei8Qv`gbDZ6@sZP3@)Sd;xwfhW3sX~X}s*Jlw9|AbWz965zru*;~CgA||+}$tx*fwl=+tV-0e4DU6Lz=S?$6F%8?;>b&flkx1vvqYy zf{mhZLzm2fhLEKD}xiu{^ll^R(JktFbZh!3t5X0dN7Fkawe)NW0*7 z#cP)T+>i{p+#1;?r>R0aXtcsvqzu%MO?|o_x=+7s7xrM?z~_p8vE-0}T8c!H-Z~^K zsO(hc2TXoEp^BI<@m#UU^2^IVJSmGi6T53G2@HAu3}HC=I${j9K#6R%C<6%xQPx)p zX`@m`SV_e1cFIK-3(!0HII_Et44AG7gt=>|?OERA=fx3K&R=CzScm_5(VzdaQGw%` zXtQer51CxJU!w24XK)mhI@!+tN@MeB)QxrWI~|2c zT>8~9E$`k~%-?D@0z=@x74_QGuDOwy_mG=cn#1r?II^rH&DujgW0Ry6(3S6~&Ldll z)>;pny+W^w?-94^RY(@d-n|jpii+<@Zc?K3;zIdB_7t=d4WZ_#tP_8`6!mV(vqAe(x9@jP_9QJg71Ou+?M^6|F=<#RG3NF z2~U8j=~W3f!ent{b-xTSW`}Hhku~L70T(ZKiMvjRfFCVYN|3tqFn=6efbwcjg;}Ev zkPVkXw!&@sR^`>mgk2O2<@Y^oJ4)0q+>rv??mRSpi`Zs9ZKC|42sC7$Z z92VQJ<{wAwGGn%I)S1P|mZi`+4-)GQm_|@k)%2(@)?Y?S$dDfe4?nB!cPmZKA4N!I zOW3ebi)Qy%n3KgB*>-ipVi!6~c{%Kvo&4>@<{u8z{c>!VX=$x2khODyL&SozK}1VG0jXZ z(Rq{BO|kjY^-969Cd73K0x=RMR)y&z13hHDJxH)0zNCi_7+7cUE^J9i?$u?SyHbq1 z?VyJn&G%_6On-IxDHARX!z5rxA3zs~_6k$_ynGAcyGe-%_<0E+8ezoKNwcU^j17_i z5`v7{Uun1&fkWkLU{d$&gv4#cGsN z9|E?$@Je>9)?<$q)9E>RqQ;hKO1PP$*I0J1Tu2#SS`lB~ibZ5@4R zz@@#M-@Md3r<=3IH%RWn0q0CSd9f%W&03$|oE%q4zyG@%PRl)T7~f52%fE@Z?|y)k zt|KG(b+V`-r9DpSc4sXeC=}BP(!qrK;B-Y|mvqQIv`AMr(gb$pd9lZDw(y1K$PeKU zfGAI|9`#|g78PyI#?ZJsaXx}+$1@koH;)`Grn|!4UO;BII?H2GRg3gX_R>P7w8Db%&g0p1 zKsN)s2c)e1YhK~bjF}$!rsnj6759hG@HRpPkxKN68PCNGKv|@=ZkC_RscKe;7^kJDue&ZdAomzu^iMzAhM_;BO(ADMezg?S6OxsIO@7Mf z4dsZ#YFNJ{1G7P&2h+vp1Er1cYru9_N;8~oE1uTa@@}X2(F4BI9{>ki{M>o1fe)J- z;MU?3SlE`40aA{fIJbnB3V#n>gxDyzPyK)eT+{Qy&5O>WRM#5Z14is%*z_RDZz-e7 zDK(suGlK-=eQY@&X8R)*x!`9}3FKC;UGW7j!8L6|LDPah`MYq)Z>Ecps2;w08}8hL z&vz>FjDYj7l^S%8;Fzo3WQQSR3|_NRzvKm^lw{-GB(8=tS!pQsXmB>0j$%9b)z(!w zJZ%J6fgb%deOCK6UeEsra?PylRHNQ3F#_a&PenW3K3cIV>`|ZpjZM{_CzX=vf9<&T zzzgv*XFB=dYp}h?&~HT>%(iiu-?D*mQ_&J;GT)Hi?J<_H>Aq0H)?RrlX;s6U#C1NOF$tN=tku+SJ;Y_Cw zK6OHXYqE5E`S=&>q>hX@*P|8URq>tr%12}oe*y(C(TBh%@xxlcWe)Iaxktp;A#3Y4 ztR+e%>Ghi`|4SH!xy|fQ;vNdyRg6VEO;JUEg*_X)8*w!P7Z+QuXgGVA|GGhxXoCn7 z`JJ|3Ac&s}3-};mm$X4&d^w+#@6LzWiHS}%+>8SF)ZEX=u~6FAN2O@sZ8LN4Byn5~ z-zJ7F6n~^l3I}E&D5TCS^u$_!NRBU8o)ixf8<9SIJ#w2cL?AJ7Q4RO>$x?I%0PL4v z59LnTmgs?VS`GUHvIIWwRW@nn{@G;oasE+{q1facPKY@zi?_hnmr;HOE8(jZd>dsH zh4A~u8*S?iz7dPyM;dGe{0MS;g|4CCG@H-4b;u*8OVuc9rAKu;)5l^0;Zzfkc6o&E zOqX_H*`5&RJO+LNX^z<2r*Z5Z{xD=^6(R-e@}a!dNubuJCy9@oVR}%)EZ39MUpt4C z03@%b6nF3axxnVl6Z4!Fbx4yu#0D&iF;AE|r*Rv5oic(tt1HFZPBc}r7vt}PezOY6 zB3`se?38*8$Atwq=sP5DcL;A54VXEjA$gOV#&yLOUH)^Y=`FJ3rp%3bx&!ls7lq^= z`8554#^+&A4h6mzYn*5e8A|w*fEvaw-1Ia$F8k#k324+?Ze^F&z5sFBDf&Yq@YYf( za^0K+KIjR$$q?!#KTD*;sj@SL9ul#@s^`TRF;dj1IB6FmnUTU!_kouB*}})IMnvAR zBZ*Vd5bEw=0TWj+Cjbj_=$+;`rQgqNV6=t~!O4E{?&TMhIQ!`t`db9sTbz;9RP9H_ zN_H`ojigc4PC|K}*Z?6QV7b9#9KgXy=-=%gU<7Bic5i$+(tuocF?%QFX$ckFs3)Aq z=pj8G;2z`^@r&;5hz-bN+{%5zc?Kt?BC4I4c;Gg#v%DgzlF$)(mIf1w7l|WCRL3FM z4s4*dH(si=0Ayc!&`BceG}F)K!OC~lX@eE^Fghrs9t!M2Z=D9!5Pny~DufM~)JUBM z76AWKN3KugVn-Lqd=x$8#*I$p30WNN>fS!KUGpszs9%uE=|K*s97 z=fwjG*ykd$k)i>tHO|HN)BA7WjTZK^ zdOo+&uF^P;$3%791f@WqNA9&0V_V9 zsr2|+@<1LeLJ#H!nhdZ-ZY0YEK5{WbiH;Js-pehX?c7ISXB)nH`-wWa!nwwYW=!2A z-S~)7hSw6ft689ey1W*eHc1IzT*KG;;*e*KqJwd*o8x)f(q8RVv!TnnSaVWCHaFW! zwe0n>f#Sp@F`TYBin$(qPwf2g&ZvPa`Ezn*F-)cS%j>m^<9MBKADLM;{xqqH2G6K= zhlS|il7C#Sd~MfmOiOoy=-ss{nykQCw~z2-|sB z1JIt8RHXG8`$$((opzgz<{2cF6s^sV4tlpb`+-X?IDkng>r?I7*exGweU6`%08aXV zTVs_nNFxjROf#V8M+=>YyVT0C4u93Oo5Z{eF&#(}Ar4$X$}aiyE!WRCY5h@RWv0_X z7cd~lTHrh!kPUH>zVYA!SSNL+vy2RpSo0!mb}Zezld`U~Xl>GAw27%Wfc4od{;k1R zpU}(0t~}=E%f)ki&UWV_M(#c1hRgr)JD$8M_SQmP>ZHc|4YQPV`&m!FyiYSz zoaJJYy}-^CPf;+?zWeo)tH_UPW(WQ5T@uut*|_nym5fYhLZ2$3-P?pG#5EDWuZCQc z!v8`CrSHf!hLgD1Odh8!R7bZ*H!+IQbhx_CLzUo zmqaDDM(g!sl_fQX5H2f?vL_<_Z!=_JhC3v0suhM|p&LaY>*z!x_?+6nM z|8Ll)_yA-ieFSQ<^;)|>voY~=$X|(^`xOWWN^zs_T~^79OS{+6I^7AdSur(@*16+R zo|d0-2Pu|y5qk0yq(KoWa|=zJW*(GR!xwIKv6Y`G>wbwMAVWH@Kf$KJIUTYqpf5+xiXMMTg3}IoYxaY#R!6aANIRgsq{; z8CBM^K^asqsglm{sMnd|#vs+^nxpU%YtjW-B~?S}9g}Nko6#%~n0K(i54k3~*5wV! z|G?G^C#p8Xd-%`me67}1rc_DC?ZG^ZLWpj?{NOgOZFtN@1m^hVUaf1`Z7 zY8?;B`awX{CrDKqykccMdIHeUp}Iucai0bp)@kF z+-dHtl+k2hPz3;eN;P~q3hRhhs2YTf@YXGujgRV8<6ZphUuC%CC_3-ESZGE^;;@(Gb8ku5q=C5mxR!D{ak-p( z5aF!|=82d3eAs69U6#Mhu&czctUyJRe$c8C{gG@l`f5b&H+XWNdKC*y7SX(8Xclxv zXC?fP%O4diE>!$t zfbfaL6wFa!p`iHES)BmCe5^Z3ag+M;2~pP^s8{giHCmljZP9rX$VsB?Nal{FEeRvaQX=SHNDA!#yd z7@|l+@rg-nHo;+){^HFd+UJQ@@_7(nyr(N8KL3hMOXx7hCc3sIIay$Z#1c~FYNVGm zIA#ae+Wmazg+|?}3SM#R^AeeT&nK}9t#qBS1{8B8ptqOV{yE)>1lEH@3W)FbW;oo&hD5k5? z9@*|3B}WqM9iXQ)y0;)CJ1dhe|AYl7L9r9JWt~F71LBs5{1YSqmx$nV6sFVs3;+dz zZQQN>Y2|lu0G4{i8G2F^IECnE`1=(G64h2nXdWVBl~t!y<@4m1BO73;qkenV^*~(a z(OxgpV65hVkCmW@(_tv0CC6mchlvh+nr)E}3ihJmyiWm32bNeZVrU*{yWm)6Nqf*YM$2UBq(g?*L#Z|tWE5kCMIWX1 z?iAAHf&9oKpDGosiXsuk*|pNcG;_NF*DbOe^=+r}C^Q-9(YJjW@T6xcKjB$V|CH?@ ze{hMMV|gjqRBc{XPng6iel+kK8j2-HDl;_u@05Fn0^<4*B+9y#<5=Q4F)?sAZBd1v zH~l`QbsNmB_yNX>8l>`Zn}@V0;tF!XQ$U}qiW_W1mW4wpdz7)}V7+cPqyGh>mY-j) zeMBTF zWs}USx_WnID-62O5&X1fMEn=*sJIE(4$RKg*!y-q2Im`;ah*Yo0p12;>;=^DO6T!1 zh?_JkUwr>B-7nlxG?^2Y?^nfotBLM;vq+w~?A5p=o`srD+AOZy@FHF{JL-P)4JHdx zw3!|iL7RU<>$xg`Ff5xth=*#@Z@L4?33@0cenX1q!s0sW-g3$-iWI}wU}_^fX94Xg_kDXv7CJh;L1SCUn9`-c91B2xz0Zjj zGX*!7nCYkZockhqc>iQE@%IcD;%hc2pi@$1A@3zDzb`BcZQiY3g6zhy zi=~xjpqQ@S0kuu5Zs@Df9?Zq2fOTLtD|1zuQTdX5WFP4P`EQ|zdDO7+1gG?W*mf^0 zF)7vlervqM;k30-{D^%7zKS8nX3qkK6fr;sdzme6iL}&MI5bL_o?w-nP+K~Nkdy)q zCG5528b9u?4Y^*!xzU6kOm08VHq%m@s?2)aI7}a3L~CiAU*DNLW|I0={M% zQ&w34@iq$#72W42-}k=mmT+eC;HB1Qf>CR>{D_=?|e(0vWf-7g7YtLt|tyo6RB6c8MBdu zx;yC`XnX$0Zup7%lzTit7eV zToe>`xnFE>g#zMzr}$)73Krpfp1g})FG1U5i32EPB`wK1$3}~r>&pAhx<+B&^^S~awb{Lb35zb}HKpczWvs5Y4 zaO?(l4JuJ-vyAPuJErc@(DXMd_GO+vq|VH3*N8A2%+KC~1-BlC+5 zDA%IR6brf~rs4r8cFi0F7YIkE+9{+$#PP-7bX7_{FPN3A7}Na?sj^%6ZaA=gggr)^ z32OSELDJggwROVi5eyC=6k&Mm^OV1#4HOGYY(<%%XyJZYBzE6q+MF02^zQY=)5VAT zw76HG5XLvUBT*{z>9a^5c`hh6{g^DRun>|VatP+3;;pHXhAQ|7glrF@V&>TnZ6*}! zY49rB#<4*<Xu5>xWQ=MXK*gbl;JEHt&Mr@^6rx+7d zW5{E5W_)_XTPMSv*ot4TlkOB1#3<6*8ZaPlILJ+Wd^jofgMJSN`fb9VO>rpys7+;8 z36=KW{UrDI2$U|o{n9-VQ}PL&+7&2y8&Y3+2?5y?vC6_JN`I;aI{=q?_z_gscc+58 zQ+n3L6UA-fokVHT!T5;rwX!t)R<}}+ma+&{$@g@XuQJCvF9AYbfuEmYoYB_zl^M56 zPvuGb0p9Ph10$+>xWx+SJ5#d$Zy~&U@O^(MgRNCj0sBT?e44V6MpIkOwH{31R`K4o zO_*g5VyN}4y!9`y1wSVjsqPetX+ z+ye`S>ywoNsa8R<^Zhfy)=L@jfLV#1@051a2KVO}Nb1}aI;5GIpgA_%0hd)O{wv1|03w(F59v{G2{QU- z81%LD@S)r7wPd@oAe=0=Yi-`?|6=TB91Z$vuVv371;0d`iJpqs%g>?lXS*vl_Qqz~ zO@k?7#KEsgIt`-Vmg3=ao<&MMf?sjjoR!lPvw0m zjzxEceRxHO9Pde_r_wVD7XDh4qJC(Fg=L?nKiKF*u$DkXufj$B{-<|d|I<5nS6zOm z{{y^}mRi8wyyCaWS)#_rWS`-e%w#d&_Diz~8^9aBcRQJQL%kd~RuEQ0gL(!*?Zz!p zBc)k?Vj1(%gTjwGhzWRYr`xINmqmKi$i{1vY0wwqRt9O80t}Jv_oN!AiTJ-uy1Z9o z!;c6vfW4jHM=zl$o_|kTc(eqr^%KKSgUMnk?m3*w^YF1lZYL$Nzx78xF0*aL1&Ktx?5ah(*9Iv(9qDArxEPxNKP)vHl98E?#UfitZZ zACXcXDMUBK2gSW#K+ZctsjvCXk^g)s5Mb;Xkco_Rv>?+;eY$IbGhD;o#DFZ|!&9;4 z@L)QvcEL9ml6C=OGwj#LFz%$@W!q8r5693sTYQzkKS-&|Ziu??uK{#HPb}%ayaHeo zI)3_)H>FqMpz#@=&|>Lha?ep^gR8QM-ZYM$DP%*J9}vw|QA%`E3iK@rAT+UpVp7Zn zmxw9NWM{>)%O8NcYFhv9>p1b|dzaX2TdAGxUa@x?40$pB$3Do1U31pj>qFFyr^u0F zJ(oY=e{3;X$IwS&ZKf1cAH5YT;DXpI9usS>US%x?EAkY_YD|)1%>lX1TqnKyBx;+L z_V&VjfXyEM{VvyTluHk}XYjpJ^}Qz6dS4+#CaEhpiV4?U9>W2b?Z<1dv`!Qz0G^ud zfrRWkfg+Jifa{1?ZxPXCWR}%rW5oT#*|00`qyNX&+kiz;eevU!6`3iS8s-aI`9gh7 z*EB>08GF;zbW2NA)JaLHP&YF}1?HxvWQv<&q9Tm%RHpkiMO1{F5+EWhh>C(Rzyb>_ zFzgGvJ3BM?{?F?7_kVew|MU1b?Ck8!oqNwc_nvb;=X20dAdr1zYsgJHO}wHM=9UP) z(5aOtu)wDh2(~OR zm2pcUc>$2GWy*ctmmtp7!%v35MoQ`>sP}o$-XH~9at=?G^M>b|btww8#K=fFKM^R;II%OzZGp+!dtW z7a*^CGC84Vf+sb*L;5r zQ~TU&5WVLp#NGiXLEoiYGCkQ`dj#ZkoTp0|S4{XGvF=F%e_31Dt|utqQ$~BV^;YaI zdkP<+{$o zdyfC&O;6Uz&Rb45 zrg`m^@ZY&j}Fo_)9S` z6Cm1RW*q@n)hSTU1p0eYcNatMo8H*R046{kQh8`mF`cdS5sSC?H$0l7W;%g_H63;c!^{}XaC@r@l^&H-H6jbbX zH@BiIomT$ghO`<16wc?1UsZk6Jdn&fK_k@r46vB|rHG8nZDWtEhU$CE$9>>j##%Qy}GFgLH4_$iO1c8hocH{1RxrB;_pVyAfv!1us{JU(z3t17n7<* z4?$2TZaj+;AY3`JNK=T^B3w|BFI?$P9qC(={x!;*Z0=R+%E$ZUyhwZ*_FU(?BZpI{ z`@t%QzLFwG&?K^LKVEMy2E}*lo<3RevIlIwX{Jw6PC;p~<<_iOa{+MXsSZNhRV$b& zy&zAjA@(C6+M3m+3{7U&993Zb68G(5Z~Ubsz*gT8J0~2FGCheE&^IZP5iCP=!2?n+ z9=;0w7D=o@kV;>Q)F+ikY3%$?-zGl-H`X3J&%JAp%=tdb^Gs1FXcgR@JsfaWJHKlv zs^G^W;F<}aNhbO>zp=AOUqDR#7^bW#Vva*9HjcFGZI2e(xVNZsMws$o(+HHal(a@_ zf)J#`1p(oE6RTzmGstfdrxJZiZ@ygw;{-@^B8$*B6m}1~y|h+d6Dl!FXP_g>MCn}R zZo9cLqyqm~T+>*WxluISubM%^d=1M?RWiT<0D#04#q>y#aQ2w1Yt8aIQt#S{2l$aV znLINy?4#N)c3hQT5&9Puc>+h`nus;=hP_~UpN-qMs+Fy~lJ{jHB=)bGGAFRgO(3`a z4GFj$z*UR7>_V+~%3l5sWD7O1-Mx^hQ3jOBQnfl#xA!2){PQeoA1)pD(GOYvgsAl7 z*|2C^vsm?W+_lgi(8^j)(`DA`A|?YIY^P}|@e2KKLP16Dd?VUSR?Ca%yPp#&l&qD7wW$w&O#4D0C~t6pOn*w2xMM-D~~O{wsaS>KwQ6 zlyEID=i^!cgFdB9Twbz8s&+R*%+WUWo6lp;MCPU`MfCH;e*A7RJ5j)Fc#EauR zK5jc`P4$HltM2MX(*Iuk>5R9ikuAetoaUft_yFDgKlzWzC~5b~CO38@7wNl}NPQ+) zvWtB8heL`zp!%>lGC+adOcZ<35}TWuT{9=;;x^2*!bu>BN#%k8!9 z> zOn;^?T{#@2%diKue3$NXGqilS=W1H$;xT(6+YPchyL1U3fMc{a*3rn^5p$1;%|*X| zD-0;gg|+rG=aN0jPo#S%RK%D=<{F!-8;#%r3G;TYw(G#JJ3#$>B#v!eG-fX|71~NV zm~PRtYLBwoTbagmh;-FKWxThtn|IX+f6asHv%xr-8aM#)^uYOFz)Lwhn9bBa@he{x4$*q7p z-%a-|EP&+AIwkgj#mj2C&WabBqR~CgRHVME1biz2865ugkqa6fTC{WodZ=mKglEF0 zu2&8_g8oLfLF^NY{y+FW9Z>Rphr{6cd;6Bq;=dL?;Q@369Ne%u@l+mACSmYIkC9Ty zQK*VMeHQM5XLXVh&Duq)X9U9Z zD$qz46-tG#w=4P|E-9}{FvsfbTN{l4`6%|^%S(|%#xNg|vC_`9(!2ITz^OO+!NecE z8NNhG^rgkzuTU&-R&#xTZ$I6!iRKsS-R?`ZXzkuMK=K3x0bckW+Tc@>=25GLOJ+zWB(wJ7d6CC_-){90=FQscW2yw^7zFYJZY=iD5M^F-sPZ`U zuXhHhPQ7DRGHs>v54H17uzk0oWs1p(-&wbt^QVP z&z=gZ zG6+vFZPV4e6Jmcp&JFXoi*;)H(kmz-T-sI}lrV%V)(FmyB7-^E!UWR!;nKf(_h`ab zi<$g~P4i9(a#`fcAGp!qtm7H5n}BB+iYQ(RnS0H`OEm{i8)}WyC6_z!NNtBDX5$VM zDiMa_o&8z%SnqIY{b#?RH{buUoi3^s37+O^ij*SWDbTbfd{;u(-22Q^IaTgAFy!c7 z8i&r(<-`S1PnqTd&+$cR+sa*UpXrWpWMv&(adbz^>yoO+@9=byH(QVebAr8?$;Wge zvTLgl8of=sK;nxd-|IJh6zz9>F#Wbb5#n@Vbe(@zc({E>UYoVS!E8`x4(7vY!-#k8 z)9+rnE@j5?zvgFuM_tjEsqt#B(YBb=`&;0Kn{rmIky4k|CkxGg%GpdYQAj4*CA*2v zENIU@#Ee?lAkZQ?;z$v`o&8CjeqcTco?pi|>bUIF0|@{KY^=Jr2FZ)-Ihy&(?s|>1 zIQ()+q;0}$hlyCjA>ipNGdU9=9_8L~q3_MB_C<5v z`UwQ>_hEcCRA!BRGMd~T1?=kKYG#XrDPInuk3lG$jv3Udjk?#uQwZE4IinCjAXuWxD( z@+>L;iN2H7w|9>|Qs(FTQF5%OF)JZRcyG*HvScMK4ebHR+`)Zn>(7iQ!|yoip*U8P zz&8X^yO3A^;BF3f8Q0n;HFstVe6N5mUzw<^9(LYt)EbDz0goSH{#F)NoQ))nDfXb( zv0X2fEo&;?{fVy8<{y1Xv58~PG6_G9o3r$V3-~}J$#e;j-sVXh9sI&Ad|&>63kdWy zv6JGt%YKw!IT78Ax+)k9O+;JMXHD+O2kj65LZy+any zeCoY#6Sk>07xx-U`WZ&j9CvnnEu9~~3%SO}+jZ*Xvms zZTAWHPEI%e7@N9`O#Y=qzP<h_d>EBy6Ko(5^wT#zR|uU_lUP2U^cH&GP$H^C3{zk zuwuyYP%zKFcgNa7J~-}G#=etbzkKU>%aw^Ed~;UE)a&LntbRCT+dUe)+(ZB4s4v$1 z3rg;OKhOFex_=U1g#yu2nwj{LtOI|(e?0K-`MCXQ{y9`A}>0zaz)AHZ`c=yGC)3)FI zrmyNs?&@CtA9HUnx+qMWRhWfeUY9@nYQ4$0 z;2?5T*IfSHGy3Rn_hU9jgwwpsZf0*JROBhr6!AX?y?J%C**k3X5c85S%i7-3<}AzH zjS-E@Z=ByNtQcT+&0pZW_0!uaxs9=(R6A>Fqp2%g8gOg9YDx@meLwFlwB+O5g%4j0 zPyl|zN;_-B>!)9bq~y@;d+S#{znaeHirqAUSHh$02HG(3CwF&kHa~dCtB}YK1y2?R zZqQI_l^o+@=ot4KpE^)JmWc`9N>H`65Y{sta7}yGkZz9s=qt~p3ujwD3~!~Qu0)(T zPR}^s5N19Mdho)*z9Hhu{Y}ZaOI+*wEIM?#pK5+*Z0h=lXlro|{VAqo45O#(mw)ujS4C>`&zA$P;3$?Po=Ib~2__upPZ>t7eu*#cc-k z2Q;SIS~1L<~I8{v0*U%@P&FY>)TsbZ@fSTE0;f*jI0sOu@2*g-$)R#P?zbz z11a-Cg=hVpfM1YrQ$QutLuZE%o}87nX4tx4^k{U4n~mFnAP31hZq~|Ox93*c8%>eYdOhH!I5Kb^!O95F%U7M&vGcdbp%HXU*vRu`mbdA; z%?3THaeL-_{Jb|CuQkS^c6e`K$mK^^tQh}H3{U%i*1mjioGtzOkT{|EY0 z~WfP1`gn4f9i z@#PL0Td;6=7M*c5!6TQwF=5_qx@5!DhLoc^ucudp%q#VOZ6pT*o0s=`dUsa=a?Tps zc=V0T!AaYBr!b(i!?38f!}K*3aGFh-9_R62yYsJAH?g=N(etuHl!kR_okzdcu0GsH z$-I-bPoUAKii|5?3HXL?N3WVqgQhyur*3d3nv5( zIOIZMjWD?C{Z&cM?(B7J+@oc5!|Anb z#T%!`_AmF(ui29NMWiakLr7qrVq65}AG!F6lr$4{wTW1jIvDraweot9g z!*q)!P^Q0}xFJ4e(QUl-gUkKQVcOdL^=aAkHeJuj8(_xz+m{e3n8U$9~aWNOJ#agSsfo)RQdR_Thfi zdQx^52iGY_YlFtc2n`F9*MGUkc630&Y+?JTU6^Vb>)hQtK5{a7V^^$fiUnNmiyx>X z|NQO2THdG8_SIMBpcU=mG~Vua0Qr_Dce^sjF3VByFm**S}8|t|b9- z>Gg%L+J5lz&k0_BR_=2`AGAA*t2r`#PycdW4b*R~{{&}Ut0=UHD<&6%5!UEa#uu{Gkk;LuiE*5&sGODdAL-onlOG^C_0<=HKVm1`b%WPs-?m1VMXQZT*w=fAL@?wu8|YRS^w zS9AFZ`~d+SSj`0#+{_wu%#=VYat6e?C*(MV-(E@K60E~Uc_D$Os;Cq*R<#6TVNzevU1s2$lZ>4kXT`<=12APqF6113SS>`JL{@_fBcxkE;+I` z`H`Lt^Y+Z|RwVzcdek?vx@7Tx=F9$OL0w>?R}C4FOz)=G$rXpyYw;tnW#(DXw)$m~*6egFMi9dEQ z4!=}X5)|GHfn8$Q*BN^a>$eG`vvW{R?$e}fU@H3~GM_hqT-OGjEot6WG4@ucC7e}z z-};nRYJNdjo?h<|+=lDoZ94*Etcux=Xp~K4>M~Q%o>6k}B>hV7dxLM5t8ez%EpSkp zjOYwh7M0c?fn!R1szaz3o`LK)QyT&6+JMGTG6wZMBCWm^geRP_sgs@P=8W4E^|<+- zTHvI@VL~G-774z!@)Rz3GQlyp4ER}%wn(UE5v0;LRT^@fLMms0{(VFzI2~Chc|2NG zI$A9H=?seVQn4%MRtxq0By_GU?BU29rz7?lkH;sF&Qg)e1*jA^GamLMz z*##{8sbv)P@=`!DDQBIMIFm;oP-=sP=-8uYiPI94HBLv=CNavp(NcN;6cuk%pk)`l z!GUBD)VnYqr_2c*9p`08^+_sZQ2M!(;vIxmmQx#WEXV8u$3YUIDdjY)m1aAs3}633 z3?donrR;QyJTdLcph9Pd&3JA)6=*QI%$lF9@A}b;rh2BlIwWvzb>bb@YZR1I*eTN- zP=~-rJnhcLX$+p-g=fE*JG;xoB^lwpC#e)rl^n2WqQ`Ad!3B_&)(;nmQcSKCoK6o3 zYA{!CwB@i-BnEIXRIK0SFJ%s}9X{?!5f|tUzK(ZXFR?(YA8x&uO*pW{EQ|@3-65@Bg0|AA@Syo0T zc-l`@_!bKV6`O!v^kYm-PFb75;Of(Ntvvvpjljr zgN=fGn6JG+|3#s$3~*i_BIsjE^H5SEZsxmUrkpSZl0)cu^4i7zM+TC&<{&WMTE}gZykC-?E>(CtG(L^^e}{gX+&vRqKh-9@$4_~3H=foVYT`;DF#w1xEy5w9`e^T^5J1`` zVI`KtvPXOQKNosIH<=f7L*+lb{556B~n6^KIs z;>?@*hZ~}{D&H#j@K~QiiAdTFp3K3N+&3oaxOK#xWkD!{xckuTVjA9v46TCZq0|$~ zXVPHAvxCdV5x@=fRwBEgZtVXFF>4!KmEN926+aSy%0epMcn3=90_12Ab_OVKf}l8J zo^sHwP{XFHg?zyQ-&io}5F`Wia0{F5&9m#(H88?|fi$iAfLEYAF){Z1N>+*pP}b6; zO!t{WXOZ5PO3LvM4nXDzo4hfk3D@x_vbe59wVA(KZlXt+_VYT@!pa6uUhXkOe_~eI zi^S7By^HR9lMfOSLYJYMpb@mzjzLWI(lc~Ox5uPz0V-xyhpyr2l<@e8iBAwHMeT>K z8Atx{>`0*eo{t@OTm0osI=mRZlW$D${@lsx>eIgVj8zNGAYqn?Tn&wH4se za^cw&;#Sdk2u|FqX7c)bDh8T(Dfn6tsx|hU<0P2p_QlxqpyI99`Vynhe zO0GkMUkBj9GjTu;)Ky)vxV>LAbhTqA3t1SMw3)Hf6Z=u2Myk}S&A1>|4D$wqxT8A5 zTZO)-=#)L!rYHWOChVGp29Pbk4P>Ay?<~ZsvBwMaA}9!YoJ{e$&ogaU^=MWehPFD4 z@^RvPo2ZUQG}S!qM1xhiCY1i;;mrb_L{tq701ia}_%+#ZEO&-!GlXA}jpf4-!aE+5N1$^oPF^`qf6Mkq zXZ-x=E18gT|J5!pu0u3>OIIv-xO3f*SK#X@4ay1#Mcu|U`C^;U43=DI< zj*>L&VCV4keK<^|?{S**+=g3ol>;X|Hlt0il;T5w6|klJXYh3<^n7|+A}#<_#MM); zNGdtNUhJXJ5O1UIiS4)mJF^uw6uFHH$2H@9(;6098x z4`UDhE11`$G)DmIBBE2d=ae=7@J4zc*?nE2f*KTXh@APSAh9*0z&OClZ<-YR^2Cj_ z^2&i8$&lZ~qtmX+Eq`U=m%r?AOW=kK-4IX~NEZzZP-lfXJe5y%b8M&0_syG~O^2B$ zOOU4dc6+6Cn%;LUwOIkr)~@;9M;>Dr4st;clqt!KxAF;wPJ5vvWckEr9Cx*_3yHU< z4#(xjXGW_#xg<@7fVLMxAUsVEky;ng6kwp16xrET&2^RDic427Eua`E> z&e6JQBWNZi0VXk?{fG0ehDLYNgon)<^8`A?VB_V?5BUB772+rx6;B#jOA4{+MEU@i zYUDz`zTY5U%Bs@pEMjk6Q2}<4NI=X93+DzSrCNr}yh+7et8X7fLJ&~84_1z`z(>-L z%MrdvsZu@#E$aY+q*UHE|ta^{h1EU(q=JD9tZhl0dO{h*i#zyO+g zTTr~ELP)HJH)sX~9sprM1|1<^rwWNxN}3al{TQO6>qe!7D~I(_>6xta_0TmjL289| z&~%5&b_D^1;mz_!Eod!63hJM!_;;USc5u`rxmj0`a?mN$5|wz->qIRfAAIewR9Ns7 zWY4zaSf>LY4#ydo_IAqAik!^Y#3KT4wID_%18{c&3CTdTja_F8%JruC6s#Y5y^BU& zXu`8bYnweT-4Q*kU@{8zjCXO9Om+0yI>@ZAI*<)-t2oFB!I#g#t-d%CPdKsC8AE%c z+Zwe_Fu$U>H{2sRY_BR=i0ZS^8`H}lM(DQw`>w@^rqcfkYF+Q@vJgCBqDupGn<~?a zNJ*_yMLT%smhi+mo`lQB2gcr=-b4t}k)S0*!qm*yYOrWbdPO;oW|#LsH${>$Q~}Kn zeCPCmUs+F7f6cc(O+(|rj3tL1GaM>+dukYq<+4L1G3vhZUxU^9R1+1>S?lMw z=%f{icrXRF8wGSI>+$GTPN4vGp||632*W2pIoajW#7%d?AkU?Pifu9mHD{gF_tS6@K# zc%{hH5;P!FI>=fADli&|NTLm@qGv%rB{Opv$??3a zfV-=&KfNK;RW5^k|Nqu*P-1?xqiSQ11UXBcT-Kp`H&^TbrDQ&oq;^`j zFer-+I38#dWkoi#0pG{np$><+` z2~9^X<2+C_@Ql325(|@uX)qBpGBF*M+fL9*C=84mLLjI1t3kzjQk2G81?4>GVpwy$ zpCcER)yc%IheIwKz?qo>O4cc&Z_+J8 zrAEiohotddw^mx$B?=zPul_Ep{V(-O*&=K;b{imX9u8VNruDqTw_zKCNQUhafjjND ziDq9{Va4?1HdMj{Q1XK!Y8#Q;BcP3IXXgGJD=OD?z!>J)!MIHupQ?6dgM(aSq z1O(=5X>i{dB@UledUdL%1A~y=C{<7Scn+D;X-lDpJZ?r_e=UyI8hdGglLbD5#>sVC zI(a2l>Evg3urO_gW>Jw_BDqrNjEZDIseFkUOV=T9W1mb(7dTkNQamyHi|NG7?=xcNy^30ksXuIC?YfBKLk3sT$1vZsoMoO|)CmrFD)!obh-_-b8`YO1O7Z ztI=;KRVugUBZu`|pr`xDlj(HRk$M<=t;bOpL`NfFRDt|79QdVV7%BfvR~3AFll70E zOE&#nIdeOJkAHb*v%ha`IPI(7yh?K5)b(cA4Al!bHM5B-F*F*zhGxCo6+N)Zw>)YQ z6pkn@1mZIcsroL>G+s#%h}q*{cGpwbqe|@eGcWq@gBn_|t&}PbY(jzaME45Q_@| z#3`_2?q6%sk@2Jv6fmi0dmOU3S4;s9jCVRYCe(+H2P;=S1fAgQg&lr$5$#}|ZLtJ+ z=4l#vCV`7P=6}fwSKxA1k)bb5M!-}+mzm_9Y`n#{#MNRCEOA^zr8kx|gb0#&pr7x9 zKpLVk&_OQ(1qj>-&!QpoT7&kD!(Cb_`FHg=ZiEVJXh=n3SPuS4&B2XEb&eEsqdmSm zMY%67{%%ZzNY;-;Jtv;2LlMd(&(+2oDx4u-62(-H=v?A9!gT$CxHYinp8=Y&0nydo zth;ZMR}iSqG@nA!k-f+r3Qg{g&H-kTtv+QiYAJo*J9GmH$M*!U_kkW3nl1iPD!h2@ zBa$T03R?v^#GAuu_UH1SK1Z!A*rMIz!$jmX%2s;Pz!?$T`x(@FUa&%oI_b%V^HXR} zml#9b87&S|i^KOl7-(BK>vW`R=28FyP+99Uxna z*QGKCsCrxyn1fUu-^$+KBfu^&10|hdo&_W&QH;mXj6>wM32pW5$NXAjTe5J2+k3vq ztZIKRVMNCNr!fL1i-qfr{QoA0H!$5`cCr|w)Afajg3_&aJ zc#41EGU)DL3vyfEi&Ca3K(uY$DsZP+&7gJx+-MT(@|%))3K;O{9Gtsh9%_!IofhAk zG9B&+j370hWOU&5Y&}J}D;7Foo?U2u;{{3*T761521##PZv`|S=j;(m8~CHV z-J9>i7xA)jgAKHPH>@;HYmY3I)g1bg$2As{8zp??4PR!j&<0ZP&qf+{u@?%A{D~1O zKkw~`m@2EUd)<@Fw7D{I@zrI|={LNE9LA*fd!lSbUX>>;u~BJ2mf-ccW0%*;2`FKK z<$=-vGO>R3)(!hnfmw7xFm_kc0nmIsO4y)+PhW6%N6;$j(t3Jfr3tDjEQ8o^ z;ji?a?c1LN;kAb>9|Ai;UkB7{1*Pi7YsxZjPwU%(HJXC{p1ck1phrJQWl790Bes=F zj)7IY+xosmS@E!#EtsgRc)?n!a4FEZB*HIo5wy+FzO~CP21-bI+ASDksi;f8L z3}f@Bhb*XxEuy5=j1ARF6b>H;nIlG1c%ISUORL|Cfz?=wR(~r?6y$XjGLrC zdARTZjaE8Q;Y1p{Yy7G;-EE*9xKyo>b6rGLr!9y5Wag6UvvS6xCPr;DHed39r4d1I zmdAYZo!CtkEBO=KZB`aC62B+D47^mBSPGgaPU7B*JWcT22Ah zN&>%0O$A+Y2T-4|m+`JgS@@Ulp{mXq+?GPU&|2_+{3cl$Z{-xv>DpXUJ&@w0^O>|5{RCs!tOK{xPS{S(zHoH<|>+CrwLH)eTzkHx>H0P{c%*JFW0=m_~Sn5OiM zzFDVk8u$!Jki5RpJPJ+BnHDIbxCF45s?mVoZH)3c&QFELDgt!JdTZ>-36XlPk`+S; zP}|>6WBvQfr%{KF++@Mk4rYSria;*#y9URSHUXI3vQQ20J&hieb{ZpYW9UCQf}TT) z3#--%sQX$mP^syZ)5h8%bkolvNcO4nG}9YqpqDH41T0Jweme=oD#6?XQSmDiY2T*f z)9{n>t&fv@ukgVa`K^^;)Av{;d3v`B!q4+R;-F}1lW{Fn#u$kUQdu)r*SCPlZ}OIK zTfwXE&E#x)+hA~SKY+~=fpT#GSWv4_lb#MPYs+&8wh$l;J;A#5o+YhkSj~&vd6s$Y zD|{Ey{%>O+X-i}|#uY|dU4emrp;veyI7kbCX_gG~V|MTu>in8{>@vQ|&%7s2zIbq*6C-<4{~lEaQ)HW31nbU0N_WDsf^tSAu>2>6*2s3R)?RPYJ! z#`ikNtE%J&%oqz0DfBv+le`febM&53jk#&k(BNmt4swf|oxmcJ?{#SI@$?*lhmDq` z>^4)By74`Rma%etXay)(H;>gsy9uq5wM{&|=3@R5=bA%bMPHOt0$j4+!uX!E*O(v9PW8uR|#T}GQeK4Jpkj$e!L`ig7n3)W{D|9``qaRVClf=`B z7ykW^+6rCL{Yve1XV(4;J zf(Fn9==Mv7vW~*WDU0?E2L;8{u@VdiSzQMZ9)Bh61;IyE> zn6Gy%uCtmxL*&CpUtCylivid6$1R82ghKE5ivRn$CmuKV@%v1N``_dDy_2%mH`WIa znouuwF6ih3Gz;Eg8019pmkGlIlTw=!X^j(~)C_9}Nqncgp4#L^D zBM>?2b!cz%2*kxF5P$k!L*m;^tU2I6i`9c|CQT)eGe}rD59F$c+f2+y|35#OS0NPI z9kF+L<}9OgT3`TtcfHHg-w9ODv>0bE3vGr`uDo;_njy?XqVw|QJ})|J5^9Xz$= z(K~+_2akGumkhBL1jYBoZ9=_ z4hH2%kbQV<5SZ6g$$9Pq-5O|hKNe)Ti|N7=??IR2pbN(I@jJoP_KCM~?THO-CZXe_ zjzOxj0=qQh2uva76i?G}VoNbI^-&){(?Pyo>i{!(9#_ig^2G&pG#wffzF+iB(U`E$ z!(f*E!O$n*4Pb)78^8a*H~yn)`Xkx>->o#0?{cLVK%D*J|4>^@v?VB$-{FcoiUPbj zpdGnI4E-9Smg)nT+{iSS^YyCcPv;c)!C(EgzWBwSj6VkbC^$@W74lYhFBWa@mDvOh3B;r_Zw-TOinPZvkqb$VFU5EFt75An%KXT`NIkQdw?i4 z+E8Q9?r5c_zJ=zVVxsZPYWknA!KWq8Or%Q)>EX0!K*+|bgsI@qvu8G_nwbK9 z-v-Kjm?|^i6ib2?YYwPr7y8dq-}Ev0Br--}f2pJ+1W+iThNHcbZ^2pN({PZF)C{CU z0>w?DZx(@g`d5fh@kM?#VPI4De7ZBa^%$Zc37}J;sUM@+l20A_vX>bOe+};@X==%SOZma&a z@1?v)UBHw5c83ODR+!0=6)@qYGu`VzwX~X;_N;O@$i1t&&Eh-X(SJ8gH7B^cmohNG z)#4H8L@3qp4Fbuk;B_bnRvUVbJtERERUlvM=dLy~biBhY{t3b?bPVf&IX;;=i(tw9 z7=^1f{c}MmxL7q3k!bHaSFZuNB;I?DoPjYN4FLqG5xee(>GivvdQ~!j)US@LZ!u-~ zmNW{A&3QIAgNY9Hro)4N_&+UPr2|cdtEa$PL?+8V;P;|>vWYz{+4D@0ltv9pXo-Cz3lvi(? z$U_L8AJ>F>I}D`axX=tFlANJNFxR;!%2UV=!5pCk3f?J#nvT38FyE)6LQyiP=@dTk zN;-woCKz;OsZAfN^x7>BL7S9(TdMhit=i0fugo&g-_4BV(M}}AyHUPPZ*Pp{?8&=IAv%%~gr%bM$<2+r$)(5QIE^ctSr^qS1 zT5Te7bR;iwq{WeJ;t{!PIc?H1^dwJ5^K=PMkMndEPY3hVkEhW*jpb>TK)|(MjpXBc z`lLVtuqq(Al97{4T=97gGdQgyZRp{lX*pqXUMabE9(A>ALS;)S$vjWH+e6ej-n1O? zW9%3&NKv_t=y(foVF=)I@j#(Du{%y#`ap!pnUR-r$Uaa}Y7V&~Sh1YLNn$rrmtwQS zlukL5mZ$Y5y3K;yB)vCZ@6H$1d|u6GJ^73?AKO3lE*JB!?F`c9x*PoCZ5dZRsjO0? zCD#I|w3C$@Vr4Mzv7;$fOS`nRQA;mtsYOdgZ5GS9>{78{X=-e`Tg=+W(H$%h+&hDa zhxb%)4Mw^HTY^Xv?}-JUFy=2gB4;=5_A;C*TqSsE zke;g!!H(3l5MAw6&LQU(32zC?Q9Zd7f+jZ|hIob<5J3PE_E{&f$f`T8!A(I(Hoiv5 zB4>$lHoyX$+NO$DEI@pCG?yemlG$i5JCsV#nU*Z!5GSvO!+uUqg9FsY=m7LbR}9!~ z1)@Dh0d&et9*|Yl;vB4AhnyUgWN5{qxBzl!08iP^3#gr4Tv8evm3sZG&A65)p;9nl zRnqAoe=Z5O6<~MC{U$sx+8!9!&UqJj+&xpcq%DVmJ#d37<}EJCgp!(!whs3AvHho6 zbH1^h3}VS3=6$`gY~KSq3?)JM2lda93L$B)zVZ?{{u*K12j`wokTcXlsLW`CVxp)8 z4!5(=%L#J8ufvo8STq}85r)fd8*M3bcY+=7sX$41`y!>=*&%!|$12Palp0*X!aGiZ z!>sS55V#urnEqvm*1-XyPS2@s!)-)|t8N{9x&sy@eD{{>)&edZAXHj7S!J{t!N{Dv z0-~i~{kb_B_*O>xW=NWAnep_LL*hLaOxHyG{5cr=gXoW#E zG~vB91x5)0S`GjRXm7n2-m81gJ^)*%qP5)NRt1M10#mFfcr0JrRh z1DK$5;9!dZ^phSS0|1fH`^ewmpvI8vtRqVbW=Jr~W*vPpt4_{$|8X}1956~uxF?wL z2K#d*U}qYB&lhbmYrypylFf&JLY&$RCwd;%30YoMs(efI2Wr4+A;bkw6F+xf<7&K}U<7Q}#t*jAv7-bP2La)2F& zuNikGT4PQQ03T!tCHo`6)z*w~=7H~UCj*M6W4!ibJwp_~b zmkgTxdU@>0fYwjzXk%>?jD#{Mc}gARLiK2M$HoEJOZMwf&*8pb*@Ix?qSW$$xEK(J z-c;qRb+eAv>uP$eKH1b>iN!H0~_2mutMKfT=3Lo)*I?L`$Y4*a#IxUCjoh*2Y~E*sy0W3JD4-%W@P# zuY)WO8bIag&P6vZx98T~%Gv)^hCt9nZ(|nFeIyA@1F<+HTemwsjGmcl;ZGob3a}!N za!42e${a2MHKbfKt#pc-O+ScP<9Rw8j|jIR>`+3K4hTD&HF4x;qQ0LC-j77z`_98k zR;z$pihUc#@mX}8*WHn|xrmjTkQ{m-i>u^4S!nuo8Z`AJ;|cmmg;{+^ccesbZ=2^; zb?S~nJkJAVaQ>{eH)&y^wfOGYPea~=h`=UiXtpk}T6dyQXuQk1L${6ti&-`#SVWT6 z`<>0h#wOet7lR)})B)q(Y1Wesv#y|9|IRTakP|mjoIuSy=2VIZg)V2#fKY?SrKLG^ zkXO|Mm-k4oTZBU&*n8F?lqgt$#ek*>eu{%t!@qh!RjdSZDGwxGiaq#%n&Y05cy)>I z^(*Cs^0`OUDxuJVU!!tlf@U;&lFA`!?Rf(z-6$)tu8yJdGwXJ?@EWR?5qQSZOvjXu6S#UzUJS#%7=QJ(K+hg?6+$4H!se3 z>yCb5`0(d&!VUomFa6pi;6IhEEe>JB4i_Fl<(d_K+JDLPb?`htQ5QuNW zh@rB0OX=7(%Twe_Jx9{dvX8}LdHS+lSk!ELoAel_a2DM)k(Tni0ldfz#WWSom*QT! z#SGTxh$5|FyDAd`<(f>OEc3x~eMxR`@RYQ&z=3}r+$KE{%Zcb*MzF@9M42B|q_;%3{!Y+{h}f$_t@H%P*}xvj<-fy0RkwZLOf>XzEE zFoNx_1Y=fD-0l&gFPSm7kP^~}$ssUQ|DmPN0oi%X$C5DVT{XC9dOnV5EGLU_0rcJO z{ZrxgAJ{~V64QP=2)#(<#62e2mlZn^X8K->90P0U)9Rx$LpEak^2QAR7B{mstd89o zHcyc)WKg103^4-tO-2zT zaNl?oVAWb-B8qT9tq{=huL15e;UB)a6^i|X8Li=37f6gq;67<0G0cG1a1ID?#01DK za0G0NcJpKmbO{{zLX-~Rt)O5aKoLJ1g9V|P)*z5!!9?KyZxLuy4fA3m&;*1{<5wx5 z4nPLJI_a}yjcX8W&oDB2t9XawG6evP9Ui?SRApzRlqO)+Xoq8OW<3lkutzm9l1tD@bgd>q>B_0gc09mcVs6M z5HhdJ&*q)`Uvox)w$aCQ0D46Y@dfnX#5HO+ejdw$%s@emYB!*dCuc$JggksaErIg! zf6t{@_XPUfL1R8u|#Gb0#2A&GBag%5Cby1Ii>ROhK~x>|i)_Lo&>gynyEtgfDiYvYV-b-*Fc-qYBY*0DEs}LU z{%b52=$d$Fu^lJ|hC8tn#s*0U&==s{&;S&y5Ep^2z*uAyK+4IRUiJX(+)7$KfB?f$ zladJmV|JPj>aHF?4WecM>EQ>uTMCpy0b+=d0#x!4lmbjJ9w-I${Y`So2dJ2k5`b2$ z&IA1bug@#Y0Q=NbA4^3wVPKuik=+2SjYYQZ{s}-w@fkF7Ng70gQrrOy5%VGdotM1= z|HB*_%}`*#h{*wJnoec}0)4hgW}E|p0nm$|C&8WBKo7tmpg9P)iGyXB77#`lS_T9# z42$75A_!nC9deow$&{;$b9K_IRR20UPR6HJHc z1vZDEF9XV|SqcD@P%dJGjro6(3UF01h}4QifB;vVL|A~u3p+l_kX?qss*OeMmW7UBELm_;!k?Di z0cWHThA^N#x`6#DU#;QXlJRsH)Fog$q<~kMBLkLi3I;a( zBLbDaMrJvIsTfc_fw5Z5S|@;I!3ddUvDUW*%z=mq5qtJ;FjWvLF#d5sgyHdK@?YFh zG5RN-3dSl0eFhHDSG9mE%K>InUNEhK1-%15Z6fS*Rp~h(N z4e$&yxUU+*QU~8u1Ol8q4FvKG23}5eP^JRb2%zkri3(22gP9L`rfZ6!?(i@b2w!-( z9)yH9=7+$D0jyDAG{TJaAK<+<$Yr2U0nVS}z{AOYM*l5x}YC64fIVg>v$vUa0aByT!+9g?IU4e5`T$GFVg2BeV`_pU~B?P z2+C`;0-T9N0r3_DhU6L)>M! z9zN1Qn#C6+z$gwpzLP}h0B{003rYsWr06{eY=7yE%!2_yk7qMs(BH=)L>J66o+|LjG_s7@s@W0JqPjHSA|L25M`_~(9-CCO z5NND1@}_44i|sN)r^Jl4J7uVO$q?b86V|%2CSGr6Ly4T0yabl zR|m$3{y+-_5X#;oq)_I`r#8LNd^}L&YG}ZOx)grS%!mLc*!D|c?xMFF{xgJQqVdVv z8GxaMtt$%uKmTC<2m2v%rLar@=ut&{^G) zvp}KCO}av@F7T`@T$h6PWF+4Q{wSyw8&gN#(_Uf2z+(cU0#zPN4=^=#dNAc1Q`xfM zY3RH*u%!wqYaUrT;P-&i;{F}Kve5wvNg73dpqfZMG=TMm z_kOR&uVQI&AfpT(}{Q178N0$!xzp8 z&+EprG2M4h=Wrk2uThLEnYzG@!UH@MXGnR=;?7n#qWSzoHu3Y!_ zpBHEM=`!;0teA#%*rP#!*P{WZ2;jm?gdSTpL+)@C{f4Hnb! zw3*1Kz#GrZ5kt;JR-R&4@Zol25!KM*axvt$ytz28yABdLHgUde@@Z6791DxYTI;d( zaSY(9kpYiQ;G-YNCL$k+NIntyOhg=sNDdK^B_i!aB+H<-6L*@)6N#efI4F|BqBjsC ziRkG$3UH!|K{M2qdPEHRLtU8$f}seTX4Bd3kyzX~ zjBOG%Q7bSaK!WGyL?h`L%{}#C3VXAgWhQq2w$TkO zuLFK&s__8%jl4|bRDee5XB}ErVJ|4r22v=Q*Z@Sk3^~m}lXw%KWW40Zr;m+o z?iuILBs_g!EPn*j$qQyP;5rXu`Q0!#f~jX>*hcx6Z|m-auuU(ZF-+mQ4Uz_`29l=B z{v|Hvul{quZV+056Hp8Rvn2S30VhBba7hHHR#{1n!|H}q;4nAt{Ohv6s zJ%&x!W&i_`f@aJ_Lg)(+ zO6?^=KT)k*9^=S|}{Epg!>wx_Zu49_j zQ=oDJ>H@;EL;{+`UR^wiqC5-`2X$v7Y~-H^WUc}=O)3A!Pa!LrW|q{B$Is>vu_)$hE?;%1;m{bX1grmUL5SqtarS=dp4GcuT!wV@hX6PZ1 znucG`!vpXrABD*QVkNphmtgGU+A3c*hJodP3KJ7&xwAuve#rzh1g_IvZS>xxVjD5j z>^2W2W-TBD9MS~=n$;zA4ERe+SwQEC|3w4|t?=9p5NzNUg6Koe14 zx|`s)mT>{y56Au)NrB>YFqc^biX&j^vvde}AJxTyuYLnm2KElc)IqFlfMj+P{0qE;(CF^A!vzdDe+i)MBrmk)l1FPhV2V%K~0b`v3-e)`b1eR#i zx-2gMb%;bUN*9LF+X>)qvWJk5z(MtREevc-wh}z!wN{2|VpW~uzzNQ^Mh}w((Mqso zF@AHN%^{1CNl0W0TLz^5JfRsNOn7k?1BuJ2Fp4pN@iLEDP?++BYHVc2BMpPVdYa1s zQmjZuo?$(!faQ}f0*#>TSwksM0Nb-G20#&C+#M&GVfB#i1H=hsO1lk>bX2+^1pWGSw$7+Oq^TU(Wr}$KJsm-L9FQVzO(&v7sp#15O zrPq@v1H4j4YHrx03myl}l76&h-4hRNUv;t<>>d_`el3lF0A6#_8Ns~8$u+xVoamkI zwaOz(q_EmAEoNUPrFkXjGkV`whqZ5X#W&~PB^0=Z8YXfrw#1`C2Sin6FYV&%R9&`5 zDroNK5_i1Q6+AW=;<IwdI^Wf}XgyCbCXSHNDr?fflltL7w21MGE-2T%qyTH|{ zar%b9y{LD!d^?J9eNH#D+i|P3$CgibR5p-w@PaDzs`%z?#*rJ(h&N*g^!ui8Uw)jz zWeNXMU-G^6)y1NsLHieNb~P=8urZ{0BQL>aqLA3q)fBP2RhE@2%!`m9!f!NvC%bdwc}C4)&~L z&bvsnF}ba#^CH!!NQ7`Q*(4eFJ|iZsfx}Yz+5W=aGnG3#%u;WgpzaUqgN|=Z4e!BVwQ8+Im*z0r${BCg8>!4MBvu6<;o*=0kIlHcthlZuIl+) zS7yyP9_~YYA09HU$JulnEv^?AIurEHM-**2spBbJ<9apNp0TjD?}!~HdzR6BX*sxo(@Ur~->@ z6HEL=9(%r6(_CS|xK^`}q7Da1oP1Uw9@eQT%Xypir7u6?S!<>3iR9R*9}!0sc5Dhi zSEg)zQ+4O(s}o~ULCTW%m9}TolD=aWmgmBr4EjakWPFC+Uvo-4cV$PWFER9NLM^Oa zxOL^b>!&ULd;{FNYDB^ng)mN`_&4L4CitO*kuBKDqE-)3J@PF}uANTb0g*l`0Q^@Z9^?h5b68@KCytF^Imjwsg6xC=G=> zinP>5FSLk2rR|E+jzS{*Un%A7WQ6sV^PLebYRcmIqZ`8` z@S>7s&b}IlWRhkq7t8M?^61r)sLR~!x#;(3{dTLtSAI8{PorW6Ppz)+`}35T6tp$5 z%!;1gfLOgTbNItADA@ehkI5p&t`AdTe#RO-I}*akIDl;)AJ`SJHd*4NVD?>eSGGB| zFhl8Hik-K{0D?>;**~BzKYonH4m@O5RpjQUzm92=^F29Szhp(H6&}I4e9bAG%>5K{ ze<@}fYy@rXBj8#vZEp-`Q~1C@@JTOU_KEx=te)hoVSm8;H;Xh5%jLtlBARF7OktyIHSwus(!cqxbObo zMi)S=aadJDU*G;m;_shEBhhClZOsS9K2J*jKI+)s9v0@6_h@2jpgfQIz;W9Q9CUkr zTUi9h)G*ag!t?>ZpY3P7R#~B+pPmgt|Qr7ko2hI}go5O-_0pG30`gC(^SOBuhcBlg%0; zPsE`sihF(Ox*_WIBvdQI54Ih^Yf{-FE;XF-oII1#`a&5o5!o3}L_f$_3!9B@J9pXR zT4g>i>W*DogDPet2~`V0-1ck|}Mo9g9wuJM^hh+eXT9+{*X8CNNKz3Dc^VMy`@2AQ@rg2*9*?Nd$xL68|rv@7;ZxM zbd@Tu-=F<4LqKoy>Q6qnp?*UyeN%* z6{mAIq%>46;k>%Sm3fh$)s6Sv&VZ4DL}f2`sjxkQPU;aj+*!%`D+If2G* zN_d36?sA({&RbG%Q#THoy<1uPp`E*};S{G+0hS>aAffpu`lZtG)8`sjKGoTt-*!o( z_|o3?S*1kRaorI2>aRMAJIYUp-LVo?31f?Rq#jTkMW(!T^5O~)SKZTSFx`%ceK6U3 zI_B!+U-ygG-;Qn~W|T>Ddjn>{luoto=hfUrzpRyOAa(vctz>;)=oM zh=ql|a4Ub}!(dWm&THB6Pr)aScX?&s7@TaG-MTf>c6Vk0Gsz&{j@Rz)eRu`?rS9w> z2j@da1^G{iCHGZu``xvnSLPqO{xt6LMB3>axa^ut^Yl0oi;!MFnRx5ZGA`l$Sjvf zMrsA$Da4KmHG*7VKw7oXe1{oRiXdZ)AWa(r+${t z`qNHr7IG=y-Sxbk_C(X=3~kU6?ex7;S;JFM^QWI8wi-FiLz^7@d&iu>sVm;CTQRjc zmS-KWPI_uSjXr{}XiIOiow6z&aTAn*!rRHUZ_2;E@qEpAgKfKRq;9murzjszQ45Z9 z-RJUm!ZYJco7)QmjBrqT!I4l*&v(3R?6Vz`yzXxG;|*c`6zW5Yd_m@oj3SyVJhF__ zrT{a|Ch-BI_h$BJXw^k5W7J41Ia^j>l+VFtsJw4ld{%yjt1>IUj)&Fo_$XePH z+01Se2~&R88hU>3ihegTl7DiMf54-U)%SSMFPq-lt-&W3j*O`n4fCwB+*#p_9)E}M zMN*Yf!+vLBEIuXWE;reJ=n(r(9rCQg#=>jxTXpL#RrR|;@bCJIv}3Wd()$jl@a^^6 zE1Cow)4$Gd=?~4>#vdR)Y1EuZfAKCo#^)oxrdE|!QKh`8dhpClByM1>O&1Rbu!o)}Y zY(EyNVytjKhH^HDPHu2kaa8*ITFt#3ovz{%`Ix-+V7g4_CR1U1yiOnEN=Qh?t`2YQ zm|y8Uy0Pu{v&+>~k=+l19rgx*{LB*uI#~o<3VWt$TgLo}pFc@!<2HGewywj>cTuC2 zH(Un>_|+-*oloY!wl!)ySldeTzAeNZp{jB)9p|~xP26|xDzdup_c70{Q@XDMA-75V znJ#r1j!ww^qaM(vgVDKA1Ivm+S|r3LD!J)q|YpL2`C5dcdn?$B68*Y@i|6QY;qqOFwt&PuAP74P6#chV>n_%_Q9r~1bT zp^cPMi&7ajKP73`lX0ZYvNH%@l+ZH5@m=Y&Y2ePN@QaTmK5U0;lJ&|z_)kj)QL>u_ zH58u<2Qi~<2a=+*_t!k#HY;yr5YgZrCxlRAMG&0dr8W4Fh|l>jF2^N*YI}it<}iEU zoicQ1yBtO0;mh(5rTk=>O&-dN&%S=0tPZ3~@21M@y*6HyL&g#`k%#@QobJ2oUO<&a zpARu}Um^ZiO33(Y7r*`4j{D*PeWg}>vY+=5N{hNA@Cf5bcKG&ao|Ak`IlP&#R0c8Y z+)#6Dfb|`B^4qM#Ra&FZOuJdz?%94Z8eTDQt21Si)p)RgQhOhU^8H+!Kd4N&wkzo# zNB1F-1j?*qGXDl4{=yQ@u?d;No4#f78Mr;#e`4?AzSB!V>z@Wa1Re{wlCMAEzMiSO zs645o&uh193l9+%v^0E zzOw&d^KJRucfTn7`i%`8zrX(K(U!C2{N{NQ9j@f62^;5X{ORX+drvv5j`9%v6?A>` z*4=j=_)=UWSI=wdbu{EmqZo=v$v1OX9NzNzWcsOVkmqQb!krrsHPhNeD(I1X6Dr=~ zKGHriKf*Cs!!44yk1SS_p?59n0)oHYAR9xx_DIOrLFB);msg)8>P86?9Pi@&&E3#& za@Z3nJn?&heC4ZF0k!74y)AC{T1p*@=lcjfqbvFGFD&WHboa@!4gZd!w1>xx02bgjMj`i1cv(pp^!vqEWUk z8+QB9ZRM~kAzA-QL*#wa67iY^SII#E81-QlZ@5UQf9QWD3d;0@bMxwP<3zORxxAvyI zCO3-oyma>AEp(O{c=6idveW&8viBkn$}2KDW7DGQsjhXV*QN_24yoKEz8iS;G1IsG zfy~YBg3CYlIFC>fh28%CrAPboDwJ%`Ci4D_xT(k*$ayay;CWK(psUwSq2%EM!>ISA zGphyeb5ib8{BKVDkji*?!WbX^z23?0NC%iRtgqSS~^}U+QiJ&qw#Uoj04k+;uZFjs<65lvplrg1dc8 z8D|&Y1>F3m4ljP|%YAh*t|?+>r~Ic2X`1&Y?nTSW%QR35w}rsDh0fdWOxlIKRdbfM z8L+nGTdV!g#Z_{ZxzMuqeEA}4Qu$0=?-2>n(g2yPbSV!R>q0j9 z?cZ{RxV5S2|QsUKEm*r&sj6i?acABh~B5E1^s>zu^BdJ zZ?l>gat383HoTclW=~p6LfA_srut58sFr< zHt$7U4uu^NKeniGxFkD~dv^ESDZO($is;j30(GAZjS{aAGu|?kxxR1;b9LP_t=G=U z;e@tDmw%qHx+NNwuv>)5C3>g6z3Aij-7&LL99+2T9G+Y6ev#jrxe>E}j~qq)-7mq^ zg7>##O>Z4|Cb6^PhrnwUPlx!oQpyk_V$M%9EzG>lckN(ys{D!%rLW82GHFaBVU+v7 zNRHgK`>x%{mudVw-F5H!-9=WX$63pMMkImd24p&`t5-IuIUbJ&-N9D+*Ha?~x!aRL|@w|Rv zmh((8-mlnox~`DYkzpg>RQ%sW(4Oj=`91D-cMtI-#LX&62E@PPiu zv4KaXr8%$Gmt)J$$L+Ya@cMzR@h(P^o`JGvta$;hBGDzUT>sHV&5yS5b)}wb>qat? zLHC^}wo4-WO8Y(+XJMVmP07GAZeOmCpB~O`&$;WY>+Lb-NEbBv%qr|Qnwn8gEin1g zWAbn#{O*r0J0e3Bc^{{Zr!r+8B&vVd_39TR)kWJ_=C{bcCx^5?M>ZJn`klWmdJZP{ zyROS{q~B32#pHt9^k$&`8l71ByVh2Rr1jeK9JT(OWy(rFm2qtl)ji}yze}?gM>xc6 zdDD=st@Bi(r=IlT`KU4bp2<#hCdo?|=I?)2xK>U1X*Qbrv~6c3>bd)jzjXUh$h)h? zNsb9`9Q!;9E{|n}(PmOgW?XuFVTUwbto0s^RNq=SVL+UgFw& z`c|47hq!7(cA<}R{_R6U-+3Nshdzqx^%&Zk#@KK(WejNwHlsZ9FsmtSI!Y5D-q9doR*V+BvSO5+`{4fbjUT6vt+*GYUMMB%c;g|*wTyf z6%Bra!ZQ0GwOj4VywiC*N2DIq>01ne4BiHw>mS?9d8^) z+EQPf6_PWtTC3cM5iC9Sq|dJu%NPOmqN63l^|PYb1%EQ+3eWk?fZC{Jz414SSorS!I5++|TyGgIk?mqtBo5wC|QJfLvTF5@_*>mBI_B@{ExBu7zf zJ6_j1p-!#apAQBno%TLC@PGrlosj8T^Q3IE+C}p9mE~UV`Mdgt3QHeGoMLyK^UQOv zzn8nmgsg20bC{fXF>HJdqt*|LpYCGvy5v54$43a?J|Fvr51W-McD&rp5_Q*@-ajM3 zb=7rF+rV;}r$AwV^GucP!LZlQ6y>(hSljJ9;+}=C5Gd1Q2OJFEE_Ge^&{%750c^$ci?(%n^ilUmZ( z{XebB+DF`;(o4jTuUnkeFggjdqwY!PR|Tn$Qlo?T6Qxp2u}~es3(Mc{@uPB0?M*Z) z)I#0q-Nb6KyL-mCtbPd*n|}Ji#B+<=uRPmpuGhk|669oqRP&?pk1wx;^=Xh+E8E&U zZ6*(p0*g3vjxYu>yZz5)65k&vUXpdW&~Rvn&dcU~PY)KQ9CrwrJJxXEMBPcd^QXiO zqNQ#f>lF34nWK2#%l4=K_xdG|)Yo-xrupyL?lo7(#+N94mqG^K>!Ce=C9TXNJ|&9B z?K}}j^G`2iJkI-gR8hpmLvE)Wx1Ua6QSshq4b@`47cUf6hrU-C@pJEH<;2YCc}7=H zD#+(#exG4~p4!eUhvbmds_>hDYczi`r@kw)I)X(hyZ?H45xRe6CRt6()#KD|$GRU6 zczp5K3dh)gN^C~jl;XJ!qS8z z-Z9rfS;tdchman2+F(3JxqXhbB9gC@nMYxrj>@J(eA~3#&&1&3l@3!`mGt{trVbyv zz!=IV7j!Kjyka)tsa)>Dl!Fo!FAhDf-1F-9_Mz6Ucq6r?VcA@#^TIRRDl^{4AJRy*LvYl4|MVEo_~QqGIoiIWeuwW>j?nF$7vJA_3LW{* z&s2)?Ny-pphnf~NvnSc55|g$z*mmp7SLMe{xK-1!i;PpvO(XV`f}AV+1{`ODcU%x7 zH|JiKD5_qSSl5~C97(2j{a2c&MSOT;l*38xo+u;t+~^B|ERGm+{s&t!-L6+r_N9d+ zlSLi;o(_Gi4U)dQkg27SJ{PyFHn3!QgZ-Fi*gvT#QK;a{Gx?Ld;NZ&r(}oHk7#tKK zdYyO9dE?}8%9!2jGY2j1^PeN{luX}+J9@;WKK#79c3SS0QQtQw^jmTwK4YyTd!Csj z+QglzJ_oz?cS@A){pLBJeczrbUekB4yeL8a1$BNhpj^A@!j2&eBB5+aB>ILRZRPFJ z;=$jh5`6U|Ywy2r+b4M9OtL5{vgMw_SBa#m`f8$&q~PBb61_8L*Im^m zto`icwp>+sJ4>M5aBqW0>9MTBfLOVDm9)b{vd)HQ`o2TFi%ABvxv959rQlUfcK7Z2 z;JW+P-Hw5R@0>=GlL`o`;rT5j%Vn9L>T0|rg!^|-rBOX%a%`r`^7-h-W6imG7uVP& zJpY;Oz%4?&4l(A+n#V|$-FFtdSJnjc8(t-#HWB??C~J&F?w#7MXP%D(9j@~m36-{)ev9$;f4$2wmg zGlJso6+##$uCj9X2QPlJU7DjQ^E`}y13 zj_}X9>5E-g$+k|;#ZBPTT92fEY%nw8=$OqN705Q~;BSPs219EH+yeNF!>G>d(HOVQ z2uJtWe(SW68)%Im@@AKj9JW1tGv>oySio<-`Uc~Q|<5d+X`ETB_a;J*Q}^7 z$=nP{@w924=9{p0s`ChZ~$qUUhOFCLm8TTiS!oH@-HuJFB*G<|&=A*pjf7_WbC7ghaeHPStfS zyY_M+D^d0Rba(M{UuJ~%!M54r1^@d^$4_ne=eF)R<`xE!#bSH*N$m@g^rvE|$uF5{ zw&)Abu-h&7&Q^TBwWvSKfFb^GiT*Qz9^0<3nr!88R{c!bRsUZCb29mt&ukuV>kj## zSLf^M?t4sSd6b`%+^xG{Pmy(Gw66K^Y%zBWvC z$1j0fq;ufm+)&H@W0L3^f^s zcA3JlT$?VKv-YcnR{d`-<0C$|RW6CYRo~T6pxJi+VoE>lh&GywCSQ5!?9yzFM!fjA(p{d| z$NAgJ`nb*Bs}B@ieQ4!R>yf~%^R>}cv{L!i%q@q7Jz}mMHIDn7#QuKoNMO6%`i3fg zvIlt-dT?rA#N7x(C83Uh`R<+kmp)%hojhC;_PwN0eTypQxnXPWCw7S-nHU^|*YT{0 z=Ja!9^1MsUmPLx5(EH7x!z@DH}J~Daqi_dao`@4OR5znEu$jB z)oit4#Y=VX36)>I2Vu*nQF|sIE|4%ToyRuq5M$rBqbn0()Lj8rMVk+eLswvo%H8rPDUBH zN!d(Cdt^EFPN=LNh_uj|J9E9Hb|Y=2@1eYn8>=zxz8f-hWA_92L=F4Uj;(jPr@IVR z+}|=w&WxB8W`r%Nka=+ZuOS=fDP5V2PnByi6 z??cB<<>s#*>mP`iFstUntL+~VgB#tPf1%TH+S@peeR4j~5LdOFK#?FoZinaJpBj0f z-up&9_!JbL)|1&BBzU;Jc_F}LpLLW|wb46OC``ck@VQRot=bo<97IRa$xic~V`neu zw;Y+=uj9tAUq^7`G=Y@>Uc0>0`bc`WyW@+K`Kcmtg2I9HTdhW0cZ)M#( zz5{Ld6s*k~Zfw#ljtf&`)O>b_;f}hze)-}>m;nCk`J__CtpuU1{Hh`W6RQKHTbBC? z;hrt@38n=BZMxV;y5-c;5mkcF+Yj5c_$ZfIa%elEd*(ZW)2ObF`=nG>YId4Dc`+e* z1?{=h`%Y@~9rs0%WHpdgAsN%=Y%%=y_1Zm~a|VP@ZlT;)k80j^=&2+7ypR>>bXGO* zeK%ok(GLhE$ZG=of9%kA?CZzz%zZi9*cyA~WZQkECWS}0C&LxTCc>N4MfTV2s*s5J zq3v%_m;5$+i;-^7G1C{PUptxKlHhWZaBp?~XcnKE*XG3hoit#vjOW-ohsrdNtR3K+ zF9?mE$yL)UYae#$3vs|28fnG{I%33S-}@dfz&mcKOpxQS7_+x^;_Ta(zrk_1Kuxfl9b0(=>RpmH$^WTgT*?CVrVs}wSYE{kJsPWbGv6HTwa8j~v30jGf^7!UcfqN@=kiD;s%Q?`=``dwzmN@&r zla<%)VlJilZZ6;H))#nlO(&fpQ75U#J^9mI>L&`VloT zI5s$@pXy2j1$08VAw4~1iK`-hgTNblLzB4Zt^3nsGor5yWP6Nu9f#{yXf{?ip>R^% zuhp`NA#;JkF(C%|lwI!8ZyKzEAfl=#b?*{;fPZyEP_=OT@d^BAzO#Mn!?=Rt5)lId zk8q+!jtO(y_~Xo0=ZDhuJ`GE zHPHMp>B{g@-e;^2B|RjR6+5Fh=ur5;;&2mEtWzWFdY0a(;P#}wrrIRx>2;tdE*sJ63 zZw^?R#92GsiqPMFIk&JhXR~Qq>rRK~Qtm~F)9iQm<&zGMj>h*Hb97xqe}A8Z;dyk6 za6f)r>wxqT`zt@U8{5C-_<7v(n+;G!`qz8=e0Xd7dY^z-uRkArSVE!;G_PskmqI5=vCzUytre^LpZ9N! zdr(#>Vg#1Caq{%nz_%M_&XU&GRP3+0#EDwhpaquIAMak&Oe|N)t!bik#Ea=}Jznvv zQF|;*y~n0#!o7f+_j5G%T%GtxO`+3$pNFX{bGY>FoqN7lYESb;$eDRI-eKgvuwWJl zRP0u`*wnPk|N29p3yS?NvnFF8;UHf@szE!Kt?PZ?puYlNeSx#(q~0G7m+(_JBJF4< ztpc2X?yU|5XlK{!sjd{bq*0i}L+5pTg%}DfwWCRr?KG)skvpj{q9()0;UU?@y zvRPG%!UVe50HrzL@8jLKw*-Fg^!(7D++dg1)ro?pC|*sw^4@jV-$BAOl~ufen14HV z0$W`urST8a=u``Zf$bvIrn6NyM5=~HDjF5>O-Ov!MBC5WcldF`D!ECOR_;d^=wYFo z5fkIF=2pt_Z)ICm%ylY@mcBHe@j~N{(#SWrv=Qyiliv5&WdsJANk3q!xz2VbDT!V! z5H!*`5X+YpMTq%UM#}Kg z=QREDT)#^1AY83D7fAkb*6hvFV2{w`7Tbtllj~}4{p#e^D^EX~mkZZiuf{LkW73AR za2}sy#Q%OB*kT^sqrU(4@kYJ5WbP@2A;+eRZ>v4r4m0D~lFIQdPmY%uZCws6N)tVM zRvflB6A9tH{@SVZZ;$t+_6Ay(zXPo3M~I&%d2|LNpWZK9{=3Wkly|t` zqU-roE*H^PZAsQfG<$B5{z!IXVONtt|dI+84>|=|3*zcky_h93<+kfB0(@p;J3ekP$#JEf( zNb#S>Z$eN%SKwQ+TEa89{Y`?FB~r2YEKzjG@u^7WZNH-f2Dj?_g{AGzh!RU8T{V?G z<=0e1g!e?qWO!EgVeKEYO;cjGyYp^qUU^JBfj_Uq=hWdp z?CbsE(EKH8QJebZ(HiB9%~Sb{3VPGk75%U2BaOd^>_?pLrZta0W_~iZ&W)i&e!SuK zPOwBizJ8;?>ex%glG7K+&mMM6pS*tJ&+jicad7%Zw21D+uewD-@T;qSRfe%pvO;s|>Bk;~7@=*ZLRPyo;<6pcF}Sch}{R(&tJY-{Z)9 z1c6y!qd!T`V!Xq_$&qG9{S8BiiP9O=Prr%-|8iU1$QCY$2LX$hxhgh#$v84V5G;C!9^Q?6xKc0gaUfpnR)6$?INQ)Q z_M5Eo*o>Eq@#a5uN|%0#gzRE%-+qhzBy{gl;s%n^*ASLC#r319p&EXcnr{OPv)$km}@6FhY|=oFaDak9K7?(?13ItW!c@Ug&P^BLK^ zNITyr->P?PQIysGA$TC~U6+Vq=l0Lt7o?U2?(F{2tg!Wxf_`h=VfxSUqw?-vi+zgB z=g0ipb+jvv{y1w%fx_z(MbnNRV7+*hiX@*toPU^~Q+}h`{FIW!myrAS_78hXJ=w3` zVkt9jYrV3t%d1OxPF1Pq16zNMMSa|S^!eFD(TM{a{BD2gdKv=M<71ytA?941 zb&oH6p;*g|=r|)5B-?-6O5``NoctKgFxwntclyl13oO4F5%T(Q7N&z5HrKZp2 zPMIxGNaNUDu(=eo(JKc!xEyK4qK%J`M?5N{YfrI1tZT40_wydb1JLavShcm_HgY(S z$#;wi@K1iV&uS`B=>bbv;Ap;+m((tE6JDMeoz=+%geIs`yD@OfFrjaGC7qCP{<9hIW- z{1N^>#}oDMv>JAj^D-{17|6(7WskH>36@Q%vzk*Glc@|R3i}a-P5aE4e8J#M-+rHY zj%$~K6k@1rbLnwmZ~I)*R`@{7iu~=WX7}9V`Gf-n?QWB1a{A_9;e|x}Mk|ghC~1m6 ziB_MX6xZT$y&k(0V&NaH;x%$!+bPxBzvME0T_PmN{K(lD(`zjKvtm`WfYZuUUN52F zaMUF6$uPuD`kp&to+H1*Y%jOiYOC1z?FSflZb1}$GNvWK;=v2w<(o4+jmi7sCxrF6 z{x1@YFw*WMb)_;J*4GNx9>Ph;$UQ0A zQ)p|TGIAoK)YBfCDqSQ`OI;e*xUL(|_2!TQMttwhJfcH|uKM{FHtu_3~M_naeWddDe|Y*cXJpyCzQ%s*9m#BZ1l)tD^FTrB?|D`H0l9>vvk%#MVocA=pD|&GY*u9m}aew2!|4)SDm?7&B1Pc4PH?rdIhuzgiDhb=ejqdNR z`lQ+QcXy#;54){jU19S}$(pcPesKBirh@j6N_y*4%y??(X#Ea@<%ivtmxOcDU2@^N zdT@aRLbu+hhp>;UY8G~D9d_}KPz2B*usx7l(Byjv{Ts!pHLEJlvVHPxwoFD*BCnx3 zm13E?w<7-xEpIjIK)Nq?*|bQUOk(p&o1(8%Nj~%7Qii&@uhEG+xC#iV?ceu(Yt;$- zv|)PIBpIbc%281oehR%AhYID%hN}LdCZol?E<7-4|6ju|E=Ayg-!Hd@sx1aS_bJ1{ zjmvna^(2=yy$#=3>b-gI^}Mm#@*pFrH!cUb_s5i)&bHgEica!2{idBexnk=+UD>*o zPkBhsy#+;CxyvsFS~W{E%^W3vw%a|o8~(YwN_)Edq0Jx*ZOPQX?wSBuW`bjf4P?wE zane6l-NtUWo3MG=!6k0th40E5kA>Im@an$&scO)U(yZv*YyGOb9w%cMGXH@!}E!>)Cp19iLr2$#<&Bj?3@(MH{d123$ z7tv(KmmRy43y)J3ngpU(_d)2HJCz5f!b$a~-Bk;S0MpA4!7p7c+GH)Y$576h?T~Lh zqcosX@p+G4g5f(l+e~W**h6P^dfvsY|NWqCkVZeBhpt=lfp2^!9|$X15&X^9I9~#; zZoA~$nBm5-L#1TLoc8%lj#SlL>$|H=ugPDdKwc7KJ8NaMUi)KDy!^M5wU9kGZR$&u z6VOq%g4`kHMUV9-XIPpK%K;EDY_Z|slxG_M9p8AxqsC$E?IEFYo^^@p>AlY`w;*9Z zWNd!PL2*x%cuszK<1~qNJ*l^|_f5&V9DJ&)H|t+_`YOkdlaY6rZTx%(A#0W&ir%>%dJ70zW>LSfZ+U-_-D8z15bkg=9KFetb`LzW zQNfigGBOFKYlBm!{Ny>A_f`iia-BKhyH14k9WuM;W3}S_^)6$Tp>5mj4*%Zn2sTakE1GrHS-n)j2#DaK=)FB?B|`Z&nWFWn&?PVp zFX$PSYwoiiL@(LlUAM;T7;g&^wiP{m3NkDSRAn1 zTI(qYqbwG`)1a22chzuhtIp*wH(JiM87C4N)(y!Ppe^g=!$)!{M#XPj-M_dmvx#76 z_x0=HwO-4XWv}N3JU#p6PwN{#?UURkmnQzaW{CHhmHGK8EV&)rEkOfkNX1=UT9toU zK}QS&4{GD<$d4C+o3-z~3sv*Kuh{aUPaV_z&c2gk1AP^iRBZ11bmXI~vyyJ|^5VM} z*9`cR^3p`|s^A9OG@>`h;>)cC=cqedF19gZ7>_kqKF0YGty*udw1<3Y`G{yrQM~We z7cD{>H^hGmpvyDiLLi)PnrN(KE`9jx~k1K%rSqVZoR8vqXUEwK+})^Czqe``hX zyhy=5BaQcO2j#XUb2u6Mr>9D{TJ9ah;$4;<+;{SBKw9@lDnYtOSu>vpB6A@A|>81mELdAACzLWPHddY)izQ8qRxzH z`nHh%ZS@xu+mb@nbKUc@}Q&gC_G(6m_ zBreum{GMNREdCLE&M1CcbU1$h_|+G`R>)9){2)ve=PKSroHD7Izs=UnLxaA{e6|x? z+z4mi28vrDUlymI`RwHFI^x)s=6}YcTVzq?!ae$Bz+3zC@$e_p2ebUPNa}1|eIYOD z+`Ay_)GPPlH=qS~J#{6T(l<}hx*bZVX{mZ$Jj*5>}* z_->_T5|Ir77tU^I^`;q)agx`xKk)Qe%!!D&eEQdPBC|R}iDj(O=OOJPCQ+@Vaq6;O z#MJ>eZtPVz@+IhIN0LV3-vu|ik}qKtNA_0_?J82(#X@76I`4NG{r!5=?NG`Cb3OkX zwI`cZmU`AaGZ(#WR`V>ZkqOsd9L(wp`RFsX5PmpdjPM*ef8T>W_~p{j<|?&s!{6y+ zBIlQ?(2UId2F018r>le|GA9d8T1SkUPdL{sh7(aoA2cD@cJcf8INt*DxwDC_@aIxCQXzeA6(bXnOC1UVXiZA zoH}#e?pchb*UqBPmdCm9Kq&R{p%rZ!89r$5g4BACvdY^~L85oM~8AIr$Zm8wgJ6$aenZJ>Wg*B-Kbs ze&jQh&QoHe#ia?JAQMf630Bz3xt5q;C;4F~jcPf{Q8T~vS`Af0+793G2FeDz3X#2R z3@cw&+FaSC_Nbv^mK7hbZ#Nkw-9DW^V6LpoVYvsCZnYm&X;Efu`z4=gyG!Bef2wQC zPE{){y^0mlhK7>h&?Yi^jw>(@OQ(OX^-=^jMx?85S5>Ye7LiYkErOZ<9cfcq_B;-g z9M@8&9j)?}j`}=B5_(Y->PTOrOM?*V@vGG1{T7MIMNi_gP~Y8RR?j)Jr28sC*ZhIz zKN^DX{WhF~MCYla5svnU$W47}<~*VRY>#5Kw^yZjiU~n}YOVsj-%eZ@X7&kqlC9EO zF$6;H(IUOrbr>d%^_``gK2%-bUaZOP*;ah@X?%}baOAX2%d@3PJgR0)F>bu#b_+vp zln70}OA8!BjiIB~hgwz;-LO`*Y}q_W*Zm6fGw0sxH<7s{i^48{e~)9?nXyLq^#8tN zCX41=?pcNEO5U<>SKZ@pMGxHXk9ES}qmJFa$dL1knJ%7#-0IYPK^1aY&0_(`h%yN(aGO>R5Pc0b2?SK9xU!dat3SF6gP{$rP^rUH0?ew)} zv#7(c-T5x91N&@}iuEpjJ6ieaeB}%TA-Ikn9Ic!FQzTA;AdI~)AfJkN* zbs>sYE%VcG>S``?heQu0w(jPFy-9BWV)#2| z=L)~44HSFQyIP1|Zb5S5YPXQezN~9t02UUDt}eG<;Lk-D5Kv8q&h?UsX| z+Mi$2-ahyDS9|+r|Ia5=GvhL6zcdA^=s)y0F=TTka)cxlQA)jBlR zbK2SazR+3|f2@g;@UwQ_XAQgySC9U>e`>>3q2fDt3$YI`&zZg6S0KJ6#foQ0)_*jV zzT?n|CH0dJ?HQ!LFp3Gj1%CJ}7j62-CMubU_xFUKStHld)eA^#_H0H zFTeb5Q;a}-^!-O|v%KFW-pQX6!bJy7HhTU@e)L1P>T<2j;`a+5sJT|Vqy`Ql7iDWv z*{DB9r#fR=PDyThx)f7_eRyOX04 z0}Og;!wH*%XXntf<$0=X5g2D^>4dT>Wt#P?4=wY4dwaqXNZ`1U>1g*!mj3wfkC`+{ zIW;N8Jqyh#^z2h81zYX^G{Qc)Cq{(T#Hx%lXUtC}`FyCil@_*)f3;4Qk3)aD`%HyS z?PFnV;bNeAgwpC(6-JbRW88;^Yuw#;w)^rjx`i>Bw}Yt~Pp&^d+J1sHaM$Uc&zqB`Ujv*qRW=73IE&??=ST+wZ*^C`SHC;&Cy{umujhR8WFRWX z3)pA(wq1$0%yv+EQE;ZhE6$6P-%8<|Z7GCK=|HvF=}iVR?vQ3l!P$PZFY!xnrSj8` z)zG)myhd6KQ1$i$0hu~nuEmlT9QqJw{pgJ4c0~XYqjjQ&oOf&Zer|p8xsxR zC;ck#Z@c?5viI(!3#BI$?JJcuA9_4E6jAR4;I=x)^##GjLq`wU{2uFdtM0MOVOHE@ zgmSie&g>ORY3uzNi`OGhe>?KPOq@vfTcPV%G|Zd7r|U4E3kuZlQkz} zS7aXB6`Qn^6nn~b>wW#D_ls7L9_gc#r3Dwsq-9gZE|zW2k{+5T)hUokzu!#D-@KP#@pwjr)ajLqY0Ez+&3Iz{9 z|IP`N4!`M`6Z&R$C?JU(z^(_jeE^i5rUM-)GXY;~xSk9g;^9uZC6&RU%@y;lkIXfZ zEhmAp>p#aIdZ!WsBygi9C~fl+oz8ElPQp`Q>(r8kYVtKSpwy-4i_I0{D32MI`3qTq z3V=kRVE&tkJ`-k+#mtQT`)U_>fjR$gAb*(qGjS`3%bZU`9bk1mAOJl_Wyd8UoMZ&r zD8wC2p!h;mjxkvP?%Mnh3?SRc67ykX5P-dcArd+#-2rqKnTcS$Kq64>IZ&jUcLGz} z3)B%Y2QVn0H!L;A6gvdh(x=CB;clkD40GrL%1uBQ6+o6cph8dnNt}k4W4yE>jldc3 zzp%vz!N2D*N*43kH?qT7>@?h}sCp6j46!&|H~2}G=-<%Q%e)vs+ZIF+iXekAhb$vM zgGY4v#=}GZoIp$f$SUy77SSs9p}`UA;AZz4A~%x3CahhI?!M%V#?dvzDyyiH>q)CjAXUY>(@sE2)GiMRdoY9ZX z>+zQpcfQhr$qEMuKTaja6+3oZj>GBBCEX*20znXddk;PR2$RI-+~yK_!(?-f<{4!3 z{6f5FM>Y~GCsE@AcSrU4@tTt4(a-ik%J+Q6uHICT}}BH;yAa(fqvnjmb_?J=Z_U=kfspb|k1SXVy(GSx^b+zjlDgX!pvT^%6;rCg0le zoDw_MDRE2UQ-5h5*NoBYhKd1sr|Wj~oLU7Tp?^pG27l5bu3u#+=40l{d*;D~ZFH*J zKF5bo@+1c~W3+xZuE9Hrb#u#ycn?pTJNIN&S-6D|Pp0#vfA!wM*W57wU@oreIl7tH zYE()B40GKnhKhk8Bv50l>r>Yp~lk+ik=@VXBP@O0lpFO@IRj#CPfMOCRTb!TE2 z3u6U$&fjz(kb%!Vqa4n++X_PJ`X^f#I5YGL@3`M}P_X`JT3%QI~kq@Z?U-C2kl}ZRNlsJvIzLJqtz4@q={sDrP8wCp*RC$TysxU5Ybqr)lQ~EH=4?~sQ*a%S zC;X+<3)qStbeJ(2pW<();${;MmquEm#i5Wol zuqsKY<-Aq_2Rg00_oS!CKP(ZpF-DQG`YuC$2(Tyzi%!PGES%TNm-J{d)2XKIN( zpaMs|NkjyKF(jY>sA{cXf|dvWyF(!OBnXCKjjbye(y&&zHX0|SF-I7PdYWOO6Q3## zH?qEBI1o*TL6;UxIG}CxWfc_yre;1-w0?$z33pdVYyPDG33NGBq;|Rb-vx@3S*^mN zwz>;rKD)*9GBw|vBQ!Ue@Fx)03xw&7m#~1$1tNi)Ho=--&I)60_ESbaix%7saC3Yp zGm(m$3PbkXrLybk$y;uo@>gbceVIiXw-RfK8CoM*IE3WrUk<34$ONi-=E2X8#um>E zKw%L63UNLt?_Q^z{ zL0i|X>OVWzME7Le6siS95M_vE6!V9SMCz}8eF%N0@@c)Nh z7Z(1_Irrw2d69cmgSv^zxmdq7feL$6cZQeOTX*Q+-`bF)xq;9BuZN(ASP&t5 zVbiN}G5senMW~%^mn>S(xZq8fcS==ho+ZnCUVyk;(gkgm=m?`yb#Hu?u(0(n3Yyoa$HC#Qfkw2 zsWr)j)N6Ln_fzkyT*AEMjAz2|y@yV&T0!gtV#fDCyrJ zn8+Ptwve%GNR4Q)p%2#63v-(n-`FbB>3(gY$GUKf1^WrdkMz?mvF@M?gh3E=_HsR^ zW|u&kc=9g`d;p28KZ5mob+J>748NLTwz`PQ?Hx%%8qnF37fjRG)QRFDD*hIUwb>V# zkf|OI%fH^C|z4H8RUObOl4ti0tX1tJ&&GWNj&)!m z5!U~nR68sjqi7aC#N$aH8EymT>qI0hBP$h;hhr@q+UNhhi?9+Q;X;u$W8?Kwk9=5u zh^MB13#y<;{>Gny0Fxa`tWzGSzZwXBm$VVFD|(hBkeJZ6x`~ciB=}{S$4Gp-oCKGn z;(6f=!RV3%vcy_wh~|~~;Ka-OtcE9rVe^iiMX6N0A4%6lDP2_WkL%RJzKbS%dBw=S z^d96W2niP%8`nd6Deq`%;RRzXT9g-$gcm@|S_g%!-G-~r1)pb#K4O!UL2$dEwms!f zLQyoOSXHc<5w%!mlC!Ly!+M@P5TLnN7OKb)f;dcD0Q#V1FmV&b06V_R5uO4|#szI; zR&F0+9)xkt%L_|>klnOm1Gikc@*@h!&0F)&Q7c2T9T_@8DdGXqypcbYoCU~F=Ow~Y zT-kA)X$xbayN(W@A$s9jA;lg#djy*`yC62#K(-|7kB5Zykie1K6P@?U6EvM;b+qr( z6ktFD8t;H&q2pD!|KVrb^tq#vL^5&fwKYQ_D?c*fv)4G~?!*8GIeDK?!ZRZF1K9Tv z@wKA7Dg&DKPYFPIY5K}@N*IUohtz-VE4;za>FsjK!Q!W9rZ^7zn<9>RKC}(Jbnh~3 z824x4nd6@iYnye>4T)jua7O-hRT(^kkP4DH=^iUNkJxcL{1tZ`e+1>{ms5xJKmS_s z2vH$W>xn+ktl`uVcC7QP+5m^jCm*2d91>7?)I~8S+hdQ9HFVMC=giVi*j4R zvM31mPoF&%C3I2PT@tbL?A;kFGvSv1Y&Y#T8O;tcRxW+CWJ6s{(7oS8b(VW~yJrm! zHDum%WJn0Z31QTdjknSBvB%jjPAeFReWBiPlJuFJ z7KISn%^dRlIIeoHgIw#`%X_cv)hc*FBT^5YCsa_ zW1l7C?V$Q}>8&|H@_u14jHtKq@3g?^H8_G1MPtlSZ!FX|b6~{~ZzvH#N#z_%z@Y}_ z{~RIVlL_)xZz3KTfD$zhc{Gm4OW*-@+y5Xf>c7c>dw1_r-Sqox^-#_wn;AVn@FgMN z<%oleJ}OrzO7yrcqDs-_Rrxerj!lUcv4r{qi|kNlWhUA>kyrgYG2)wJGn04%gw=w| z9~92;jeRyB{gV6ndmFs?YQh4=)B^Spj$fk!XBRBp* z$5x+yHQ3g89`74*Tlhi#(kE&z6Rmk4j_A3;hBgt$Hu^sKVAqs^0H@0jSA(0K;D}8} zn=>u(7ACL?88MX~qqM1iH7cPLY3|Fs(5MBAL9=S@THfew|0pDlik0c(7sG#%t4iEx z+GQ;QofShQVKH>{Z4ml(gY%f=iQvYPwq_k8JfzrGWo3Ef$9HI){`ZBHm=~MF;ft2~ zXL{Sn==dxG1IBSYIPZ&Na}59`7MP@$m=!V0;evGLK`l+MtnWUcGo4|&^$kznbg*HV>=%K$*`Ae zX5s4wmb)j&R}T^j1=C>zM8!y3aE3^(XH&Q#&ufPB_7(rwp?WX&tSs(-amG`NOJ12Y zMd^T}OREbQ=29D5lj9F~Pt)}!aF?ph!AlG-LJdS+x)9dS!|5g>VH|PVsF%OL?m}xQ4~f4b7V7!dL6pAc@_upm+mOV&>pMs2UOp%;v^OQr>K}yB8U-h)CDmv-> zM|iD<{uk3OCc`URMDF-%H+KP3FR;mnpWjkUeYt`rAYmVGOj!M_6?MArwXA?5%RbN3 z>m-MYR2po#n?lbdig2}lEsJ5WE?DG`U05k>=~{iH~SE)RAPWdtw+WTsoGc&g1gu> zf_w&5fE9JKfSIeJk-kWaShY0~I(c@Qwm^x`wCkomT>FH2a!ny@zl2+iNmZ=Sf$Shb z2y`1~NEy%G9xQ-k9(8dV+X<7_r+)s}{Zx9&$b$+Z#Plv9O$5LL%O8INS+bb;(bgGO z9cMUY(D78lfY18Rl}zD%blz+{09H{{66j(=%6%=7f@Ybm*wk_@E25oX*YlMEg=&7x zpExD{IYsyc8sK~$M}831;;iyX1b$OF5%8cc`UPtBvC%q)DzxX{7LC%i*MiFUv&z0a zeUennL`4w?kt|m!Po&YJ&nG{AoG|7$~{)q?%8^P@r}_#{Yp729<|dp zjqmeEZ@pfnO;r0x?mm5`6;|w63`-S!$8WvujzT11;`GBRzA?ZtYew=2N|CXug-D0t z)iZ~vILP-_AOcDrBZbx1kvpRI)pBY^<-eTvKK;_i>+tFW+MlX z`w(t{&qA)b!pwV_%X=ckHVMa7Rrw^*StGauv1gfOk0{%a(l!vsz& z5@ei7Lu4-M#ZviOPhHLZj}2Ihsw*ROKQwLH48SkDm#Y#LAm(yv#vg$ZZ+!>01}bW& z!!8F#eAHoyQR)N>xNdH3^}O<6xQK6J%6tBMMn;DT$@q?pvziW?7}ZFgk< zqHeR#H^=z)U3fnWaTSw8!z%CN)z_!nEO4vWyfE|7o;#W9s3N4-{YNkg(&Nzz2MCkn zj&lqdx&mYrUMDN5rYBrNSV-@}N1wa1_y56N98**s@2he{ym?_|+4*c%6-oVj8Zrz} zPev0>;STy3P#Xf@BRKGLGTv-xHz5kce#45;J6odRuO4%aLR_co3ZDuppHh+fo9vi5 zYeZN_2{k!i&dg=C;3mZc`9?S`=cNETt?LXd68u}G47>XMl zt|s&L>JLJC9wm%uXi(vG1m5Z_-ch97N9M*IoShq0}S)MAP(^VzzYJPTJrSN0`Lxt zqY62EDvp605b%`xW+AkNenPwvvhW5mN4N=)J3?UQeF7VW#>nqP0(jP`PoPka`scz! zoM{NF2Nou?U<%v*0zWxnCIE~3Td|=GSfuomoO#ki?*{Z2xTqishO!7Uy zui9YBhbSvJ{a~&cXLH39(ws2y*C5oxwM%~Sd^Z8$d^1CH9M~;W_<(_;&!;s?dyB=~ zV=^QtQo;r% zI3zr;R2RH|j-I9HoK^V4wZd zZS;E(!;SqAB%L_tPd%}X%BTexYOw9DXOP{=48>c}o#UlN{Y^(4U^EweP>jZWGm3#h zJQ!3^C#cW>05s!+0G$PF$$<-EOkC5u5~1takHDy4EQD<4)H+w<4Gtjh*UaGd#$m#f z%v_^R&VDAglLCXrFrH+_HCur7>0&%sU<_r@GS|e?NEkrlWUhrUE>%q_9iRY=(zAV{ zSjk)dLPIk6QSG$Wy8Zx@B7rqyf)dnMYdwrr<2#>RPfnn+skr@cJ%{THcH0P3G(JSh z5t3)q659!2b?VEe!xrNK$0b0CfXbc9U)%ulLLwE+$ri;ars%__jni%*c~eKmGr2>> z`23A4Gfq8k<|00hf6*~*B#UCuI7lMW43Ih*IkJM;0K6b)?WR6QM$|eKxQXo-zW}{b zmV!-(P53q5_WKZKn)4d>U5#sTJ}a+Frkl>tn)=-P0}xo4J#5(hH4Zw<1GzrHiQJMN z;nuu~>&sBzCDtzTVFrF+e(^B08`xD4<7n%26GLITmucUsUHT1-j~L&2`TF#jf>2n@ zFYqXbCJ{D^xCZGo1Gq>U8-Q!|YZgdV>DF6Ob$IKmK*9ckZ~K8!MhUzaR7W5U(rd_4 zCnr__x=JQW^~k}K8a5nwF6(uBKI5XzjSyEUmkrlL-|#aSTI-iBq*`nghR}&JTHM3R ze=L{-JjDdgu@3xj?`btHuo|i}|G`ky`$>@7CeG${mTuP<2=o2zZ-W!!?pAYZwy@j4 z8dl5&@oa$syxCYTdQcDIX+#PT6jyqP+9HVkg0J*hdd@Eg4)NHgSmjkp%6HdiuOg!1 zIi_6aH0Ax&Q_%FcS0|brMhrqIZ}YmS6;9RWxLICxhp7fl#df zt3GI3A(~`hG}ib(x6c+bEaq_)e7yTYaX*pp$`W8KA+@XgFl(X+iN63K+`LBO#$)1o z;H)$@3H*hFk|WB6Avoy?8_poGJiwSc@Fz)FXYw7qpSE|iP@34;tOZRot0NCnvo%+F zqC4Tcc0cLCwxLMPN5WoDf@|F}!kqWj0?g%L8JdP_f=Tg!2p#+_JkA;&16%>vQ~qaA zh0R&Cy{GOKQR;cbEs&u2L9^3M>+?fRjftywTbVd@7iaN`xzEDzM-cZo2$flGKQELKtV2#eXQ z8zc#C>S5^*HhA7-o&&5^EATl#EWbOiy``QFxs077o5F-ie6L5gc$7g0qwu2=f zSo?R9jN9v_K+}%>om4h?WW^X~&yjHd*k_SYUL51j*Kne*K?$vd-w$_8=nARl4hurs z+%xQVBpkx^d4XKYTlK4Awx_|01bGJ$ldoQO_hH>c01m)^qVbEH+U$*g7&!7yFaJ9{ zpO%%@ru}^1i<=H(-+uk6n4`4GJV&Cr^<-2 zTNhCD@}O_t5_OKD6VX{@VVUV)#glCfYWEFa4=9Cui6fG3I&XhT|J|8vf%oe&UeU-= zdXmW&4~cJK;(sa5w}#Aie|??sjsY+VFp@Y|Y`%ldOoAW(7Y}vOEz=3JLOynQk2!W2 z7JHRP{YyEtz=<=6oQn&N6`Gp{@pTxED1M9qMIw-)0HaiMbpMMh+f-Ns1Fb)em#Rl( z97nz}2{pX6fA8d7T#IIyM|9@G$f=SCWJk!0RcW^~O@EL`928KqS#T;tkXKm(HsoI3 z$;b7e^4Y(5IsjnP8`WCl5nSyS4Rx5gaR4}%u6%bZ=kexYrLv2!jht$cv*qg_3-b#1 zO^-*lI>$EYY5IgSA&Cwb*zj=7ySFe9$wT@n{CUt9Bb^HzfUiNoScsyo6>Ow*hvzFB zg55f~M@!CjGaKQ9z;*BLKca>v%8);$px3HU04XTCaz|H5j37ss@#jEjEBrsLlD=!2 zxcBD$TaSla5E=l7cAfs_gy1PxX{et6qhuS+Ju0vWwT16-#iO~zCi^ih&EaVlYHWek z>W-g(#G0Jv`&j6_FFARRdv0Ctp5^K7!i8f?0oJVEGRAoUH=S^tf0f7o`vTui!#suG z0V#k9VG|V(%sN@>f*emMH=X*9M~`2U2iU<%`b;mTxkU}m2%J`vhO7)2rN|&f?*Uis z&}@7%k1_;h&cblsEKZ;H1!P8^;14*AM-hE+uEF0z;Wm$R$b`#+rVY3&GKj*vi}h@TPkG3M0{PB`O2 zV{PRR5H=#-d1pG!lK*?tZ)ul2_`la-aX%XR#!`1|^jY((dJ#Udf1w3=-H9>h)%^1H zrYGsMYFaq$f#=LS#q%BJmxoX0OIS)gg|x!}At41Da>ad|H@yVBXd0g5gJnQ@w5T(u zu5_N<09nuSS~%^N&^~;8gDZ$VKH#rj*QKXoZ9XKEzZ!xz4Dbmh4GNVZcs2flcGTb? zS{PXInSArEmulu)(%cE(b?nT<%-@J+(_C9)6VwAgL(qe~G-y98U~$u+7DfodFnb)g zsJF?IGB| zFcJ)bu8q{g960g=&NP7VOmvj+!B^2bjBx9vPqM_PhRNJlVBY~Yu2NXM-hp_cnjzaoA z44)80A^Tu{3^$6NrdwV>3%niOgL~bO=TUN~_9Usdciqm3{H`Rm^LnQYJNF>Qcd$yh z%xa;S&}odsDs_(EC;E}!fsehnqzlF4&}CYa@2x zL|e`D<=EwN;g3NDiI#3y2l85-ce~)n+mA47BTf>^+o%Pe3Ul(?A$GcwM+Ez_Ezxee z%L5CVx8LG0D5L}xWHIp|P?QnZ62>aF4G`|u;CkPSZU)o_rflWZd7zd2ZgC*72%XE* zXAu7dAF>k)Vw@B4cxvRi>}yv(QZ1(_!Wf3!=}&kF&P5gxAc;1gt{|f%ELW04%KpHG z0EusnZ$ewhggUg!ZC(xA!_{z^BPAR}!_eE&)znav{v8`8$+Obvp35f))AI!98|B6y z58tq$jTlNCu^uDGpn!VK@5r3vXzQ(cIwfu#vT(c*y#vhXzVyVN`JMC zr%d0v@h(ppO+EaS@T(9iZ~g)rm%SuOw%~(%*sL6=QVv!)bU17<6PK%z z1_{I%jr4ha4Q)iNHDrv#g~56=(5X$qMkCJs1blM_a06bHd4s;F4~a;K-?biCA)-G) z91Bh`cyj<++=9$eAGZ6Qoz=QWkp~{y^WH17TDzxPvuaM}toTJJ6QU^Z|7QMObv6j> z;8*aGVPHWFZPZ&6Do_jZXGmPuX=ws8Y@L-7BmWv}UD>fA7i}TpsVZysC5(_~Zyz~k zJ7|fh(?58ICK~^t@=do=A2^=d;YIob;5)n>i3lk}9_ZB4ts>bZOyu2~Z>snm(%K|Z zc@}>E=M9olT}$N$;BqI|G0eUjw#7WTx!nk}#!K2D3^@j`)R=KXvvtP;*b<6X7i-Db zH9jpjQ+db8Xq->-rS(K*8}*1`3CIEZiGN%!v7NFD4@rCLhjyw|!^?$>e1AjJwAup$ zuv_gWKhrxw`NwYI*YaD)RX^^i{gWqMH@io)Ji3im`IeRLS@wAQ z?Dcak9j-r$ZkhnX4wgzB49Fo0lTjxw)u9Hv#HHdMHpCF^BO8KMgo5#1W-`x+e{FR7 zBZOM~rr?WF7B#C97hk@@+iP0-m5K8%oPchB%!JLY`P6tGZteYfo?>b7msQ7v#ZKeO zzt~PilsH=+B5iQqCg~PlvB4JGF$Y(Z{;6+nl}0# zT$*(ctCLrRb}a02jw7Bnt-GTspt{<*cC9@V1}E3{Q|_+zlo8pk+|vJ)%5SCT{59+p z)Bg&;5h}q`bVnP}wTOGyJsD@MJv>X1M4gq-9?g1C>+*Bdp3E3}R8XJ&f#8;h*rZ^q zctGyYaZ(DAJMk1%_n#{kIe%xf)^j3^f2A76*1IdL z>*%+1%{IZ}c9zVky$xGnxdl(R(sW~4G-7-_4DMr+GNZb^+aFpeoqG0T;Mdzn^6&iJ zpQLo&{1L8-N)6t1&-vPa@p3fSl8(UH86136g&TGMSqwgAxoz5~Z5I6S((E^s*(x)58ZWO+fxV44H#TTkkQ&Q0D~wKgLA-Stg@lAV7l6iFHtg)^b2Tp$h8(vErn1QSPW%T`Lctb z0mZ-mZcq#H9^65OX|AVHu#=|EpT}%g0_USo!`&QrgPke+JEnD!QN@~xy58)7&EL1C z{s|DuN$%m9VIM&;H*J=J#Mni0FkeI26{~$7D7vfsSS?_IjB^+P0U;jB1lpV-ujK`d ze=Nil5lVy7c}@p--bFvyzV5$J#d7LA)3MjrgffooPjh6;4R|`ELMSLPT= zP#vvMZP7}z&BZC6w=Y;o4Z`~4t9Pv753}6lDg|xS(~Khx+htOyDU1ib(@qr1mbUD0nVvj3&Y#F3gH%L)G%+DBJ>o!ER ztL&FDvbcE-ASLVlXfIesB)Y|bXXItm~C*6XalIDTr=cD7-&yJ3HoTJ!& zxKOt_{qxX|*WP1ouXkPQElGae`z!3_)ES}Z*!a~{olfI(`f~93D1(eDl3nkXi;=Z2 zx3w}mH>1{HTk^EVa|;wd3KR|(Ei-a*c#%2x(jo7=>tP+48;O)*6TAd~TQmQ*cOAXK zK`g2Vkc*hG`4_A}SWkUrKF?GjVXf)feCve1ZjyW?pda-;Qf_E)sCZ0+5%|{(r^aRV zDFH39SIZ@MJ^$6JdY+qzfZ@VMUM zV8;D@-GQQUm$C_xaCFk(2Ni%Y%j2EbIWh}-B0yf2@jbVlzS0SAJ-MQ)H{1a7f9A2v z&90?`c0#;;{f08?XYVUI6Xk1E5Ro zPq6`vUU$E;S#5WdFAQ2l)mByj)Pl&+NDz!C?p7y7A8Q3qUVb+m5d1}#p->bQO{DVW z3}PuDq=BBx4Ctce24&F7uxLB>0UD*LB>;Y*J|&i+HFxklL(tc(>r}HB2JKL0)hh`X z=&|5`WW9G#lg;}*j5I+IP>_y@^xiuXk*4&bROwA>r1t~?L3-~c3J6M-8hWI6kR~7{ z^xi`Y3CWx1^PTzq^JaE7cV;qoCOdoYUVEK$o%7Kiw7|w1BSNTt$5nI$N&^Jk;-&%k z^ji1-xzkDqPD>SEYy}z6PQ&?O7&j*;Ao%_S<{mbH2YhrG(pt|A8@#^0K87#CJD_oy z=(B1xwkraGLUu(I1k2aENfqcIbXkuNwE<&}3!6$;r>kA|S9?8so0zWSo@h${6Zql_ z7dRu&5m9d`md^OoT+02B2g*y;Ph^>@+t zciK?Y-QqCmHua+uc=0$z-QIW^svfP>DgOcvIXXJhe!6)-at`B$4T+*Vfd~H*5B{Z0 zzYIBKRcQ7XDL8(Sf26Rq$R1#NWepTAE_|v}U(kUd<;PX7+xM|cxHitIz6oj)5ZZPR z3jB|5imST$k8qEUvaI+|b07f+?rzM%nc%D^YvwZB=k6M!IH!_nT!F7-CjvL_W!$s- zt&TkA)AGF9IKs`-NlTQt`}C2|N>hcp|B0oAMM4>RS)-HD_>zcde1Ji{kJHoONpDd zT=c~W>K55iaAX{qleT^hW3F+ezCbSC@#ChfO`#}A_XyIJ_RkLn=)g1xzy@QtYHB}} z67sW745z|SFz~e%``wETJkSLie2UA_C&1$|cSm1T+aM9X{?8#BNGY6OGA0RhWVNB| zU8xE?nT7$7uI)IY2>2FP>=2*|E4X8{!Y~T&o`~OGGu$QaoM3%116Z<;AdAc>s}T(P z1<4)4@7ee>1cn9wJJtSdWE;3CC72%F)-}%O_lV8yBb950+&N-n5iy; zZ6fnP1vnJxUcc*YdnpjNSEv$B!Ft{O4#6l`KcU2pBxnMM5q+P~{V}#aXX42^Cs7oS z8D_X8y<4HOf2j#h$eK~cjkd&{;`fQublg^>agv9@tqDxG6akg^3ZXJ~$2E>$cF^V; z^90?Tp+?ga;r$|Ie|bZ_lK!2D#IqP^Ro6f^n-b;*o;J4YV&T)$Al>yat2F07UW=S- zdO^i;8xj~v#|u)QZn#S5e>j%+?O`}vCGN>&S<}rOW6H#om0cXq$7s+o?{_E?YHd3A|Gy49?prgz$>ih`b{`G~Yg}r~t@?Z;3A3i= zm`{F5b=dV~Y&-Rk#aW%5w}S7}u!E6y_Y>j{oag;!bj!O$U`+D2(TF zS!oTs-sJ(z9pliu9IpSwSRrqHF*icsBH+?d`+0y8Sf5Uj5XsZ$3JJZ~PWjwu@@^z# zL29F{uYoha?)Ekyv+7^_m15xkIeaHAHVJVZNMQ#F##Zw#ZIvF%v$9HSd)AKTNoeN1 zQxqJJbC#>un}#AUn+bM2SpRIag`@5#ZdU^G%@fz1L6+83M+&-SvvpPV&UuB#zH$~g zw^AOEo`5jg#$nodMFQSCXbDk7A^tURC0PfZTmNB^yh>GHQjn%?DB z8ErL&6i!UV_+2P7Zxj2Wv420p^Q^4?&hphP9?S(Ub`IeES-gG9VDaw6lbi1>CB>T?klblRA>es?1TgObwkSp>2?xS>5_ za1B(B=GbWNtKk1$)b5U945}Yr^zCp<{1;SE)+b9n*`6kaaIttr^Mn-N_8;s%xD$HH z;DE5VNIxkyCoTcvizIgrXzN(bB9Zr3FD93ZAxz(ns2oNCW6@)R&b`8v7I?M!yb6DBqXo!`v_TzZ_o1{n_HcM^(2&ehY7|Jg<|;ahDZ$+`Ah zDbJ+r4noi4sj8Y`dEBdNw=0SD#C!6Jg=0hO@SpBNC#x_!i3@elff{c)*pCTa_HSovX==*z#+*g+M3z@;nxi1nFOOsfQYB$;^L zvYKk}zq<~3T9*#vIV5gn$DeFvVVR?IZ3nwBhWPj}=hQ|eXD;v^DCAj`A=`@BBFqH< zKEod}1-woYF5`SngR%*_ir!>h?9D}>id?MX8g|4fkN*fPOZ4I^dPpr+XKq~vw3S1r zYsj1n+4ALuS5p2+^iiIFTf3{Qh{8E(cvOU0ZN=?B_WWSVnCLQvXf+GrnOHIy75oIs zEHnM}zzMbE1{ypXiglpgKUs8f6P9Vq-I35d0gA}0e4m9Bap_wfz3W8;SL7!&OkIiFHfHW~l$+~RvP25Dnf zs>Jfwf8XWl?_iWKfROrH+4F-`(mA%z<*>xe0``-9`stjnpL@}ddWT@(NfWu&$Jk^r zQxB)~)bib$`eOo(RDFpfHRowZNp1o02VbY3V6v-6Dm#%DVz7Gj^4z1(TED}}zN|0S zheyS6=2f<<)*LC=5feE$1}Zl@jf#DHEotv=oE(sORio5(_G~12SKvcVcyoT;B4F^q zB{)@bhSxCaOHdw3%HjjjR;txiktz{cV}z~Tz>jKC^E7n0Ld>-h9YHupL5SY#C!`{x zC09WX%JZdWbJH~g}m1ZT}WgJz`O{L%2a<6zlGtY5BR{gici7AhJh%dKV@6OTh zn%W0D*7j&5o!^idSdVb(u0~(dL=R$*T}Mp!j)b+J89rv9kp(&hkEq=q+- zX3^Ob#R$A2t{5H43VU24T-p0W{_fti%KU}Mpiq6$C>Q7GN41Zp&xisGn)Ah!Pvn7s zgCGkv^v22;Fj|X6gmEMZ{Pj9_(f=K!@h0vPY*8h=T@qW?w6j<~Uvpwd5u6#%@`hCf z_^?mKyL8a(y{ISCuRF%V&7;2p!D&0Gdt>4O%r!%6&09+$i4Nbj3_W@aO3dc@K+0>L z6AxRr(!~@BH9-`k*U|mo31rl|Cn3c{A*!9bS(~vKn4J*8&JFf6Vt3;jn<iAs*L|J)mOWF*5_v`)Tp9W0j^iGMH@Z$A1k|=u5y9{TU z({`3(mFL@(9JFBP0JmoTQX5vlJh7EoFX#JXI0IT8It>KvFcs);ETaWB&{*1}`}KF_vxS@ zh@8ApIdw~^niO?W7)~i%f=KmpLpq~Dx!zodSq!SFQKUf&=_g-%UmABP$o(!a>hvq~ zJDXMw;qSr?SIHV}daSxholYyDbU)GW@!~80WWwa(;1K_REGqVeFs1z$9i`H-dn2tu z{&#_$3P$K_5J|)P+1WPN@p}dod{$mjwwXHBhOA|xTh^e-)*pLJQKQ25n(p!9$#tJy za@&1*3ZI{8M~Vm%X#pWHG3zPY+Q$)Y;wPUt;KZC0lZUHb*HW!}OwUI}XraXb!MKXgdA7^q= zem;Qw&gl@acl~qkG+J6MsW&|_piXGm6toxv%7vuO@g9qZ=*b^Yhpm~!(F_O_EC|W) zVY!I?+f@8~KH8o0?bcLX6MkjQaTuNJeKZm`=^obpmN+0+db-sl<=L{-d%O70omTw# z2;-S04to9dkKK8BT4x=7=lK>*km`fnsIk|}>o3^J&g+n_yV`(5(;7#&wjaecTZipX ziELAL4`;yp=Oi1ggTidoPy09@dd4lZdj^~cQm&moqu!?0Q4AHIdc;A~Sz1Z|Ot-vz zw0_H7b)f$eiImOX8VQ@tIfZ_e2V?4mRiWvHQG+QH0iewn$d~HgWOygspspY^a<8q( znU~x7xlu|N4e~-_z@N$JDpbi2Ve_!K3+wvj@(6#blZ_Sj!!niKpuLS#o~6c!a}@bl zQF5h?2!TFi!&?5h_5wkl;(>)kkD0Dl=3ehE>maWbk$BLGga-~1$w)Ip|F%ajMi%$b z1ZqmW1c_ba_0EaB4Ud(-Ek|+PkMIu~DhuiB$cBbx3d1tZLo@$d6}eXFjO*BOh> zITY^--}pm|@cHS}LO6vijH-&GiC@6ync+I8iZvCN`=LZhk015*iIFUPps2sV|J_Nt z1RQ{{9kYQu;VzUr36TI_n%8ub^eNw)`@(L#A*2jZGL$%%1NC?eWx``P3WL3N_LN5+ z{#p0lyE9UTR{vV%6$%rRsbVBykl_y{lUtI>UnJ!rTD7uLkfbg2drSr=yn@kQIJivYd~3Ic(+36=@a!?U)6szj~G zyWPwgsFb<7YVo&ceq62tg+xgdhmK||GJniNsw_}y)b+U>zrj2dJ5HD8p>#ePD) zpFDnul1qC)q1E=*US+_^rCcR=`oa4&DV$Y6Ii~{*Z}8}`$aH=fNcnw0+gZR*-vJ@0 zq!)?b(p1C_2OTkuus)c&xTQd=PhH#(243~*K@mp?ztK0k#3yYM((h~{xvE74#XOa^ zARfJ6DWY{A=x6%2F$nUM3NI?!z{gDVJ|GeHFY-qSekVw|{ci!*oA$rjG3SZrlUsE#CS-gs+l(&z@f~gmuwMdckd~cj00k_PvptFuuO#s*K18Xy_6>-u1+g1iD@ij zvASO$Ju{k#dXLhwovJgTxiKs|YI2>Grnn4s6r|t3@ui^lMDZ+o76zW>{l6)B*2egDm`2)Y9 zsX|cFa}{VOz(~7C0Nb*zhiE38FbnRHugj_IMjs~O670Hg_uSl(P9m1qJcF2AW@xcO z!K(GA?dRJBp6^OOI|3DKTt=og;#@Mb6sBG15VuXQZt9cQV<&o}H=(7DZylZ0uxL30 z1lvp*>o&F2HPj%xXDC@jl6T+Rhbg&7?&i(AjKHS$qeJs+VE~|PJZ|I};-fh@6M!`x ziEm$SZ(neQQ^|S(Sov6&6ggc~6lZ3kf%P%~RSpfa&MMw$y?nzzf2v)@oJP+7sr^(= zE^+VaXho7dq3UqW?YKVyA5Tg^p!eEBh69s@4;HGP?2jpUvyVfkB?~_m%mn(m_Rz|> z8n)xGodYQ%Wq!l^bEo_65_8f3KK_>{0D)o0Cl$WD$`Q%eIE4T)j?FvRcz{GB7F+u5 zBfZa^FL8a?$fwB*^>c4p;+CY>!L;=?yxLjk9wBak_Q?yyz|1cH)+77S*<|GlK7g<{ zvAE)QEy{K{db!-?e6ZVNI|oYjRvx#w^)U-pI}`RvY}s#zQ$f3QGMhF##y~=uQK;eV zJ04ZXVw3H4HLXy!Y#jd5k3XV(V2%YwLV-II4=Eli7JzW*^u4z6dLiF+ChY9BSH);L ziDQivI{6ZMa|CiJw37lyA|2{|WM(eqNj>*kM@{>(|L^ zw|uf0J(wFM{AiuQ7>g}d*!QNFW3`=xL?0p%pI*QmLs0D1Ai#H~F!ZhLDC^!aC0(NM zxfFtEv%>^=z`5EA!6V{W<+(G`jwA22Pt9RKfBV=1SrJLa;m=LHCWD=pmK#pMR1m$( zK33fu^{^t3RW5ERT)9)nM^9iU(4wK#2?-9X*nNUD2OYr#pJKT5#iz=cN ztR7n$f=6L8@710W-*IAVn3FQ{z6G|A&HG{CGEI5fDC~hAT9z(-F{fov4s#?>(Jrz! ztF;4eeV3nCwU)r%yu5Uw{wxj(Wmf+s)TV{#ixt=n4kmjf);S<|I3dPKZXRT6G=1R~ zX!-e|2)D(!hgLv7KRKdgX9t7wi2CzFE8Zwh2*s6q$W>?Dp`C!LAs=aBD2o)~a*W>iC`dib^x`R%1-;=gR6BQ3M~BJe(Na5N-gZ}s^8*vLe}?TzF1 zKz4@H!PdnA+3SINoQYRJ{mN#tg+|C7*yEN!JyKo&4whg%SeT~^7UQ2oR%LIgv2u{m zc9yE2ONJU8d^Pb$Ki;^NE5F*AF?Rk!h>YJ+SxKYxk$~czV#X7(ex9HQNrj_Y<~4{0 z8QstP(=Mi#=0Ggg*MoWtgu)1=ec}XyA3}%hV#uP-eCM@S-u6^mgR&i$Q%{^m+#d{u zxEhLRZPjeOoUFK)5FJtmVR_yo#l#1GK?UW^b5g3}n|XuSENX; z&@!xU-EZuDblDsLg_%AD^$EI3zMTb*$4yoWbvi*=P26^a-!n=UsP3b$G^=Sw(EG#2#YJ z-yrK9K9Qr%fOKI#VPeSmVi?UMmsUlN8vaw39C= zERiY}yZjSL`Xn?E1lEwJ|G9n8+Ls%i>jVYW0@{)Et%g@7G$is-tlu>t?B9@c)5iQKX|!lLZX zodByC<}$}gf$a98H%|DMv~O<~m=+JDT;Xv9^$V5Oza0LpE<+3tAzMd2Ak9O_Hle+~ zz)Am0*7tL|$+{5F7oI3|xaY zWB+zts5HC;^IzTQXKugiVXk!?TJdiM z3m*oXwarb_dtU|Hn(U!DOikyD>cL=DR_~N*FR)Bpd&*OSPx0X|`?uP8NENFp(cnZ< zP{2YK89>yR|!V{9JtSx>zeG)}nqaHD=q&}lF# z$4dRI#k#(DZAE?)9j4^JwH10FW77&xvDRCLNsD?6T=z@`X+B8y5n7bXYuXEZ2e*DG z9^y}yyCl;zHhi{S8>j%{@7q6O-f2U&+=bYYe zKM1#<`oxYA{4oYWNseF~kJATo;-XV+Oj!9Q3*>7rB z?A_18-`R<6ITHDB76-=WDukM6lFtdPEY4iXa~Z~QN^xxn@(e--T1N4htsB@fC5itE zU`V;FMovM$5BGpp#+=K3w_4J+&7C=WDA@wZ_KZ2np^__&pvQ8C9OqcO`T+j8scR#! z5I1DjW;+uF77FOP?@0BC-cK+UpYYub(p_d)P!0lVzO^e&rhaMhgB?t;E$2ZTx?wGrTcSq&J5~|Rf*n`i$jRtmNum9iihP6a z*bGLU=75p*P<>l8Qd+Yf@Ovp!4veM*a77)?bLK z5X$c_da!*dJQsSIQS&oU^zM!QF(z!;+<<3LG_1#QPiyt}LD6ZtLS6ZLgxgZ;$FOyI zYhbch6Dvl55`939A|MVyvGJt#cAZoYIBi}V8D1R$V@~(Ha;pZVjdXL!o9~4+Fsmz{ zJTU!{Z44c9S^CnFvBow!P&4%Hr|<_}p9Qg_1iZ9%_@a1)u$2xdHxk)|kK*Ko=5n-) zf&khi{ZK9OqnOATSQ}2V@w*1EYI>|sZT{8?6}#n=Bj%%5rz7a{>j(bf#zsZ&J(LwN z?c;mX&`yqxK=HDf)X`VD+GWV{E#!k&@Gyy)OP&H_W7&txOpRS!7Re8^xc{JW$V&lj zK@Y{)>psN~iGK}TGa-iCZkdlE4VB4Z^RF|js$;qCdm!b%k{Y%04L=TTM6|Zfzp!h~x6)Vzq~5vcY_1ya8sITTUQD*O}Wn{of*K*dA4{(2{G9@Rwdew4Je6~;I` zI>rZ~-ARVCMRf`qdgR6}np9G%B3v1o&Bus-x}`#-u;HdRnVVqFL6Iv%qL;lN{<*#3 zXHpAYH`jf6)VlIaE|!4zVFv#X_(96x^K*JSWa@f_^B3}I@}Wbng0}}-M50`2vV?d8qnO3nnb}eBs|WECMuw@xL|zv=68xGaTAfcb zH?j*+3)VK*%S?|O+V9j%Z(ZX%qAAJK)^@4xi#we3O-}G_viuMg+}+y$CBe>kpFvAX zp`x6MVA4j^RV3oIhMr=L0+%}ja0t>-BjZl{6&RcUZn4^8PvpW(HzdDJf`h&NnrRp?l^nCAywd%)iQzXvwgSyYreZ# zqA-Iz6~yxS#S_85FZVu|6IUox%nqkrMD{=yF4(AtWSc*+$_~yOg;>2k%25)56fo8p zE?r*xC;&Gz^A^$oEu1wb(uqgbX0l1K$btRyv>Ip^)T{cQ*|6{qDoh=EX{V0uozO%LamaV z5dt?wL=1&FO5N<&ue%TJ4T{Wno z5e)7|lH~kQ>=>@(qxuElS3$pjA77)bxlz>2#zPQd!L@&HQ^cW#Ym)UU4n#|Wu>ACs zb08Sm;@eqt!IAK&Gg}&w#>|@Ca;@BS&AlU?^k;&r1y<^N3w9D%=jxijVol6RPCgGk z-x=*x>FNJf+sj~cyL<59g4o2$?uKAH7yL`ejxnUId}YP!&`Q#T!*nic%eQnPQ-8Jj zaW&OM-nL?+B2d*vEcnn=j??KAebSBVF#r2L%K0~>@{g0Yy4OD_t!Pa${S>3pQvD$Y z(oRvA-B4A?4qo#EOU{?v7C-k~RN2ens~Kvnf86y$sgl9#A=!hzuM3l-4jk`n8P#YN zAtaYo3lqBeQ6r=K&~dNSEi+>-`^zq|tpw-8&xVgWL#C6{?L0=u{<_M4fFUqpl+)f` zM&5L}p~bQb^bzepGSQxDuGCf{#qqIp?;xaWFaX(s(lH5psN3P_vu<=)KotFr#^dP@yM1S^yCpO5mVeTol z*FNK2)u<2S@EId}QX20AVX4EUwzZ-hHPW+6I7O7$21=Tl~PL%UN z2JE$ESK1`@J0)wJq?srEZPsacEC1c!hRnOxOYBQ|m%0YA2;n8-Avv#NN>{SVHwo@{ zq)!ZIH|n4rN@Atw9+F^L)b~#U~!Yad>rAPFN}l#9cO@Mf+GhI8h7~8{%2YFY5-Ha*vrNZ zqX15@nFP(^AEuHLpnQa{?;A3#c2K9K*tI>U0F{A;IGOfyb%Ec>Gj&^{FX|q@u!&x< zJtHKeixii!+icrXt9l$3qW>|hb+pFb;em^pddBcCkHT4|JxOc(q6@}gFnvzlLm)rp z(|EOlSDJj9N~vjk<`fd;xy)(r8uLHVc=D};lcQTE!kR{s5)-qk&A}`4zW#$Ny_I>z zM~1nhp3I?<@HG+tNlC1@3Tu`?(bE*K!hRM=&ySEyA#8i^y;0N z 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%0DML1O|v!zkuL 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%0An0)A$_k)_g&d5vs7;l?a_XS$eC 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 - Assignes a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-feteched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Suppress property change notifications. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The property behaviors. - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Adds the key builder. - - The builder. - - - - Adds the key builders. - - The builders. - - - - Copies the key builders to the other - - - - - - - Copies the selected key builders to the other - - - - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Adds the dictionary getter. - - The getter. - - - - Adds the dictionary getters. - - The getters. - - - - Copies the property getters to the other - - - - - - - Copies the selected property getters to the other - - - - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds the dictionary setter. - - The setter. - - - - Adds the dictionary setters. - - The setters. - - - - Copies the property setters to the other - - - - - - - Copies the selected property setters to the other - - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors from the builders. - - - - - - - Copies the behaviors to the other - - - - - - - Copies the behaviors to the other - - - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Adds the dictionary initializers. - - The initializers. - - - - Adds the dictionary initializers. - - The initializers. - - - - Copies the initializers to the other - - - - - - - Copies the filtered initializers to the other - - - - - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Copies the meta-initializers to the other - - - - - - - Copies the filtered meta-initializers to the other - - - - - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Contract for dictionary meta-data initialization. - - - - - Performs any initialization of the dictionary adapter meta-data. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Encapsulates an invocation of a proxied method. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - Can be slower than calling . - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - In debug builds this can be slower than calling . - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Interface describing elements composing generated type - - - - - Checks if the method is public or protected. - - - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , using provided. - - The class type to proxy. - The proxy generation options. - The generated proxy type. - Thrown when is a generic type definition. - Thrown when is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asyncrhonously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.dll b/packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.dll deleted file mode 100644 index 2c8811072c09aa87b5a2a618055fae60735aebfa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 299008 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

H^}POAl1h7f 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 We6t(QjH02<|7lJ8KhM@N@c#e|u3Rtx diff --git a/packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.xml b/packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.xml deleted file mode 100644 index 448fd69a0..000000000 --- a/packages/Castle.Core.2.5.2/lib/NET40ClientProfile/Castle.Core.xml +++ /dev/null @@ -1,4927 +0,0 @@ - - - - Castle.Core - - - -

- Assignes a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-feteched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Suppress property change notifications. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the namedValues. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the xpath navigable. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The property behaviors. - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Adds the key builder. - - The builder. - - - - Adds the key builders. - - The builders. - - - - Copies the key builders to the other - - - - - - - Copies the selected key builders to the other - - - - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Adds the dictionary getter. - - The getter. - - - - Adds the dictionary getters. - - The getters. - - - - Copies the property getters to the other - - - - - - - Copies the selected property getters to the other - - - - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds the dictionary setter. - - The setter. - - - - Adds the dictionary setters. - - The setters. - - - - Copies the property setters to the other - - - - - - - Copies the selected property setters to the other - - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors from the builders. - - - - - - - Copies the behaviors to the other - - - - - - - Copies the behaviors to the other - - - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Adds the dictionary initializers. - - The initializers. - - - - Adds the dictionary initializers. - - The initializers. - - - - Copies the initializers to the other - - - - - - - Copies the filtered initializers to the other - - - - - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Copies the meta-initializers to the other - - - - - - - Copies the filtered meta-initializers to the other - - - - - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Contract for dictionary meta-data initialization. - - - - - Performs any initialization of the dictionary adapter meta-data. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - - - - - - Initializes a new instance of the class. - - The name values. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Adapts the specified name values. - - The name values. - - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets or sets the with the specified key. - - - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Encapsulates an invocation of a proxied method. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - Can be slower than calling . - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - In debug builds this can be slower than calling . - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Interface describing elements composing generated type - - - - - Checks if the method is public or protected. - - - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Applied to the assemblies saved by in order to persist the cache data included in the persisted assembly. - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , using provided. - - The class type to proxy. - The proxy generation options. - The generated proxy type. - Thrown when is a generic type definition. - Thrown when is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Saves the generated assembly with the name and directory information given when this instance was created (or with - the and current directory if none was given). - - - - This method stores the generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). If both a strong-named and a weak-named assembly - have been generated, it will throw an exception; in this case, use the overload. - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - Both a strong-named and a weak-named assembly have been generated. - The path of the generated assembly file, or null if no file has been generated. - - - - Saves the specified generated assembly with the name and directory information given when this instance was created - (or with the and current directory if none was given). - - True if the generated assembly with a strong name should be saved (see ); - false if the generated assembly without a strong name should be saved (see . - - - This method stores the specified generated assembly in the directory passed as part of the module information specified when this instance was - constructed (if any, else the current directory is used). - - - If this was created without indicating that the assembly should be saved, this method does nothing. - - - No assembly has been generated that matches the parameter. - - The path of the generated assembly file, or null if no file has been generated. - - - - Loads the generated types from the given assembly into this 's cache. - - The assembly to load types from. This assembly must have been saved via or - , or it must have the manually applied. - - This method can be used to load previously generated and persisted proxy types from disk into this scope's type cache, eg. in order - to avoid the performance hit associated with proxy generation. - - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the directory where the strongly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the strongly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Gets the directory where the weakly named module generated by this scope will be saved, or if the current directory - is used. - - The directory where the weakly named module generated by this scope will be saved when is called - (if this scope was created to save modules). - - - - ProxyBuilder that persists the generated type. - - - The saved assembly contains just the last generated type. - - - - - Initializes a new instance of the class. - - - - - Saves the generated assembly to a physical file. Note that this renders the unusable. - - The path of the generated assembly file, or null if no assembly has been generated. - This method does not support saving multiple files. If both a signed and an unsigned module have been generated, use the - respective methods of the . - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - - - - - - - - - - - - For interface proxies, this will point to the - on the target class - - - - - Handles the deserialization of proxies. - - - - - Resets the used for deserialization to a new scope. - - This is useful for test cases. - - - - Resets the used for deserialization to a given . - - The scope to be used for deserialization. - By default, the deserialization process uses a different scope than the rest of the application, which can lead to multiple proxies - being generated for the same type. By explicitly setting the deserialization scope to the application's scope, this can be avoided. - - - - Gets the used for deserialization. - - As has no way of automatically determining the scope used by the application (and the application - might use more than one scope at the same time), uses a dedicated scope instance for deserializing proxy - types. This instance can be reset and set to a specific value via and . - - - - Holds objects representing methods of class. - - - - - Holds objects representing methods of class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Used to create the TraceLogger implementation of ILogger interface. See . - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Creates outputing - to files. The name of the file is derived from the log name - plus the 'log' extension. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Keep the instance alive in a remoting scenario - - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Logger using standart Diagnostics namespace. - - - - - Creates a logger based on . - - - - - - Creates a logger based on . - - - - - - - Creates a logger based on . - - - - - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - The TraceLogger sends all logging to the System.Diagnostics.TraceSource - built into the .net framework. - - - Logging can be configured in the system.diagnostics configuration - section. - - If logger doesn't find a source name with a full match it will - use source names which match the namespace partially. For example you can - configure from all castle components by adding a source name with the - name "Castle". - - If no portion of the namespace matches the source named "Default" will - be used. - - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - - - - Build a new trace logger based on the named TraceSource - - The name used to locate the best TraceSource. In most cases comes from the using type's fullname. - The default logging level at which this source should write messages. In almost all cases this - default value will be overridden in the config file. - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - Pendent - - - - - Deserializes the specified node into an abstract representation of configuration. - - The node. - - - - - If a config value is an empty string we return null, this is to keep - backward compability with old code - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - - Email sender abstraction. - - - - - Sends a mail message. - - From field - To field - E-mail's subject - message's body - - - - Sends a message. - - Message instance - - - - Sends multiple messages. - - List of messages - - - - Default implementation. - - - - - Initializes a new instance of the class based on the configuration provided in the application configuration file. - - - This constructor is based on the default configuration in the application configuration file. - - - - - This service implementation - requires a host name in order to work - - The smtp server name - - - - Sends a message. - - If any of the parameters is null - From field - To field - e-mail's subject - message's body - - - - Sends a message. - - If the message is null - Message instance - - - - Configures the sender - with port information and eventual credential - informed - - Message instance - - - - Gets or sets the port used to - access the SMTP server - - - - - Gets the hostname. - - The hostname. - - - - Gets or sets a value which is used to - configure if emails are going to be sent asyncrhonously or not. - - - - - Gets or sets a value that specifies - the amount of time after which a synchronous Send call times out. - - - - - Gets or sets a value indicating whether the email should be sent using - a secure communication channel. - - true if should use SSL; otherwise, false. - - - - Gets or sets the domain. - - The domain. - - - - Gets or sets the name of the user. - - The name of the user. - - - - Gets or sets the password. - - The password. - - - - Gets a value indicating whether credentials were informed. - - - if this instance has credentials; otherwise, . - - - - diff --git a/packages/Castle.Core.2.5.2/lib/SL3/Castle.Core.dll b/packages/Castle.Core.2.5.2/lib/SL3/Castle.Core.dll deleted file mode 100644 index 37fa6d3fd1fca4e442b5a2c0856c47f78555c77b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244736 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
dqF#z0z1xYmJdhI+J@6U~aCp_1W{ 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

xcRxU5ksBh zQBtT?|Cn1+O+B=-9@^6CurC(M>xkh;Cx)*PW(@rukI>_+jBzFnu#Wit6ZMxg*6MG> z&~)o?oZEc3{S@W&Tx|6SI4EhA)j#mF<954sN(?3KvL*)(N8OU%v8Kn6r#8Pb4(+#Q z27ZZhdJb8+=5G%A%?by8cTk}91%V?DYTUXm@TY@Xw7xumBTePE)3ZD85zIZt(5gW6 zlVPW)N9$iP*cCYEP?;-Fx_V|1!ws0WRQiqirLu5h zDQKrUt#wzd`g+?&XSDtkC&`cCMsD2FJ*Gutqp9KVPP9tRX#G&2sd2WTg8{xP`Nl

dMtmEa8Q0l}Z(}p#4na$mQE~w||FBVd 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 - - - Castle.Core - - - -

- Assignes a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-feteched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Suppress property change notifications. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The property behaviors. - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Adds the key builder. - - The builder. - - - - Adds the key builders. - - The builders. - - - - Copies the key builders to the other - - - - - - - Copies the selected key builders to the other - - - - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Adds the dictionary getter. - - The getter. - - - - Adds the dictionary getters. - - The getters. - - - - Copies the property getters to the other - - - - - - - Copies the selected property getters to the other - - - - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds the dictionary setter. - - The setter. - - - - Adds the dictionary setters. - - The setters. - - - - Copies the property setters to the other - - - - - - - Copies the selected property setters to the other - - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors from the builders. - - - - - - - Copies the behaviors to the other - - - - - - - Copies the behaviors to the other - - - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Adds the dictionary initializers. - - The initializers. - - - - Adds the dictionary initializers. - - The initializers. - - - - Copies the initializers to the other - - - - - - - Copies the filtered initializers to the other - - - - - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Copies the meta-initializers to the other - - - - - - - Copies the filtered meta-initializers to the other - - - - - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Contract for dictionary meta-data initialization. - - - - - Performs any initialization of the dictionary adapter meta-data. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Encapsulates an invocation of a proxied method. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - Can be slower than calling . - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - In debug builds this can be slower than calling . - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Interface describing elements composing generated type - - - - - Checks if the method is public or protected. - - - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , using provided. - - The class type to proxy. - The proxy generation options. - The generated proxy type. - Thrown when is a generic type definition. - Thrown when is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - The silverlight System.Type is missing the IsNested property so this exposes similar functionality. - - - - - - - http://www.dolittle.com/blogs/einar/archive/2008/01/13/missing-enum-getvalues-when-doing-silverlight-for-instance.aspx - - - - - Holds objects representing methods of class. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - diff --git a/packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.dll b/packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.dll deleted file mode 100644 index c9a4060b78bbef436f5e7c7602878c9a50e0c202..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 244736 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 (B%(Z#tN`~)fABgKsu{l(4|XKryTJe z?R4!jf-1Az`UT|@SgY>@%hKeQkZ$z6H(X7>K|Xq1I`a9X-h=U=sx%^$7fnmHCdYw5 z6_}T^$dF1h@S@bj(pyqktc5!Z1A0mp2M2CK>tJ2tW3u!-ihk*>4V4bdT6*4YRZW+s z+>%9t7UHdHvS{i9aNb4v7L&!^N*8PX*wtqB+Rg%C5yltz1Cc6vYA&hwAb%8sPTx>6rI%X zX2zQCBFUmrwm#S+Z*vjq-yL0FdQF|+rO9SWy&{iSZ5G>-E_zSu+rZ8f2rYWLnsl*T z*p8#62f0(PCtXQb?)j>odxO!bYfzNzUmFNa(UN2t(HF4&y2_`*(={)O>pJ;fGFGoE zr$~ve_|F2V{;VOiaVjG8PG$sIi~aRGHQmN3oa=Xz#SN7%RKKTX3yeojk!7q8sc$zw zj0{W0Dp1U;h&iZY%}V6K3QIG(%sKlbJd)d`IYa-_oIT)?$pIt+S9B?^vOoZ)+wl!u zdm?Qn(e>>x>1E?chCx~`C(fPq!_Eb9AJILAu=VZ!f(bbQc5OfoR&WZ7bJBkKUMdU)pOr(Qh4TEmZfUtQZ7t%~MDH)ob z>V^Fqe@8j6*%f>Gno`PH7nt=GgYAl?T{T@vRe3dP1~HA9`lT(nV7`oPTo#(@UlWs? zM#Pq6)VSTn0M$>aW1+tjxyBBC%8@tA@FF~DP7*BCWeKC5f(C0pXv zhXEV-nI!jQ5im6jnM}!%^S%+rucMa!tgdt*cdtGS0~p0>Z%A#5VPFB3-mJ(|pG9*;rZAo>kl&MBKKDMYdv! zta?&)8C5>y2KZF*8B_8oM4)W&)k$1&)vIio52_nI>)T;Hn0|YtHm<2q^DaHs4~mQA z;x~3iT~|M7^`+ZV?${|>)DIe3cj{`*>POV99zre zxmPBcxD{1s!ZwvEqseM7#q2DvKDHt+W+aWnqN3W0VuKQ;4Z+lpjD^TD+#evM5h%7Q zqXUqD_$c6yb*$;11xfw05@jU&Sf|dWuG!%^CCe$1qsk|&#tA8m#tAa&V-mTB>5d`C z^cbs7M@H=(JcpPx5oqE`ZiNuqpb@<3IIfSmGK8U0uv3=rH>?jC8&g%tAB$aCzs+&# zz4qK6@K|1Qig->WZ0)6PVXgM&fMKupCbAgBC{<=tdpqms9_uKl1%y;R*4}PPbW))W zj!`P$(ebIhP42Cgp0sLz{iyY2bE*#N#{b(Y>(aKXm#Z^(fl7|hlI*@uLn%=s)zMc> z?OkbdIKF{1f1Ny;9{!RHX)=n0x~N?h5g#SKOte_9+!$3hAX}z7JDX zH|~tV(&B2v!5hYaHRluuM3J_}kBw7*Y@GVzX7u&dBGkqie-(9?DwlOQ#8JO=z!Xdm z7yN4KJIgg>G^XlqqHQpMPkbaY<&i`F%>#yt+PgG-7cGl;lMzxX;!6Bq<9aPRW_7ZVztX2MDm0?7Lt5V(K+E8biz}J zvf6L4>RK^2E-Rjc7pmD%uo=&+TJDpdQRRBsp)|fx)|LuUUPU8RJ8zSvZR@A#ph5?E z2U`;rvQjiHZDCmmhLvTqwKQbGfhgb;L5+I$KEfI^hjqD<&!XaxQip$u34X{q-w z3W2~3>VzJOMa3g=4h&e>xtZfX@PCyp8ICbjutsYCL zYc|-lr{?1zaCD$@OIW!LO`q9AS{du;qcxv3x(#jPVG{MM0Kw8**e0)>m1DigQe&$D ztE+~k`{P8KrC!-4qe{(*rDL;M=Vd+*qriK8eRz)G(~j-@5ffi0@5U6}vjZC_%$I3Z zLQP~{VGlH#lmJt}Dr!<5b4FGFs57ulOH`wfJW*D&9)@ou5X{iBV65Lh?mv;AKJpYQDTl0StTWU&aYkvP{bA5L>W1Tf7dBvCbCN(LCyp z_a%i3bWiGM1znod=C#tMJD2Y_C=bIBu*HCYB}>=C>d!9sdxRcsyu8n_ zvCpx=4V*0>V^svAk6D;YcTR#8G=|Q|b#hd!Kx7#9O;62raz?Bmb%ax{&1j-$YzCnL zpFubIAvy*@r9C4A)NQU@r9v*5IlRPl42&7mh4op{87_t`t$bEY4D1%zTK1>_51Lc@ zuq^13g!Eox+C0R^ouJdt&X}VNa-RuORSqu71??(Qw36WG0 zkbw6!DQ)jm!IKP|{q;Yp{a&~oMyrMJoOn(A$MZwS_Ya3o{dj93Jo%INE)4zYTi^Q^ zU)uS(KmD)1`CBi}{AfAZO<{{26E|F{3k_uu|M{+nM83!ix6xgVVP&K;xo zy?^fdp8J0F^1J_8WB9&*zUj`t`@lb({@5@4#XEm+>tFn%L-TL^?vH*olQ^;fI*2vgTIdphrJF47>P0k)Xc}BGEuynjw~B@G+7v9GPJarh<5yR! zkUcueyfV~MYZYz{N4vYzbEPR#8GwOSfU{zNTt@R~YN@-sgTp%;MIkx3R)@2>5{UYn zc3!t^sn#NPL#3uDBGoMFM)L8D-ksw^55U+ z`K3ZYz(X;dDE983n>+vHQGS4W_JV$HyV!H&+~d`Ge#LvHfJsNc^>pKr*uepsp#wgw zS-6GXO;@bwT_to-STSy)vm1wFjm8@+GmOUhFz7UiRjUrAM< zlaB5}X@gt1%a{>HtoQe80m~riBe%_nJ+h}%u7G-NIcdFoC2Dv~vLB_8by^CTy|1!8 z?SzIK0iciK5!>)!yy$z~^e$NKIrF!)1c;I}zv2c$L8TneKxY%1UH)Yc$tySozI zIq-2q25prx1in}{QB!D1yM!8j@P@L&tU9#9yP=p#m=Ja83eNlku-t3%z`ywR+8UGr z$K1NQiv!962fb^%^-jSx=J>K2_u5+kcHoa`sRV_jn-q*^3xyr|JZb&&K0f$ z6mttnZ*XymkE{v+bIhQp+p!{D;XhKbY=Fk6VuGcl6E~>L09(FR-0hW{vl>`~Tri*9 zDZ0&A{$xxb+5mdGOE}g+M?0t17&DzgAEXRkW0k#WZhvF1<$^E3+SOf7?ux_m?EiEQ z7I3)dFPxyGFEgqYq@ zIaz)|)PWv#>0v@$c2|(doI|*>9(sYdj@A~B`cc{b#)Ar>+7UQAr(kT!Gq3HaXDhg^ zuLHkhs<^eVwUvA1*-;C06?@j2=@r*V`+M5~SU7#*NBksi{ECxOk4{RZwxVl{hI-Kd z){62v3ng`{w{SSXqsg-Z|K}X z{U8xWBJ~W7QDJLDaI$4m-``i4kv{snOO#=UR*)!=A(>_P`^`m4hauZAMbDa0+0l*O4B?$m>e3*r z%4`s<5tQxF(!W&d4xO^Z<*x3IGCl<=j68PG#bD4Et}CJh%e~#5>Q0CMUPDkxp`Bdd zUWb?9Kb&kJv+PV$NJes+LXUr|oBgY|GQlvdbm^0Yu;=Mx^XD&A=NA@tO;)GprsikQJ+`9p zu4bjIJ4gDy6xI9ILEL?gP4Oc1m`sZ%RW#{EVoi$r(xSfg-JIs?^Rkpx#oyv8+VT}-m*dp1#Gr{0aO=HMZnf)X0pIHB##uF;hLA3Q$6Nqk6QpTp^yCBtOI;aK z2KNcJiLDJ8R-T-Y&(FfwGP0sxK+in|7O5J_YW35CDP$RCiTMfMs*N?=FKQ0zC#>2= zxWlX-!sJpWv+1!7$(MnI-J`VME#HZ(caDv;3}0MtONbP@_R?~%EgsU+vWH*XMYC&a z1M5Keb3@$&Obg_dc$T~Ps#KqNlXNl%IRsk_BRn)kIqD5Fm zw8o{IMM4uX>$-VFIpvv+crV0Lijw2ym(eB86l8mb#e@K9py(l;m$B65)qKnJPO|)p z-%)uUFM5RvUR5b|^1Za=d(9H1RPtI{@>;V*sVycStAM<5mAu{ET?4CRv%0xaFUdjH z1O{t;i{EQ@3LDZ7@SJpaSj&xZMU;#w+=v*MAxs)N6@yGXCq$v=Ia>|R>v|#B9=q(Z zD}AgzXT~8`ZY&ys7Uf{pk-0Zau-=e3UCW7+rwO#yd&-LQQ7FR?2&s6a&t=g$SKO43 zW_`&<`p^^D{ov$wy~l%B`IZE)@{dhcPMfBTo<7CcSL_&8Gfr;~DygiF$TLS{0iR!C zqWl=fjTv;9%D04-+8cvONsG2ctqTWqmQ-60YcNS#>2`O?KVR11R)C_ng2`Q4 z^FKvXDlvE*A$A=5N$-=l;Ww!+=fUF`6R|ATb?EBbBDmW&V#PQ(&Tesin^&rDTgwtG zosD?pDS4jtr<6RViw;WEpEDt49{vKrQ$&Z7#v@|4HyEGF(Y{b9xO=bgFFNCI z6Y@2CasZ8gnjPFuY_Htk_%cBWObaidve_;M;AjeJqV_IAZO~rjm)`p&~(0u>&m)ohKpP>x4|?vT~GMK_achK(v+Uh9_)k z$_G&IUen#$tKciGdUc>1o~m8VwGg<9Hvq5&2pK4Jl**c^!73n||7`oV|TZii!LCVgbz?Z{EMkMLFC-oO-hpecAJKNsQ_Qx=s=9O5x>rz*;7&=wexJ<%C z9+a4Nf%UN~(jaI9%}crpI_Qv?j0_1dHHAiKT=B(!nqu*<)Y0xu>b-s?RucU+7~1Mf zrjxFKDTNADTmQ*aeQTp&g7RX94fqWkA8qy>L}#tkslO?sg=6ZvZVd;zvDM(rk$Egb zrs;05`h8*QlrG2gP(NkWBbln2ChC@fVbd$l8%$724d5>~d5|N+Ai-Y*`o1Cbf8S&( z74n-%q&ExOB=z6hC{2_%4k^ML5(DYjy9!~)$&1y>f%)pxLiNDh)WwS|%${1*TC8%m zy72hh?Z#xj3|GFU37S z)#W!0@*fLG5H{v&(a!;vnp3SWXZBU+uux>OuiLbj&Q(nKQ-#GFy=A;}R@jWztMgmn z&`RH@e-vV)OHcLfDN2?RYhgPgmvi>=)xU)q{A2WgmqF$9R?BS>?`Ffz6YRQ7eO&P)5 zVWo}J2eqw4g_1iWRaa$lI&7^8xBB243!(h<=}WV7Gu8QB3X~9ZQH<5&lGar}?rRfV z#x+0iCY_-a5a~bN_;1jEeG7^snoQMC$yDEF$D%EIYYjUCubd(=L@H;kC1>yzzwGtf zTEDG_IErPy*^O7Ds;n&1`fpo6wBFx%n}2HqLcCu`!fa{QSV$UAi5RY*OWMw2B_gIf zxw{Z{J$+`jIyciY^~#Rc%tNXnW%k88150)yuzQ_RYPi63d=mQC5+p*lp99O^Gh}f1 z8nVfE{ItuCat%(N~MGyD?dflf?3Qpt%&cJ`iR`b>Qai60Ve|MRW#1 z0m}b8bGzR)UZ2oMg=#p4V#3`XF6rgB?`Q{r(DzK(tD*(brZ`m4<*%m zazHNAY3hz3kC;8F`NNjaEYSebuGJ6klisw6t496%uIi$~J1icSRb1lbFv{pEHjM_& zsC}x!9>Wr0Bo;!2;IJ7S*_rxbZ#E<%z+a8(j*b`n9{`3bo)Hi|I$tk zyff|J0Q;;{P_(qLodio>ry{>P$_#lIwcm&ftH_SlD0V6&Y5c?-Mv?I+%7g{eVq0&} zpu~q84 zwf>CB6;3cf-()(E?m@+!43N&l_iA{m;^I!FJ5zRaSy4oieJh}E=oham1F3O{+KaAO& z;?d0G!#s;poR~JyWQ~C^wYj}U#JSp^a`@zp6OYectXxQ=;}z29PhUJgS6!%9rq0b& zo}8VVtDLS@=BsDVf1xVpta9ek!ln6YB*}D$`TvDwotGRy?^dJ69nnfAL~v;e6%d?AZ%*vu747)AA9C(^n2$ zy0~!uY_s~kZhOp6oH{qnIA_k!SEkROJ$wEfonNe8#C7b_AwTwJHCk8Nbs(9>$|g>V zQROsV`Yj6Hd0D>!pfMV1pcjj+eKaJSr~%tL+6J~Yz|t+;O>va% zkm`cOZ+R|xW_?Wb#l)sgIDwtAV!5MZ9UazQ9rU1PH~VjRVd$I=@eUJ|z(2uO*{ce9 z>Hu@?Rmr$oBum={`OsGwq>nWvacKu10>g?fKN|aaZV~;QF{ESQeJzp5z#haxk%9{?&;{rZ; ze*W{5vllPSO)bhJ?9H{PjMk?Mq5jB$sf!D9)m;b9&sTSys9s#SxU+KX(&@R`>0hlb z-ZL~bGCHI`qZ4-9>rX>Ndxl0VBP|~r8QVQNyn9$REng}AkB^@jt4@p$?H-z$nwg%S zuI|}8G%~$sYG&&6_|)Es@zXPV_D-K3n;71^ckl4n?%^|Idxpj*#;Q}(XQn6ip5Ak2 zdS>R#p3|pCrs!*Q_tg0C-qGsl*y!}o$oTHj(eX3Wd#csx-FrsIM^8^pRL7=vPmJsy z9vz<<86F+kJ5e1yvv+FG?%~tJQ)jBx;i<9VGiRz()zLlUBQv9WC(aCyo(9h9?wQ@x zAKT4f6I0Vedq!ufCuVt-4oN( zBYS6t_Ku9u-_+Fj$jB5U?VX+)8aZ>?^c|=DByKrGn_|qZ+EvNYZoBzBc{N@WCoamlB{=1+5t^fMo|Lutf{z32m@|A~& zzI#%2s-HOZ!13cS+f4OTZlRc7ekuThJVFtVc=l`fT z7yQpwr7Q8N_1@R4_b5z0IX8E7YW7?>dvO|$ukMx#HdWf|C zyx94#{z4~Xu|qr+oA*yysU4e5IWEoMHp%}2y-x9A>i9`%eSTY?jMksqLnqf0lgLlYfa`U#(x+(`!~I`^c_7nh6fVzOaF|`i8tdBCatOvma=n zJpcLM_#;vAS0^?8T-ZkYINl_mxzxwO^+o*b2X9m_-%tLF`~G7?6`Ikv-4jm(7g21KKZ-~U-6&jYy1`9@Q)SWWhs4Lwe<(T+VNT8Mw9%73*nT5g zWb>W~d~755r*rk&4*C^`3~M)PAE1=z)7q|`O6@e7ur}?V<*gtQ;)IO4vE6W!8$|K8 VKd*HFIefCaE&ty={{I34|2O!9m+t@o diff --git a/packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.xml b/packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.xml deleted file mode 100644 index a44f335f3..000000000 --- a/packages/Castle.Core.2.5.2/lib/SL4/Castle.Core.xml +++ /dev/null @@ -1,4443 +0,0 @@ - - - - Castle.Core - - - - - Assignes a specific dictionary key. - - - - - Defines the contract for customizing dictionary access. - - - - - Determines relative order to apply related behaviors. - - - - - Determines relative order to apply related behaviors. - - - - - Defines the contract for updating dictionary values. - - - - - Sets the stored dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if the property should be stored. - - - - Defines the contract for building s. - - - - - Builds the dictionary behaviors. - - - - - - Abstract adapter for the support - needed by the - - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - An element with the same key already exists in the object. - key is null. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - key is null. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - The object is read-only.-or- The has a fixed size. - key is null. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in array at which copying begins. - array is null. - The type of the source cannot be cast automatically to the type of the destination array. - index is less than zero. - array is multidimensional.-or- index is equal to or greater than the length of array.-or- The number of elements in the source is greater than the available space from index to the end of the destination array. - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets or sets the with the specified key. - - - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Constant to use when making assembly internals visible to Castle.Core - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToCastleCore)] - - - - - Constant to use when making assembly internals visible to proxy types generated by DynamicProxy. Required when proxying internal types. - [assembly: InternalsVisibleTo(CoreInternalsVisible.ToDynamicProxyGenAssembly2)] - - - - - Abstract implementation of . - - - - - Conract for traversing a . - - - - - Identifies a property should be represented as a nested component. - - - - - Defines the contract for building typed dictionary keys. - - - - - Builds the specified key. - - The dictionary adapter. - The current key. - The property. - The updated key - - - - Defines the contract for retrieving dictionary values. - - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - Applies no prefix. - - - - - Gets or sets the prefix. - - The prefix. - - - - Identifies the dictionary adapter types. - - - - - Identifies an interface or property to be pre-feteched. - - - - - Instructs fetching to occur. - - - - - Instructs fetching according to - - - - - - Gets whether or not fetching should occur. - - - - - Assigns a property to a group. - - - - - Constructs a group assignment. - - The group name. - - - - Constructs a group assignment. - - The group name. - - - - Gets the group the property is assigned to. - - - - - Assigns a specific dictionary key. - - - - - Initializes a new instance of the class. - - The key. - - - - Initializes a new instance of the class. - - The compound key. - - - - Assigns a prefix to the keyed properties of an interface. - - - - - Initializes a default instance of the class. - - - - - Initializes a new instance of the class. - - The prefix for the keyed properties of the interface. - - - - Gets the prefix key added to the properties of the interface. - - - - - Substitutes part of key with another string. - - - - - Initializes a new instance of the class. - - The old value. - The new value. - - - - Requests support for multi-level editing. - - - - - Contract for dictionary initialization. - - - - - Performs any initialization of the - - The dictionary adapter. - The dictionary behaviors. - - - - Generates a new GUID on demand. - - - - - Support for on-demand value resolution. - - - - - Suppress property change notifications. - - - - - Provides simple string formatting from existing properties. - - - - - Gets the string format. - - - - - Gets the format properties. - - - - - Identifies a property should be represented as a delimited string value. - - - - - Gets the separator. - - - - - Converts all properties to strings. - - - - - Gets or sets the format. - - The format. - - - - Suppress property change notifications. - - - - - Contract for property descriptor initialization. - - - - - Performs any initialization of the - - The property descriptor. - The property behaviors. - - - - Assigns a prefix to the keyed properties using the interface name. - - - - - Manages conversion between property values. - - - - - Initializes a new instance of the class. - - The converter. - - - - Gets the effective dictionary value. - - The dictionary adapter. - The key. - The stored value. - The property. - true if return only existing. - The effective property value. - - - - - - - - - Contract for creating additional Dictionary adapters. - - - - - Contract for manipulating the Dictionary adapter. - - - - - Contract for editing the Dictionary adapter. - - - - - Contract for managing Dictionary adapter notifications. - - - - - Contract for validating Dictionary adapter. - - - - - Uses Reflection.Emit to expose the properties of a dictionary - through a dynamic implementation of a typed interface. - - - - - Defines the contract for building typed dictionary adapters. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets a typed adapter bound to the . - - The typed interface. - The underlying source of properties. - The property descriptor. - An implementation of the typed interface bound to the dictionary. - - The type represented by T must be an interface with properties. - - - - - Gets the associated with the type. - - The typed interface. - The adapter meta-data. - - - - Gets the associated with the type. - - The typed interface. - The property descriptor. - The adapter meta-data. - - - - - - - - - - - - - - - - - - - - - - - - - Describes a dictionary property. - - - - - Initializes an empty class. - - - - - Initializes a new instance of the class. - - The property. - The property behaviors. - - - - Copies an existinginstance of the class. - - - - - - - Gets the key. - - The dictionary adapter. - The key. - The descriptor. - - - - - Adds the key builder. - - The builder. - - - - Adds the key builders. - - The builders. - - - - Copies the key builders to the other - - - - - - - Copies the selected key builders to the other - - - - - - - - Gets the property value. - - The dictionary adapter. - The key. - The stored value. - The descriptor. - true if return only existing. - - - - - Adds the dictionary getter. - - The getter. - - - - Adds the dictionary getters. - - The getters. - - - - Copies the property getters to the other - - - - - - - Copies the selected property getters to the other - - - - - - - - Sets the property value. - - The dictionary adapter. - The key. - The value. - The descriptor. - - - - - Adds the dictionary setter. - - The setter. - - - - Adds the dictionary setters. - - The setters. - - - - Copies the property setters to the other - - - - - - - Copies the selected property setters to the other - - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors. - - - - - - - Adds the behaviors from the builders. - - - - - - - Copies the behaviors to the other - - - - - - - Copies the behaviors to the other - - - - - - - - - - - - - Gets the property name. - - - - - Gets the property type. - - - - - Gets the property. - - The property. - - - - Returns true if the property is dynamic. - - - - - Gets additional state. - - - - - Determines if property should be fetched. - - - - - Determines if notifications should occur. - - - - - Gets the property behaviors. - - - - - Gets the type converter. - - The type converter. - - - - Gets the key builders. - - The key builders. - - - - Gets the setter. - - The setter. - - - - Gets the getter. - - The getter. - - - - Adds the dictionary initializers. - - The initializers. - - - - Adds the dictionary initializers. - - The initializers. - - - - Copies the initializers to the other - - - - - - - Copies the filtered initializers to the other - - - - - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Adds the dictionary meta-data initializers. - - The meta-data initializers. - - - - Copies the meta-initializers to the other - - - - - - - Copies the filtered meta-initializers to the other - - - - - - - - Gets the initializers. - - The initializers. - - - - Gets the meta-data initializers. - - The meta-data initializers. - - - - Contract for dictionary meta-data initialization. - - - - - Performs any initialization of the dictionary adapter meta-data. - - The dictionary adapter factory. - The dictionary adapter meta. - - - - - Contract for dictionary validation. - - - - - Determines if is valid. - - The dictionary adapter. - true if valid. - - - - Validates the . - - The dictionary adapter. - The error summary information. - - - - Validates the for a property. - - The dictionary adapter. - The property to validate. - The property summary information. - - - - Invalidates any results cached by the validator. - - The dictionary adapter. - - - - Helper class for retrieving attributes. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Gets the attributes. Does not consider inherited attributes! - - The member. - The member attributes. - - - - Gets the type attribute. - - The type. - The type attribute. - - - - Gets the type attributes. - - The type. - The type attributes. - - - - Gets the type converter. - - The member. - - - - - Gets the attribute. - - The member. - The member attribute. - - - - Contract for typed dynamic value resolution. - - - - - - Contract for dynamic value resolution. - - - - - Encapsulates an invocation of a proxied method. - - - - - Overrides the value of an argument at the given with the - new provided. - - - This method accepts an , however the value provided must be compatible - with the type of the argument defined on the method, otherwise an exception will be thrown. - - The index of the argument to override. - The new value for the argument. - - - - Gets the value of the argument at the specified . - - The index. - The value of the argument at the specified . - - - - Returns the concrete instantiation of the on the proxy, with any generic - parameters bound to real types. - - - The concrete instantiation of the on the proxy, or the if - not a generic method. - - Can be slower than calling . - - - - Returns the concrete instantiation of , with any - generic parameters bound to real types. - For interface proxies, this will point to the on the target class. - - The concrete instantiation of , or - if not a generic method. - In debug builds this can be slower than calling . - - - - Proceeds the call to the next interceptor in line, and ultimately to the target method. - - - Since interface proxies without a target don't have the target implementation to proceed to, - it is important, that the last interceptor does not call this method, otherwise a - will be thrown. - - - - - Gets the proxy object on which the intercepted method is invoked. - - Proxy object on which the intercepted method is invoked. - - - - Gets the object on which the invocation is performed. This is different from proxy object - because most of the time this will be the proxy target object. - - - The invocation target. - - - - Gets the type of the target object for the intercepted method. - - The type of the target object. - - - - Gets the arguments that the has been invoked with. - - The arguments the method was invoked with. - - - - Gets the generic arguments of the method. - - The generic arguments, or null if not a generic method. - - - - Gets the representing the method being invoked on the proxy. - - The representing the method being invoked. - - - - For interface proxies, this will point to the on the target class. - - The method invocation target. - - - - Gets or sets the return value of the method. - - The return value of the method. - - - - Used during the target type inspection process. Implementors have a chance to customize the - proxy generation process. - - - - - Invoked by the generation process to determine if the specified method should be proxied. - - The type which declares the given method. - The method to inspect. - True if the given method should be proxied; false otherwise. - - - - Invoked by the generation process to notify that a member was not marked as virtual. - - The type which declares the non-virtual member. - The non-virtual member. - - This method gives an opportunity to inspect any non-proxyable member of a type that has - been requested to be proxied, and if appropriate - throw an exception to notify the caller. - - - - - Invoked by the generation process to notify that the whole process has completed. - - - - - Interface describing elements composing generated type - - - - - Checks if the method is public or protected. - - - - - - - Performs some basic screening and invokes the - to select methods. - - - - - - - - - Provides functionality for disassembling instances of attributes to CustomAttributeBuilder form, during the process of emiting new types by Dynamic Proxy. - - - - - Disassembles given attribute instance back to corresponding CustomAttributeBuilder. - - An instance of attribute to disassemble - corresponding 1 to 1 to given attribute instance, or null reference. - - Implementers should return that corresponds to given attribute instance 1 to 1, - that is after calling specified constructor with specified arguments, and setting specified properties and fields with values specified - we should be able to get an attribute instance identical to the one passed in . Implementer can return null - if it wishes to opt out of replicating the attribute. Notice however, that for some cases, like attributes passed explicitly by the user - it is illegal to return null, and doing so will result in exception. - - - - - Handles error during disassembly process - - Type of the attribute being disassembled - Exception thrown during the process - usually null, or (re)throws the exception - - - - Here we try to match a constructor argument to its value. - Since we can't get the values from the assembly, we use some heuristics to get it. - a/ we first try to match all the properties on the attributes by name (case insensitive) to the argument - b/ if we fail we try to match them by property type, with some smarts about convertions (i,e: can use Guid for string). - - - - - We have the following rules here. - Try to find a matching type, failing that, if the parameter is string, get the first property (under the assumption that - we can convert it. - - - - - Attributes can only accept simple types, so we return null for null, - if the value is passed as string we call to string (should help with converting), - otherwise, we use the value as is (enums, integer, etc). - - - - - Base class that exposes the common functionalities - to proxy generation. - - - - - Generates a parameters constructor that initializes the proxy - state with just to make it non-null. - - This constructor is important to allow proxies to be XML serializable - - - - - - It is safe to add mapping (no mapping for the interface exists) - - - - - - - - Generates the constructor for the class that extends - - - - - - - - - Default implementation of interface producing in-memory proxy assemblies. - - - - - Abstracts the implementation of proxy type construction. - - - - - Creates a proxy type for given , using provided. - - The class type to proxy. - The proxy generation options. - The generated proxy type. - Thrown when is a generic type definition. - Thrown when is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given , implementing , using provided. - - The class type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified class and interfaces. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type that proxies calls to members on , implementing , using provided. - - The interface type to proxy. - Additional interface types to proxy. - Type implementing on which calls to the interface members should be intercepted. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface that 'proceeds' executions to the specified target. - Additional interfaces should be only 'mark' interfaces, that is, they should work like interface proxy without target. (See method.) - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given that delegates all calls to the provided interceptors. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface and additional interfaces that delegate all executions to the specified interceptors. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Creates a proxy type for given and that delegates all calls to the provided interceptors and allows interceptors to switch the actual target of invocation. - - The interface type to proxy. - Additional interface types to proxy. - The proxy generation options. - The generated proxy type. - - Implementers should return a proxy type for the specified interface(s) that delegate all executions to the specified interceptors - and uses an instance of the interface as their targets (i.e. ), rather than a class. All classes should then implement interface, - to allow interceptors to switch invocation target with instance of another type implementing called interface. - - Thrown when or any of is a generic type definition. - Thrown when or any of is not public. - Note that to avoid this exception, you can mark offending type internal, and define - pointing to Castle Dynamic Proxy assembly, in assembly containing that type, if this is appropriate. - - - - - Gets or sets the that this logs to. - - - - - Gets the associated with this builder. - - The module scope associated with this builder. - - - - Initializes a new instance of the class with new . - - - - - Initializes a new instance of the class. - - The module scope for generated proxy types. - - - - Registers custom disassembler to handle disassembly of specified type of attributes. - - Type of attributes to handle - Disassembler converting existing instances of Attributes to CustomAttributeBuilders - - When disassembling an attribute Dynamic Proxy will first check if an custom disassembler has been registered to handle attributes of that type, - and if none is found, it'll use the . - - - - - Attributes should be replicated if they are non-inheritable, - but there are some special cases where the attributes means - something to the CLR, where they should be skipped. - - - - - Initializes a new instance of the class. - - Target element. This is either target type or target method for invocation types. - The type of the proxy. This is base type for invocation types. - The interfaces. - The options. - - - - Initializes a new instance of the class. - - Type of the target. - The interfaces. - The options. - - - s - Provides appropriate Ldc.X opcode for the type of primitive value to be loaded. - - - - - Provides appropriate Ldind.X opcode for - the type of primitive value to be loaded indirectly. - - - - - Emits a load opcode of the appropriate kind for a constant string or - primitive value. - - - - - - - Emits a load opcode of the appropriate kind for the constant default value of a - type, such as 0 for value types and null for reference types. - - - - - Emits a load indirect opcode of the appropriate type for a value or object reference. - Pops a pointer off the evaluation stack, dereferences it and loads - a value of the specified type. - - - - - - - Emits a store indirectopcode of the appropriate type for a value or object reference. - Pops a value of the specified type and a pointer off the evaluation stack, and - stores the value. - - - - - - - Summary description for PropertiesCollection. - - - - - Wraps a reference that is passed - ByRef and provides indirect load/store support. - - - - - Summary description for NewArrayExpression. - - - - - - - - - - Provides appropriate Stind.X opcode - for the type of primitive value to be stored indirectly. - - - - - Returns list of all unique interfaces implemented given types, including their base interfaces. - - - - - - - Initializes a new instance of the class. - - The name. - Type declaring the original event being overriten, or null. - - The add method. - The remove method. - The attributes. - - - - Represents the scope of uniquenes of names for types and their members - - - - - Gets a unique name based on - - Name suggested by the caller - Unique name based on . - - Implementers should provide name as closely resembling as possible. - Generally if no collision occurs it is suggested to return suggested name, otherwise append sequential suffix. - Implementers must return deterministic names, that is when is called twice - with the same suggested name, the same returned name should be provided each time. Non-deterministic return - values, like appending random suffices will break serialization of proxies. - - - - - Returns new, disposable naming scope. It is responsibilty of the caller to make sure that no naming collision - with enclosing scope, or other subscopes is possible. - - New naming scope. - - - - Returns the methods implemented by a type. Use this instead of Type.GetMethods() to work around a CLR issue - where duplicate MethodInfos are returned by Type.GetMethods() after a token of a generic type's method was loaded. - - - - - Determines whether this assembly has internals visible to dynamic proxy. - - The assembly to inspect. - - - - Determines whether the specified method is internal. - - The method. - - true if the specified method is internal; otherwise, false. - - - - - Because we need to cache the types based on the mixed in mixins, we do the following here: - - Get all the mixin interfaces - - Sort them by full name - - Return them by position - - The idea is to have reproducable behavior for the case that mixins are registered in different orders. - This method is here because it is required - - - - - Summary description for ModuleScope. - - - - - The default file name used when the assembly is saved using . - - - - - The default assembly (simple) name used for the assemblies generated by a instance. - - - - - Initializes a new instance of the class; assemblies created by this instance will not be saved. - - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Initializes a new instance of the class, allowing to specify whether the assemblies generated by this instance - should be saved and what simple names are to be assigned to them. - - If set to true saves the generated module. - If set to true disables ability to generate signed module. This should be used in cases where ran under constrained permissions. - Naming scope used to provide unique names to generated types and their members (usually via sub-scopes). - The simple name of the strong-named assembly generated by this . - The path and file name of the manifest module of the strong-named assembly generated by this . - The simple name of the weak-named assembly generated by this . - The path and file name of the manifest module of the weak-named assembly generated by this . - - - - Returns a type from this scope's type cache, or null if the key cannot be found. - - The key to be looked up in the cache. - The type from this scope's type cache matching the key, or null if the key cannot be found - - - - Registers a type in this scope's type cache. - - The key to be associated with the type. - The type to be stored in the cache. - - - - Gets the key pair used to sign the strong-named assembly generated by this . - - - - - - Gets the specified module generated by this scope, creating a new one if none has yet been generated. - - If set to true, a strong-named module is returned; otherwise, a weak-named module is returned. - A strong-named or weak-named module generated by this scope, as specified by the parameter. - - - - Gets the strong-named module generated by this scope, creating a new one if none has yet been generated. - - A strong-named module generated by this scope. - - - - Gets the weak-named module generated by this scope, creating a new one if none has yet been generated. - - A weak-named module generated by this scope. - - - - Users of this should use this lock when accessing the cache. - - - - - Gets the strong-named module generated by this scope, or if none has yet been generated. - - The strong-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the strongly named module generated by this scope. - - The file name of the strongly named module generated by this scope. - - - - Gets the weak-named module generated by this scope, or if none has yet been generated. - - The weak-named module generated by this scope, or if none has yet been generated. - - - - Gets the file name of the weakly named module generated by this scope. - - The file name of the weakly named module generated by this scope. - - - - Initializes a new instance of the class. - - The hook. - - - - Initializes a new instance of the class. - - - - - Provides proxy objects for classes and interfaces. - - - - - Initializes a new instance of the class. - - Proxy types builder. - - - - Initializes a new instance of the class. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - Object proxying calls to members of on object. - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method generates new proxy type for each type of , which affects performance. If you don't want to proxy types differently depending on the type of the target - use method. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on object with given . - Interceptors can use interface to provide other target for method invocation than default . - - Type of the interface implemented by which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on object or alternative implementation swapped at runtime by an interceptor. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - Thrown when given does not implement interface. - Thrown when no default constructor exists on actual type of object. - Thrown when default constructor of actual type of throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of types on generated target object. - - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - As a result of that also at least one implementation must be provided. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of type on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of interfaces to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not an interface type. - - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to members of interface on target object generated at runtime with given . - - Type of the interface which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - Object proxying calls to members of and types on generated target object. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given array is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not an interface type. - - Since this method uses an empty-shell implementation of to proxy generated at runtime, the actual implementation of proxied methods must be provided by given implementations. - They are responsible for setting return value (and out parameters) on proxied methods. It is also illegal for an interceptor to call , since there's no actual implementation to proceed with. - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The target object, calls to which will be intercepted. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no parameterless constructor exists on type . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of type. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no default constructor exists on type . - Thrown when default constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates proxy object intercepting calls to virtual members of type on newly created instance of that type with given . - - Type of class which will be proxied. - Additional interface types. Calls to their members will be proxied as well. - The proxy generation options used to influence generated proxy type and object. - Arguments of constructor of type which should be used to create a new instance of that type. - The interceptors called during the invocation of proxied methods. - - New object of type proxying calls to virtual members of and types. - - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given object is a null reference (Nothing in Visual Basic). - Thrown when given or any of is a generic type definition. - Thrown when given is not a class type. - Thrown when no constructor exists on type with parameters matching . - Thrown when constructor of type throws an exception. - - This method uses implementation to generate a proxy type. - As such caller should expect any type of exception that given implementation may throw. - - - - - Creates the proxy type for class proxy with given class, implementing given and using provided . - - The base class for proxy type. - The interfaces that proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - Actual type that the proxy type will encompass. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy with target interface for given interface, implementing given on given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Creates the proxy type for interface proxy without target for given interface, implementing given and using provided . - - The interface proxy type should implement. - The additional interfaces proxy type should implement. - The options for proxy generation process. - of proxy. - - - - Gets or sets the that this log to. - - - - - Gets the proxy builder instance used to generate proxy types. - - The proxy builder. - - - - The silverlight System.Type is missing the IsNested property so this exposes similar functionality. - - - - - - - http://www.dolittle.com/blogs/einar/archive/2008/01/13/missing-enum-getvalues-when-doing-silverlight-for-instance.aspx - - - - - Holds objects representing methods of class. - - - - - Provides an extension point that allows proxies to choose specific interceptors on - a per method basis. - - - - - Selects the interceptors that should intercept calls to the given . - - The type declaring the method to intercept. - The method that will be intercepted. - All interceptors registered with the proxy. - An array of interceptors to invoke upon calling the . - - This method is called only once per proxy instance, upon the first call to the - . Either an empty array or null are valid return values to indicate - that no interceptor should intercept calls to the method. Although it is not advised, it is - legal to return other implementations than these provided in - . - - - - - Creates a new lock. - - - - - - This interface should be implemented by classes - that are available in a bigger context, exposing - the container to different areas in the same application. - - For example, in Web application, the (global) HttpApplication - subclasses should implement this interface to expose - the configured container - - - - - - Exposes means to change target objects of proxies and invocations - - - - - Changes the target object () of current . - - The new value of target of invocation. - - Although the method takes the actual instance must be of type assignable to , otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - Permanently changes the target object of the proxy. This does not affect target of the current invocation. - - The new value of target of the proxy. - - Although the method takes the actual instance must be of type assignable to proxy's target type, otherwise an will be thrown. - Also while it's technically legal to pass null reference (Nothing in Visual Basic) as , for obvious reasons Dynamic Proxy will not be able to call the intercepted method on such target. - In this case last interceptor in the pipeline mustn't call or a will be throws. - Also while it's technically legal to pass proxy itself as , this would create stack overflow. - In this case last interceptor in the pipeline mustn't call or a will be throws. - - Thrown when is not assignable to the proxied type. - - - - New interface that is going to be used by DynamicProxy 2 - - - - - Get the proxy target (note that null is a valid target!) - - - - - - Gets the interceptors for the proxy - - - - - - Defines that the implementation wants a - in order to - access other components. The creator must be aware - that the component might (or might not) implement - the interface. - - - Used by Castle Project components to, for example, - gather logging factories - - - - - Increments IServiceProvider with a generic service resolution operation. - - - - - Provides a factory that can produce either or - classes. - - - - - Manages the instantiation of s. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new extended logger, getting the logger name from the specified type. - - - - - Creates a new extended logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Creates a new logger, getting the logger name from the specified type. - - - - - Creates a new logger. - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - Interface for Context Properties implementations - - - - This interface defines a basic property get set accessor. - - - Based on the ContextPropertiesBase of log4net, by Nicko Cadell. - - - - - - Gets or sets the value of a property - - - The value for the property with the specified key - - - - Gets or sets the value of a property - - - - - - Gets the configuration file. - - i.e. log4net.config - - - - - NullLogFactory used when logging is turned off. - - - - - Creates an instance of ILogger with the specified name. - - Name. - - - - - Creates an instance of ILogger with the specified name and LoggerLevel. - - Name. - Level. - - - - - Provides an interface that supports and - allows the storage and retrieval of Contexts. These are supported in - both log4net and NLog. - - - - - Manages logging. - - - This is a facade for the different logging subsystems. - It offers a simplified interface that follows IOC patterns - and a simplified priority/level/severity abstraction. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Create a new child logger. - The name of the child logger is [current-loggers-name].[passed-in-name] - - The Subname of this logger. - The New ILogger instance. - If the name has an empty element name. - - - - Determines if messages of priority "debug" will be logged. - - True if "debug" messages will be logged. - - - - Determines if messages of priority "info" will be logged. - - True if "info" messages will be logged. - - - - Determines if messages of priority "warn" will be logged. - - True if "warn" messages will be logged. - - - - Determines if messages of priority "error" will be logged. - - True if "error" messages will be logged. - - - - Determines if messages of priority "fatal" will be logged. - - True if "fatal" messages will be logged. - - - - Determines if messages of priority "fatalError" will be logged. - - True if "fatalError" messages will be logged. - - - - Exposes the Global Context of the extended logger. - - - - - Exposes the Thread Context of the extended logger. - - - - - Exposes the Thread Stack of the extended logger. - - - - - Supporting Logger levels. - - - - - Logging will be off - - - - - Fatal logging level - - - - - Error logging level - - - - - Warn logging level - - - - - Info logging level - - - - - Debug logging level - - - - - The Logger sending everything to the standard output streams. - This is mainly for the cases when you have a utility that - does not have a logger to supply. - - - - - The Level Filtered Logger class. This is a base clase which - provides a LogLevel attribute and reroutes all functions into - one Log method. - - - - - Creates a new LevelFilteredLogger. - - - - - Logs a debug message. - - The message to log - - - - Logs a debug message. - - The exception to log - The message to log - - - - Logs a debug message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a debug message. - - Message format - Array of objects to write using format - - - - Logs an info message. - - The message to log - - - - Logs an info message. - - The exception to log - The message to log - - - - Logs an info message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an info message. - - Message format - Array of objects to write using format - - - - Logs a warn message. - - The message to log - - - - Logs a warn message. - - The exception to log - The message to log - - - - Logs a warn message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a warn message. - - Message format - Array of objects to write using format - - - - Logs an error message. - - The message to log - - - - Logs an error message. - - The exception to log - The message to log - - - - Logs an error message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs an error message. - - Message format - Array of objects to write using format - - - - Logs a fatal message. - - The message to log - - - - Logs a fatal message. - - The exception to log - The message to log - - - - Logs a fatal message. - - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - The exception to log - The format provider to use - Format string for the message to log - Format arguments for the message to log - - - - Logs a fatal message. - - Message format - Array of objects to write using format - - - - Logs a fatal error message. - - The Message - - - - Logs a fatal error message. - - The Message - The Exception - - - - Logs a fatal error message. - - Message format - Array of objects to write using format - - - - Implementors output the log content by implementing this method only. - Note that exception can be null - - - - - - - - - The LoggerLevel that this logger - will be using. Defaults to LoggerLevel.Off - - - - - The name that this logger will be using. - Defaults to String.Empty - - - - - Determines if messages of priority "debug" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "info" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "warn" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "error" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Determines if messages of priority "fatal" will be logged. - - true if log level flags include the bit - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug and the Name - set to String.Empty. - - - - - Creates a new ConsoleLogger with the Name - set to String.Empty. - - The logs Level. - - - - Creates a new ConsoleLogger with the Level - set to LoggerLevel.Debug. - - The logs Name. - - - - Creates a new ConsoleLogger. - - The logs Name. - The logs Level. - - - - A Common method to log. - - The level of logging - The name of the logger - The Message - The Exception - - - - Returns a new ConsoleLogger with the name - added after this loggers name, with a dot in between. - - The added hierarchical name. - A new ConsoleLogger. - - - - The Null Logger class. This is useful for implementations where you need - to provide a logger to a utility class, but do not want any output from it. - It also helps when you have a utility that does not have a logger to supply. - - - - - Creates a new NullLogger. - - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - Ignored - Ignored - - - - No-op. - - Ignored - - - - No-op. - - Ignored - Ignored - - - - No-op. - - Ignored - Ignored - - - - Returns this NullLogger. - - Ignored - This ILogger instance. - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - No-op. - - false - - - - Returns empty context properties. - - - - - Returns empty context properties. - - - - - Returns empty context stacks. - - - - - The Stream Logger class. This class can stream log information - to any stream, it is suitable for storing a log file to disk, - or to a MemoryStream for testing your components. - - - This logger is not thread safe. - - - - - Creates a new StreamLogger with default encoding - and buffer size. Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - - - Creates a new StreamLogger with default buffer size. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - - - Creates a new StreamLogger. - Initial Level is set to Debug. - - - The name of the log. - - - The stream that will be used for logging, - seeking while the logger is alive - - - The encoding that will be used for this stream. - - - - The buffer size that will be used for this stream. - - - - - - Creates a new StreamLogger with - Debug as default Level. - - The name of the log. - The StreamWriter the log will write to. - - - - This is an abstract implementation - that deals with methods that can be abstracted away - from underlying implementations. - - - AbstractConfiguration makes easier to implementers - to create a new version of - - - - - is a interface encapsulating a configuration node - used to retrieve configuration values. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the conversion fails. - - The Value converted into the specified type. - - - - Gets the name of the node. - - - The Name of the node. - - - - - Gets the value of the node. - - - The Value of the node. - - - - - Gets an of - elements containing all node children. - - The Collection of child nodes. - - - - Gets an of the configuration attributes. - - - - - Gets the value of the node and converts it - into specified . - - The - - The Default value returned if the convertion fails. - - The Value converted into the specified type. - - - - Gets the name of the . - - - The Name of the . - - - - - Gets the value of . - - - The Value of the . - - - - - Gets all child nodes. - - The of child nodes. - - - - Gets node attributes. - - - All attributes of the node. - - - - - A collection of objects. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Creates a new instance of ConfigurationCollection. - - - - - Summary description for MutableConfiguration. - - - - - Initializes a new instance of the class. - - The name. - - - - Gets the value of . - - - The Value of the . - - - - - General purpose class to represent a standard pair of values. - - Type of the first value - Type of the second value - - - - Constructs a pair with its values - - - - - - - List of utility methods related to dynamic proxy operations - - - - - Determines whether the specified type is a proxy generated by - DynamicProxy (1 or 2). - - The type. - - true if it is a proxy; otherwise, false. - - - - - Pendent - - - - - Initializes a new instance of the class. - - The target. - - - - Determines whether the object contains an element with the specified key. - - The key to locate in the object. - - true if the contains an element with the key; otherwise, false. - - - is null. - - - - Adds an element with the provided key and value to the object. - - The to use as the key of the element to add. - The to use as the value of the element to add. - - is null. - An element with the same key already exists in the object. - The is read-only.-or- The has a fixed size. - - - - Removes all elements from the object. - - The object is read-only. - - - - Returns an object for the object. - - - An object for the object. - - - - - Removes the element with the specified key from the object. - - The key of the element to remove. - - is null. - The object is read-only.-or- The has a fixed size. - - - - Copies the elements of the to an , starting at a particular index. - - The one-dimensional that is the destination of the elements copied from . The must have zero-based indexing. - The zero-based index in at which copying begins. - - is null. - - is less than zero. - - is multidimensional.-or- is equal to or greater than the length of .-or- The number of elements in the source is greater than the available space from to the end of the destination . - The type of the source cannot be cast automatically to the type of the destination . - - - - Returns an enumerator that iterates through a collection. - - - An object that can be used to iterate through the collection. - - - - - Gets or sets the with the specified key. - - - - - - Gets an object containing the keys of the object. - - - An object containing the keys of the object. - - - - Gets an object containing the values in the object. - - - An object containing the values in the object. - - - - Gets a value indicating whether the object is read-only. - - - true if the object is read-only; otherwise, false. - - - - Gets a value indicating whether the object has a fixed size. - - - true if the object has a fixed size; otherwise, false. - - - - Gets the number of elements contained in the . - - - The number of elements contained in the . - - - - Gets an object that can be used to synchronize access to the . - - - An object that can be used to synchronize access to the . - - - - Gets a value indicating whether access to the is synchronized (thread safe). - - - true if access to the is synchronized (thread safe); otherwise, false. - - - - Represents a 'streamable' resource. Can - be a file, a resource in an assembly. - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - Returns a reader for the stream - - - It's up to the caller to dispose the reader. - - - - - - - Returns an instance of - created according to the relativePath - using itself as the root. - - - - - - - - - - Only valid for resources that - can be obtained through relative paths - - - - - - - - - - This returns a new stream instance each time it is called. - It is the responsability of the caller to dispose of this stream - - - - - Depicts the contract for resource factories. - - - - - Used to check whether the resource factory - is able to deal with the given resource - identifier. - - - Implementors should return true - only if the given identifier is supported - by the resource factory - - - - - - - Creates an instance - for the given resource identifier - - - - - - - Creates an instance - for the given resource identifier - - - - - - - - - - - - - Adapts a static string content as an - - - - - Enable access to files on network shares - - - - diff --git a/packages/Castle.Core.2.5.2/lib/releaseNotes.txt b/packages/Castle.Core.2.5.2/lib/releaseNotes.txt deleted file mode 100644 index 30485eebb..000000000 --- a/packages/Castle.Core.2.5.2/lib/releaseNotes.txt +++ /dev/null @@ -1,8 +0,0 @@ -You can find full list of changes in changes.txt, list of breaking changes in breakingchanges.txt (there are no known breaking changes between 2.5.1 and 2.5.2 release). - -Issue tracker: - http://issues.castleproject.org/dashboard -Documentation (work in progress): -Dictionary Adapter - http://stw.castleproject.org/Tools.Castle-DictionaryAdapter.ashx -DynamicProxy - http://stw.castleproject.org/Tools.DynamicProxy.ashx -Discusssion group: - http://groups.google.com/group/castle-project-users -StackOverflow tags: - castle-dynamicproxy, castle-dictionaryadapter, castle \ No newline at end of file diff --git a/packages/Glimpse.0.81/Content/App_Readme/glimpse.readme.txt b/packages/Glimpse.0.81/Content/App_Readme/glimpse.readme.txt deleted file mode 100644 index bcbb782ce..000000000 --- a/packages/Glimpse.0.81/Content/App_Readme/glimpse.readme.txt +++ /dev/null @@ -1,140 +0,0 @@ -Release notes moved to bottom of file! --------------------------------------- - -Using Glimpse -------------- -Thank you for NuGetting Glimpse, A client side Glimpse into whats going on in your server. - -Glimpse is currently in Beta. - -If you experience any issues, or have feature requests, please report them to https://github.com/Glimpse/Glimpse/issues - -To get started with Glimpse, visit [http://yoursite.com]/Glimpse/Config/ This page hosts the Glimpse bookmarklets, useful for quickly turning on Glimpse. - -The following configuration values are allowed for Glimpse in your web.config: - - - - - - - - - - - - - - - - -For more info, visit the homepage at http://getGlimpse.com or follow #glimpse on Twitter. - - -Overview --------- -At its core Glimpse allows you to debug your web site right in the browser. Glimpse allows you to "Glimpse" into what's going on in your web server. In other words what Firebug is to debugging your client side code, Glimpse is to debugging your server within the client. - -Fundamentally Glimpse is made up of 3 different parts, all of which are extensible and customizable for any platform: - -* Glimpse Server Module -* Glimpse Client Side Viewer -* Glimpse Protocol - - -How it Works ------------- -On the Server: - -1. Server collects all server side information that will aid in debugging (i.e. application settings, routes, session variables, trace data, etc) -2. It does this by running through a pipeline of server side data providers that can be dynamically controlled and added to under our plugin architecture -3. Before the response is send, the server formats this data in accordance with the Glimpse Protocol and serializes it as JSON -4. Depending on whether it is an Ajax request or not, the server embeds the JSON in the content of the page - -On the Client: - -5. Depending on whether it is a Ajax request or not, the client picks up the JSON data and displays the it by executing a pipeline of client side data providers that can be dynamically controlled and added to under our plugin architecture -6. The client side module then dynamically renders a client side UI (similar to Firebug Lite) that lets you view this data - -Glimpse can be turned on or off by a series of different mechanisms, but at its core if the Glimpse cookie is present the server will provide the "debug" data - as a security measure, the request for debug data is "authenticated". - - -Server Implementations ----------------------- -Given the scope of the project and what it can do, the concept isn't restricted to any one platform. Hence, once mature, Glimpse Server Module will be available on all major web platforms. - -Platforms currently supported: - -* ASP.Net MVC - -Platforms target to be supported: - -* ASP.Net Web Forms -* PHP -* Ruby on Rails - -NOTE - If you would like help develop a Glimpse Server Module for a given platform please let us know. - - -Client Implementations ----------------------- -To start with the Glimpse Client Side Viewer is simply a light weight JavaScript "plugin" that understands the Glimpse Protocol and knows how to render the data. From a technology standpoint we currently use jQuery as the client side framework. - -Eventually, we would like to have actual browser plugins that provide richer functionality and experience, but the JavaScript version of the Glimpse Client Side Viewer is surprisingly well featured, intuitive and provides a high fidelity experience. We also hope to have a version for mobile ready soon which customizes the viewing/usage experience when using a mobile device. - -Protocol --------- -Details coming soon. - -Release Notes -------------- -05/08/2011 - 0.81 -- Changed plugin initialization so that SetupInit is only called once. -- Added list of loaded plugins to Glimpse/Config -- Added node to configuration to allow for blacklisting unwanted plugins. Configuration takes the form -- Updated Binding plugin to have acctual view data -- Fixed bugs with getting NotImplemented exceptions on trace tab -- Fixed bugs with users who were extending DefaultModelBinder -- Added ability to set glimpseState (cookie) to Hidden, which allows Glimpse to record and track remote client requests without rendering UI/Data to their response. (Useful for use with the remote tab) -- Added GlimpseTrace static facade to simplify tracing - -04/28/2011 - 0.80 -- Removed dependency on System.Drawing -- Fixed bugs related to projects that used custom ControllerActionInvokers -- Fixed bugs related to projects using custom FilterProviders -- Added MetaData tab which gives details of primary View Model and primary View Models properties (note this is not recursive at the moment) -- Environment tab now shows site trust level -- Performance improvments for supporting virtual directories -- Glimpse should now work in jQuery noConflict mode -- Added Glimpse Warnings tab, used to help debug Glimpse problems going forward - -04/20/2011 - 0.79 -- Client bug fixes for popout window -- Client bug fixes for virtual directories -- Various javascript fixes - -04/16/2011 - 0.78 -- Breaking change is you created custom plugins. Plugin interface moved from Glimpse.Protocol to Glimpse.Net.Extensibility namespace -- Fixed bug which threw ReflectionTypeLoadExceptions by using custom SafeDirectoryCatalog (Special thanks to Craig Wagner for helping us track this down!) -- Fixed pathing issues experienced by users hosting from virtual directories -- Added Request tab to show form, query string and cookies as the server saw them -- Added ViewData/ViewBag and TempData info to the details column of the Views tab -- Added Area support to Routes tab -- Added Glimpse Warnings tab, which will only appear when a MEF loading issue is thrown -- Added ability to open Glimpse in popup mode (alpha) -- Added symbols package to symbolsource.org for simplified debugging by the community - -04/14/2011 - 0.77 -- Fixed issues with most InvalidOperationException's/Circular references. Now if there is an issue, handle it more gracefully, and it only affects one tab. (More complete fix coming soon!) -- /Glimpse/Config is no longer case sensitive, and certain reports of 404’s to this page have been fixed. In addition, this page has been improved to be more understandable. -- As of right now, Glimpse only supports MVC3. We have identified the issues with MVC2, and are working to correct them. Special shout out to @rugvedvaidya for providing the (long!) workaround to get Glimpse running on MVC2. - -04/13/2011 - 0.76 -- Added "Time Elapsed" column to the Execution tab. -- Fixed 2 bugs with IE9 client rendering. -- Fixed bug with CSS text-alignment. -- Changed to Apache 2 license. - -Attribution ------------ -Some Icons are Copyright © Yusuke Kamiyamane. [http://p.yusukekamiyamane.com/] \ No newline at end of file diff --git a/packages/Glimpse.0.81/Content/web.config.transform b/packages/Glimpse.0.81/Content/web.config.transform deleted file mode 100644 index e309f2dd4..000000000 --- a/packages/Glimpse.0.81/Content/web.config.transform +++ /dev/null @@ -1,14 +0,0 @@ - - -
- - - - - - - - - - - \ No newline at end of file diff --git a/packages/Glimpse.0.81/Glimpse.0.81.nupkg b/packages/Glimpse.0.81/Glimpse.0.81.nupkg deleted file mode 100644 index 286ac8486fa69087cd884e530736ad1d4ec8cf26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 293774 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%0AOTT{xc|liGVf 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
9IEuS#swlQqD?g&4# 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%0A#eZlpzd!sG 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 z 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 W%NYxe#UVB}F78f@AiY7^ulxrnI!mDd diff --git a/packages/PetaPoco.4.0.2/Content/Models/Generated/Database.tt b/packages/PetaPoco.4.0.2/Content/Models/Generated/Database.tt deleted file mode 100644 index 464641a44..000000000 --- a/packages/PetaPoco.4.0.2/Content/Models/Generated/Database.tt +++ /dev/null @@ -1,32 +0,0 @@ -<#@ include file="PetaPoco.Core.ttinclude" #> -<# - // Settings - ConnectionStringName = ""; // Uses last connection string in config if not specified - Namespace = ""; - RepoName = ""; - GenerateOperations = true; - GeneratePocos = true; - GenerateCommon = true; - ClassPrefix = ""; - ClassSuffix = ""; - - // Read schema - var tables = LoadTables(); - - -/* - // Tweak Schema - tables["tablename"].Ignore = true; // To ignore a table - tables["tablename"].ClassName = "newname"; // To change the class name of a table - tables["tablename"]["columnname"].Ignore = true; // To ignore a column - tables["tablename"]["columnname"].PropertyName="newname"; // To change the property name of a column - tables["tablename"]["columnname"].PropertyType="bool"; // To change the property type of a column -*/ - - // Generate output - if (tables.Count>0) - { -#> -<#@ include file="PetaPoco.Generator.ttinclude" #> -<# } #> - diff --git a/packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Core.ttinclude b/packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Core.ttinclude deleted file mode 100644 index e50730354..000000000 --- a/packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Core.ttinclude +++ /dev/null @@ -1,1615 +0,0 @@ -<#@ template language="C#v3.5" hostspecific="True" #> -<#@ assembly name="EnvDTE" #> -<#@ assembly name="System.Core.dll" #> -<#@ assembly name="System.Data" #> -<#@ assembly name="System.Xml" #> -<#@ assembly name="System.Configuration" #> -<#@ assembly name="System.Windows.Forms" #> -<#@ import namespace="System.Collections.Generic" #> -<#@ import namespace="System.Data" #> -<#@ import namespace="System.Data.SqlClient" #> -<#@ import namespace="System.Data.Common" #> -<#@ import namespace="System.Diagnostics" #> -<#@ import namespace="System.Globalization" #> -<#@ import namespace="System.IO" #> -<#@ import namespace="System.Linq" #> -<#@ import namespace="System.Text" #> -<#@ import namespace="System.Text.RegularExpressions" #> -<#@ import namespace="System.Configuration" #> -<#@ import namespace="System.Windows.Forms" #> -<#+ - -/* - This code is part of the PetaPoco project (http://www.toptensoftware.com/petapoco). - It is based on the SubSonic T4 templates but has been considerably re-organized and reduced - - ----------------------------------------------------------------------------------------- - - This template can read minimal schema information from the following databases: - - * SQL Server - * SQL Server CE - * MySQL - * PostGreSQL - * Oracle - - For connection and provider settings the template will look for the web.config or app.config file of the - containing Visual Studio project. It will not however read DbProvider settings from this file. - - In order to work, the appropriate driver must be registered in the system machine.config file. If you're - using Visual Studio 2010 the file you want is here: - - C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config - - After making changes to machine.config you will also need to restart Visual Studio. - - Here's a typical set of entries that might help if you're stuck: - - - - - - - - - - - - - - Also, the providers and their dependencies need to be installed to GAC. - - Eg; this is how I installed the drivers for PostgreSQL - - gacutil /i Npgsql.dll - gacutil /i Mono.Security.dll - - ----------------------------------------------------------------------------------------- - - SubSonic - http://subsonicproject.com - - The contents of this file are subject to the New BSD - License (the "License"); you may not use this file - except in compliance with the License. You may obtain a copy of - the License at http://www.opensource.org/licenses/bsd-license.php - - Software distributed under the License is distributed on an - "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or - implied. See the License for the specific language governing - rights and limitations under the License. -*/ - -string ConnectionStringName = ""; -string Namespace = ""; -string RepoName = ""; -string ClassPrefix = ""; -string ClassSuffix = ""; -string SchemaName = null; -bool IncludeViews = false; -bool GenerateOperations = false; -bool GenerateCommon = true; -bool GeneratePocos = true; - - - -public class Table -{ - public List Columns; - public string Name; - public string Schema; - public bool IsView; - public string CleanName; - public string ClassName; - public string SequenceName; - public bool Ignore; - - public Column PK - { - get - { - return this.Columns.SingleOrDefault(x=>x.IsPK); - } - } - - public Column GetColumn(string columnName) - { - return Columns.Single(x=>string.Compare(x.Name, columnName, true)==0); - } - - public Column this[string columnName] - { - get - { - return GetColumn(columnName); - } - } - -} - -public class Column -{ - public string Name; - public string PropertyName; - public string PropertyType; - public bool IsPK; - public bool IsNullable; - public bool IsAutoIncrement; - public bool Ignore; -} - -public class Tables : List -{ - public Tables() - { - } - - public Table GetTable(string tableName) - { - return this.Single(x=>string.Compare(x.Name, tableName, true)==0); - } - - public Table this[string tableName] - { - get - { - return GetTable(tableName); - } - } - -} - - -static Regex rxCleanUp = new Regex(@"[^\w\d_]", RegexOptions.Compiled); - -static Func CleanUp = (str) => -{ - str = rxCleanUp.Replace(str, "_"); - if (char.IsDigit(str[0])) str = "_" + str; - - return str; -}; - -string CheckNullable(Column col) -{ - string result=""; - if(col.IsNullable && - col.PropertyType !="byte[]" && - col.PropertyType !="string" && - col.PropertyType !="Microsoft.SqlServer.Types.SqlGeography" && - col.PropertyType !="Microsoft.SqlServer.Types.SqlGeometry" - ) - result="?"; - return result; -} - -string GetConnectionString(ref string connectionStringName, out string providerName) -{ - var _CurrentProject = GetCurrentProject(); - - providerName=null; - - string result=""; - ExeConfigurationFileMap configFile = new ExeConfigurationFileMap(); - configFile.ExeConfigFilename = GetConfigPath(); - - if (string.IsNullOrEmpty(configFile.ExeConfigFilename)) - throw new ArgumentNullException("The project does not contain App.config or Web.config file."); - - - var config = System.Configuration.ConfigurationManager.OpenMappedExeConfiguration(configFile, ConfigurationUserLevel.None); - var connSection=config.ConnectionStrings; - - //if the connectionString is empty - which is the defauls - //look for count-1 - this is the last connection string - //and takes into account AppServices and LocalSqlServer - if(string.IsNullOrEmpty(connectionStringName)) - { - if(connSection.ConnectionStrings.Count>1) - { - connectionStringName = connSection.ConnectionStrings[connSection.ConnectionStrings.Count-1].Name; - result=connSection.ConnectionStrings[connSection.ConnectionStrings.Count-1].ConnectionString; - providerName=connSection.ConnectionStrings[connSection.ConnectionStrings.Count-1].ProviderName; - } - } - else - { - try - { - result=connSection.ConnectionStrings[connectionStringName].ConnectionString; - providerName=connSection.ConnectionStrings[connectionStringName].ProviderName; - } - catch - { - result="There is no connection string name called '"+connectionStringName+"'"; - } - } - -// if (String.IsNullOrEmpty(providerName)) -// providerName="System.Data.SqlClient"; - - return result; -} - -string _connectionString=""; -string _providerName=""; - -void InitConnectionString() -{ - if(String.IsNullOrEmpty(_connectionString)) - { - _connectionString=GetConnectionString(ref ConnectionStringName, out _providerName); - - if(_connectionString.Contains("|DataDirectory|")) - { - //have to replace it - string dataFilePath=GetDataDirectory(); - _connectionString=_connectionString.Replace("|DataDirectory|",dataFilePath); - } - } -} - -public string ConnectionString -{ - get - { - InitConnectionString(); - return _connectionString; - } -} - -public string ProviderName -{ - get - { - InitConnectionString(); - return _providerName; - } -} - -public EnvDTE.Project GetCurrentProject() { - - IServiceProvider _ServiceProvider = (IServiceProvider)Host; - if (_ServiceProvider == null) - throw new Exception("Host property returned unexpected value (null)"); - - EnvDTE.DTE dte = (EnvDTE.DTE)_ServiceProvider.GetService(typeof(EnvDTE.DTE)); - if (dte == null) - throw new Exception("Unable to retrieve EnvDTE.DTE"); - - Array activeSolutionProjects = (Array)dte.ActiveSolutionProjects; - if (activeSolutionProjects == null) - throw new Exception("DTE.ActiveSolutionProjects returned null"); - - EnvDTE.Project dteProject = (EnvDTE.Project)activeSolutionProjects.GetValue(0); - if (dteProject == null) - throw new Exception("DTE.ActiveSolutionProjects[0] returned null"); - - return dteProject; - -} - -private string GetProjectPath() -{ - EnvDTE.Project project = GetCurrentProject(); - System.IO.FileInfo info = new System.IO.FileInfo(project.FullName); - return info.Directory.FullName; -} - -private string GetConfigPath() -{ - EnvDTE.Project project = GetCurrentProject(); - foreach (EnvDTE.ProjectItem item in project.ProjectItems) - { - // if it is the app.config file, then open it up - if (item.Name.Equals("App.config",StringComparison.InvariantCultureIgnoreCase) || item.Name.Equals("Web.config",StringComparison.InvariantCultureIgnoreCase)) - return GetProjectPath() + "\\" + item.Name; - } - return String.Empty; -} - -public string GetDataDirectory() -{ - EnvDTE.Project project=GetCurrentProject(); - return System.IO.Path.GetDirectoryName(project.FileName)+"\\App_Data\\"; -} - -static string zap_password(string connectionString) -{ - var rx = new Regex("password=.*;", RegexOptions.Singleline | RegexOptions.Multiline | RegexOptions.IgnoreCase); - return rx.Replace(connectionString, "password=**zapped**;"); -} - - - -Tables LoadTables() -{ - InitConnectionString(); - - WriteLine("// This file was automatically generated by the PetaPoco T4 Template"); - WriteLine("// Do not make changes directly to this file - edit the template instead"); - WriteLine("// "); - WriteLine("// The following connection settings were used to generate this file"); - WriteLine("// "); - WriteLine("// Connection String Name: `{0}`", ConnectionStringName); - WriteLine("// Provider: `{0}`", ProviderName); - WriteLine("// Connection String: `{0}`", zap_password(ConnectionString)); - WriteLine("// Schema: `{0}`", SchemaName); - WriteLine("// Include Views: `{0}`", IncludeViews); - WriteLine(""); - - DbProviderFactory _factory; - try - { - _factory = DbProviderFactories.GetFactory(ProviderName); - } - catch (Exception x) - { - var error=x.Message.Replace("\r\n", "\n").Replace("\n", " "); - Warning(string.Format("Failed to load provider `{0}` - {1}", ProviderName, error)); - WriteLine(""); - WriteLine("// -----------------------------------------------------------------------------------------"); - WriteLine("// Failed to load provider `{0}` - {1}", ProviderName, error); - WriteLine("// -----------------------------------------------------------------------------------------"); - WriteLine(""); - return new Tables(); - } - - try - { - Tables result; - using(var conn=_factory.CreateConnection()) - { - conn.ConnectionString=ConnectionString; - conn.Open(); - - SchemaReader reader=null; - - if (_factory.GetType().Name == "MySqlClientFactory") - { - // MySql - reader=new MySqlSchemaReader(); - } - else if (_factory.GetType().Name == "SqlCeProviderFactory") - { - // SQL CE - reader=new SqlServerCeSchemaReader(); - } - else if (_factory.GetType().Name == "NpgsqlFactory") - { - // PostgreSQL - reader=new PostGreSqlSchemaReader(); - } - else if (_factory.GetType().Name == "OracleClientFactory") - { - // Oracle - reader=new OracleSchemaReader(); - } - else - { - // Assume SQL Server - reader=new SqlServerSchemaReader(); - } - - reader.outer=this; - result=reader.ReadSchema(conn, _factory); - - // Remove unrequired tables/views - for (int i=result.Count-1; i>=0; i--) - { - if (SchemaName!=null && string.Compare(result[i].Schema, SchemaName, true)!=0) - { - result.RemoveAt(i); - continue; - } - if (!IncludeViews && result[i].IsView) - { - result.RemoveAt(i); - continue; - } - } - - conn.Close(); - - - var rxClean = new Regex("^(Equals|GetHashCode|GetType|ToString|repo|Save|IsNew|Insert|Update|Delete|Exists|SingleOrDefault|Single|First|FirstOrDefault|Fetch|Page|Query)$"); - foreach (var t in result) - { - t.ClassName = ClassPrefix + t.ClassName + ClassSuffix; - foreach (var c in t.Columns) - { - c.PropertyName = rxClean.Replace(c.PropertyName, "_$1"); - - // Make sure property name doesn't clash with class name - if (c.PropertyName == t.ClassName) - c.PropertyName = "_" + c.PropertyName; - } - } - - return result; - } - } - catch (Exception x) - { - var error=x.Message.Replace("\r\n", "\n").Replace("\n", " "); - Warning(string.Format("Failed to read database schema - {0}", error)); - WriteLine(""); - WriteLine("// -----------------------------------------------------------------------------------------"); - WriteLine("// Failed to read database schema - {0}", error); - WriteLine("// -----------------------------------------------------------------------------------------"); - WriteLine(""); - return new Tables(); - } - - -} - -abstract class SchemaReader -{ - public abstract Tables ReadSchema(DbConnection connection, DbProviderFactory factory); - public GeneratedTextTransformation outer; - public void WriteLine(string o) - { - outer.WriteLine(o); - } - -} - -class SqlServerSchemaReader : SchemaReader -{ - // SchemaReader.ReadSchema - public override Tables ReadSchema(DbConnection connection, DbProviderFactory factory) - { - var result=new Tables(); - - _connection=connection; - _factory=factory; - - var cmd=_factory.CreateCommand(); - cmd.Connection=connection; - cmd.CommandText=TABLE_SQL; - - //pull the tables in a reader - using(cmd) - { - - using (var rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Table tbl=new Table(); - tbl.Name=rdr["TABLE_NAME"].ToString(); - tbl.Schema=rdr["TABLE_SCHEMA"].ToString(); - tbl.IsView=string.Compare(rdr["TABLE_TYPE"].ToString(), "View", true)==0; - tbl.CleanName=CleanUp(tbl.Name); - tbl.ClassName=Inflector.MakeSingular(tbl.CleanName); - - result.Add(tbl); - } - } - } - - foreach (var tbl in result) - { - tbl.Columns=LoadColumns(tbl); - - // Mark the primary key - string PrimaryKey=GetPK(tbl.Name); - var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==PrimaryKey.ToLower().Trim()); - if(pkColumn!=null) - { - pkColumn.IsPK=true; - } - } - - - return result; - } - - DbConnection _connection; - DbProviderFactory _factory; - - - List LoadColumns(Table tbl) - { - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=COLUMN_SQL; - - var p = cmd.CreateParameter(); - p.ParameterName = "@tableName"; - p.Value=tbl.Name; - cmd.Parameters.Add(p); - - p = cmd.CreateParameter(); - p.ParameterName = "@schemaName"; - p.Value=tbl.Schema; - cmd.Parameters.Add(p); - - var result=new List(); - using (IDataReader rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Column col=new Column(); - col.Name=rdr["ColumnName"].ToString(); - col.PropertyName=CleanUp(col.Name); - col.PropertyType=GetPropertyType(rdr["DataType"].ToString()); - col.IsNullable=rdr["IsNullable"].ToString()=="YES"; - col.IsAutoIncrement=((int)rdr["IsIdentity"])==1; - result.Add(col); - } - } - - return result; - } - } - - string GetPK(string table){ - - string sql=@"SELECT c.name AS ColumnName - FROM sys.indexes AS i - INNER JOIN sys.index_columns AS ic ON i.object_id = ic.object_id AND i.index_id = ic.index_id - INNER JOIN sys.objects AS o ON i.object_id = o.object_id - LEFT OUTER JOIN sys.columns AS c ON ic.object_id = c.object_id AND c.column_id = ic.column_id - WHERE (i.type = 1) AND (o.name = @tableName)"; - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=sql; - - var p = cmd.CreateParameter(); - p.ParameterName = "@tableName"; - p.Value=table; - cmd.Parameters.Add(p); - - var result=cmd.ExecuteScalar(); - - if(result!=null) - return result.ToString(); - } - - return ""; - } - - string GetPropertyType(string sqlType) - { - string sysType="string"; - switch (sqlType) - { - case "bigint": - sysType = "long"; - break; - case "smallint": - sysType= "short"; - break; - case "int": - sysType= "int"; - break; - case "uniqueidentifier": - sysType= "Guid"; - break; - case "smalldatetime": - case "datetime": - case "date": - case "time": - sysType= "DateTime"; - break; - case "float": - sysType="double"; - break; - case "real": - sysType="float"; - break; - case "numeric": - case "smallmoney": - case "decimal": - case "money": - sysType= "decimal"; - break; - case "tinyint": - sysType = "byte"; - break; - case "bit": - sysType= "bool"; - break; - case "image": - case "binary": - case "varbinary": - case "timestamp": - sysType= "byte[]"; - break; - case "geography": - sysType = "Microsoft.SqlServer.Types.SqlGeography"; - break; - case "geometry": - sysType = "Microsoft.SqlServer.Types.SqlGeometry"; - break; - } - return sysType; - } - - - - const string TABLE_SQL=@"SELECT * - FROM INFORMATION_SCHEMA.TABLES - WHERE TABLE_TYPE='BASE TABLE' OR TABLE_TYPE='VIEW'"; - - const string COLUMN_SQL=@"SELECT - TABLE_CATALOG AS [Database], - TABLE_SCHEMA AS Owner, - TABLE_NAME AS TableName, - COLUMN_NAME AS ColumnName, - ORDINAL_POSITION AS OrdinalPosition, - COLUMN_DEFAULT AS DefaultSetting, - IS_NULLABLE AS IsNullable, DATA_TYPE AS DataType, - CHARACTER_MAXIMUM_LENGTH AS MaxLength, - DATETIME_PRECISION AS DatePrecision, - COLUMNPROPERTY(object_id('[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'), COLUMN_NAME, 'IsIdentity') AS IsIdentity, - COLUMNPROPERTY(object_id('[' + TABLE_SCHEMA + '].[' + TABLE_NAME + ']'), COLUMN_NAME, 'IsComputed') as IsComputed - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME=@tableName AND TABLE_SCHEMA=@schemaName - ORDER BY OrdinalPosition ASC"; - -} - -class SqlServerCeSchemaReader : SchemaReader -{ - // SchemaReader.ReadSchema - public override Tables ReadSchema(DbConnection connection, DbProviderFactory factory) - { - var result=new Tables(); - - _connection=connection; - _factory=factory; - - var cmd=_factory.CreateCommand(); - cmd.Connection=connection; - cmd.CommandText=TABLE_SQL; - - //pull the tables in a reader - using(cmd) - { - using (var rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Table tbl=new Table(); - tbl.Name=rdr["TABLE_NAME"].ToString(); - tbl.CleanName=CleanUp(tbl.Name); - tbl.ClassName=Inflector.MakeSingular(tbl.CleanName); - tbl.Schema=null; - tbl.IsView=false; - result.Add(tbl); - } - } - } - - foreach (var tbl in result) - { - tbl.Columns=LoadColumns(tbl); - - // Mark the primary key - string PrimaryKey=GetPK(tbl.Name); - var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==PrimaryKey.ToLower().Trim()); - if(pkColumn!=null) - pkColumn.IsPK=true; - } - - - return result; - } - - DbConnection _connection; - DbProviderFactory _factory; - - - List LoadColumns(Table tbl) - { - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=COLUMN_SQL; - - var p = cmd.CreateParameter(); - p.ParameterName = "@tableName"; - p.Value=tbl.Name; - cmd.Parameters.Add(p); - - var result=new List(); - using (IDataReader rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Column col=new Column(); - col.Name=rdr["ColumnName"].ToString(); - col.PropertyName=CleanUp(col.Name); - col.PropertyType=GetPropertyType(rdr["DataType"].ToString()); - col.IsNullable=rdr["IsNullable"].ToString()=="YES"; - col.IsAutoIncrement=rdr["AUTOINC_INCREMENT"]!=DBNull.Value; - result.Add(col); - } - } - - return result; - } - } - - string GetPK(string table){ - - string sql=@"SELECT KCU.COLUMN_NAME - FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE KCU - JOIN INFORMATION_SCHEMA.TABLE_CONSTRAINTS TC - ON KCU.CONSTRAINT_NAME=TC.CONSTRAINT_NAME - WHERE TC.CONSTRAINT_TYPE='PRIMARY KEY' - AND KCU.TABLE_NAME=@tableName"; - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=sql; - - var p = cmd.CreateParameter(); - p.ParameterName = "@tableName"; - p.Value=table; - cmd.Parameters.Add(p); - - var result=cmd.ExecuteScalar(); - - if(result!=null) - return result.ToString(); - } - - return ""; - } - - string GetPropertyType(string sqlType) - { - string sysType="string"; - switch (sqlType) - { - case "bigint": - sysType = "long"; - break; - case "smallint": - sysType= "short"; - break; - case "int": - sysType= "int"; - break; - case "uniqueidentifier": - sysType= "Guid"; - break; - case "smalldatetime": - case "datetime": - case "date": - case "time": - sysType= "DateTime"; - break; - case "float": - sysType="double"; - break; - case "real": - sysType="float"; - break; - case "numeric": - case "smallmoney": - case "decimal": - case "money": - sysType= "decimal"; - break; - case "tinyint": - sysType = "byte"; - break; - case "bit": - sysType= "bool"; - break; - case "image": - case "binary": - case "varbinary": - case "timestamp": - sysType= "byte[]"; - break; - } - return sysType; - } - - - - const string TABLE_SQL=@"SELECT * - FROM INFORMATION_SCHEMA.TABLES - WHERE TABLE_TYPE='TABLE'"; - - const string COLUMN_SQL=@"SELECT - TABLE_CATALOG AS [Database], - TABLE_SCHEMA AS Owner, - TABLE_NAME AS TableName, - COLUMN_NAME AS ColumnName, - ORDINAL_POSITION AS OrdinalPosition, - COLUMN_DEFAULT AS DefaultSetting, - IS_NULLABLE AS IsNullable, DATA_TYPE AS DataType, - AUTOINC_INCREMENT, - CHARACTER_MAXIMUM_LENGTH AS MaxLength, - DATETIME_PRECISION AS DatePrecision - FROM INFORMATION_SCHEMA.COLUMNS - WHERE TABLE_NAME=@tableName - ORDER BY OrdinalPosition ASC"; - -} - - -class PostGreSqlSchemaReader : SchemaReader -{ - // SchemaReader.ReadSchema - public override Tables ReadSchema(DbConnection connection, DbProviderFactory factory) - { - var result=new Tables(); - - _connection=connection; - _factory=factory; - - var cmd=_factory.CreateCommand(); - cmd.Connection=connection; - cmd.CommandText=TABLE_SQL; - - //pull the tables in a reader - using(cmd) - { - using (var rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Table tbl=new Table(); - tbl.Name=rdr["table_name"].ToString(); - tbl.Schema=rdr["table_schema"].ToString(); - tbl.IsView=string.Compare(rdr["TABLE_TYPE"].ToString(), "View", true)==0; - tbl.CleanName=CleanUp(tbl.Name); - tbl.ClassName=Inflector.MakeSingular(tbl.CleanName); - result.Add(tbl); - } - } - } - - foreach (var tbl in result) - { - tbl.Columns=LoadColumns(tbl); - - // Mark the primary key - string PrimaryKey=GetPK(tbl.Name); - var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==PrimaryKey.ToLower().Trim()); - if(pkColumn!=null) - pkColumn.IsPK=true; - } - - - return result; - } - - DbConnection _connection; - DbProviderFactory _factory; - - - List LoadColumns(Table tbl) - { - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=COLUMN_SQL; - - var p = cmd.CreateParameter(); - p.ParameterName = "@tableName"; - p.Value=tbl.Name; - cmd.Parameters.Add(p); - - var result=new List(); - using (IDataReader rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Column col=new Column(); - col.Name=rdr["column_name"].ToString(); - col.PropertyName=CleanUp(col.Name); - col.PropertyType=GetPropertyType(rdr["udt_name"].ToString()); - col.IsNullable=rdr["is_nullable"].ToString()=="YES"; - col.IsAutoIncrement = rdr["column_default"].ToString().StartsWith("nextval("); - result.Add(col); - } - } - - return result; - } - } - - string GetPK(string table){ - - string sql=@"SELECT kcu.column_name - FROM information_schema.key_column_usage kcu - JOIN information_schema.table_constraints tc - ON kcu.constraint_name=tc.constraint_name - WHERE lower(tc.constraint_type)='primary key' - AND kcu.table_name=@tablename"; - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=sql; - - var p = cmd.CreateParameter(); - p.ParameterName = "@tableName"; - p.Value=table; - cmd.Parameters.Add(p); - - var result=cmd.ExecuteScalar(); - - if(result!=null) - return result.ToString(); - } - - return ""; - } - - string GetPropertyType(string sqlType) - { - switch (sqlType) - { - case "int8": - case "serial8": - return "long"; - - case "bool": - return "bool"; - - case "bytea ": - return "byte[]"; - - case "float8": - return "double"; - - case "int4": - case "serial4": - return "int"; - - case "money ": - return "decimal"; - - case "numeric": - return "decimal"; - - case "float4": - return "float"; - - case "int2": - return "short"; - - case "time": - case "timetz": - case "timestamp": - case "timestamptz": - case "date": - return "DateTime"; - - default: - return "string"; - } - } - - - - const string TABLE_SQL=@" - SELECT table_name - FROM information_schema.tables - WHERE (table_type='BASE TABLE' OR table_type='VIEW') - AND table_schema NOT IN ('pg_catalog', 'information_schema'); - "; - - const string COLUMN_SQL=@" - SELECT column_name, is_nullable, udt_name, column_default - FROM information_schema.columns - WHERE table_name=@tableName; - "; - -} - -class MySqlSchemaReader : SchemaReader -{ - // SchemaReader.ReadSchema - public override Tables ReadSchema(DbConnection connection, DbProviderFactory factory) - { - var result=new Tables(); - - - var cmd=factory.CreateCommand(); - cmd.Connection=connection; - cmd.CommandText=TABLE_SQL; - - //pull the tables in a reader - using(cmd) - { - using (var rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Table tbl=new Table(); - tbl.Name=rdr["TABLE_NAME"].ToString(); - tbl.Schema=rdr["TABLE_SCHEMA"].ToString(); - tbl.IsView=string.Compare(rdr["TABLE_TYPE"].ToString(), "View", true)==0; - tbl.CleanName=CleanUp(tbl.Name); - tbl.ClassName=Inflector.MakeSingular(tbl.CleanName); - result.Add(tbl); - } - } - } - - - //this will return everything for the DB - var schema = connection.GetSchema("COLUMNS"); - - //loop again - but this time pull by table name - foreach (var item in result) - { - item.Columns=new List(); - - //pull the columns from the schema - var columns = schema.Select("TABLE_NAME='" + item.Name + "'"); - foreach (var row in columns) - { - Column col=new Column(); - col.Name=row["COLUMN_NAME"].ToString(); - col.PropertyName=CleanUp(col.Name); - col.PropertyType=GetPropertyType(row); - col.IsNullable=row["IS_NULLABLE"].ToString()=="YES"; - col.IsPK=row["COLUMN_KEY"].ToString()=="PRI"; - col.IsAutoIncrement=row["extra"].ToString().ToLower().IndexOf("auto_increment")>=0; - - item.Columns.Add(col); - } - } - - return result; - - } - - static string GetPropertyType(DataRow row) - { - bool bUnsigned = row["COLUMN_TYPE"].ToString().IndexOf("unsigned")>=0; - string propType="string"; - switch (row["DATA_TYPE"].ToString()) - { - case "bigint": - propType= bUnsigned ? "ulong" : "long"; - break; - case "int": - propType= bUnsigned ? "uint" : "int"; - break; - case "smallint": - propType= bUnsigned ? "ushort" : "short"; - break; - case "guid": - propType= "Guid"; - break; - case "smalldatetime": - case "date": - case "datetime": - case "timestamp": - propType= "DateTime"; - break; - case "float": - propType="float"; - break; - case "double": - propType="double"; - break; - case "numeric": - case "smallmoney": - case "decimal": - case "money": - propType= "decimal"; - break; - case "bit": - case "bool": - case "boolean": - case "tinyint": - propType= "bool"; - break; - case "image": - case "binary": - case "blob": - case "mediumblob": - case "longblob": - case "varbinary": - propType= "byte[]"; - break; - - } - return propType; - } - - const string TABLE_SQL=@" - SELECT * - FROM information_schema.tables - WHERE (table_type='BASE TABLE' OR table_type='VIEW') - "; - -} - -class OracleSchemaReader : SchemaReader -{ - // SchemaReader.ReadSchema - public override Tables ReadSchema(DbConnection connection, DbProviderFactory factory) - { - var result=new Tables(); - - _connection=connection; - _factory=factory; - - var cmd=_factory.CreateCommand(); - cmd.Connection=connection; - cmd.CommandText=TABLE_SQL; - cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); - - //pull the tables in a reader - using(cmd) - { - - using (var rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Table tbl=new Table(); - tbl.Name=rdr["TABLE_NAME"].ToString(); - tbl.Schema = rdr["TABLE_SCHEMA"].ToString(); - tbl.IsView=string.Compare(rdr["TABLE_TYPE"].ToString(), "View", true)==0; - tbl.CleanName=CleanUp(tbl.Name); - tbl.ClassName=Inflector.MakeSingular(tbl.CleanName); - result.Add(tbl); - } - } - } - - foreach (var tbl in result) - { - tbl.Columns=LoadColumns(tbl); - - // Mark the primary key - string PrimaryKey=GetPK(tbl.Name); - var pkColumn=tbl.Columns.SingleOrDefault(x=>x.Name.ToLower().Trim()==PrimaryKey.ToLower().Trim()); - if(pkColumn!=null) - pkColumn.IsPK=true; - } - - - return result; - } - - DbConnection _connection; - DbProviderFactory _factory; - - - List LoadColumns(Table tbl) - { - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=COLUMN_SQL; - cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); - - var p = cmd.CreateParameter(); - p.ParameterName = ":tableName"; - p.Value=tbl.Name; - cmd.Parameters.Add(p); - - var result=new List(); - using (IDataReader rdr=cmd.ExecuteReader()) - { - while(rdr.Read()) - { - Column col=new Column(); - col.Name=rdr["ColumnName"].ToString(); - col.PropertyName=CleanUp(col.Name); - col.PropertyType=GetPropertyType(rdr["DataType"].ToString(), (rdr["DataType"] == DBNull.Value ? null : rdr["DataType"].ToString())); - col.IsNullable=rdr["IsNullable"].ToString()=="YES"; - col.IsAutoIncrement=true; - result.Add(col); - } - } - - return result; - } - } - - string GetPK(string table){ - - string sql=@"select column_name from USER_CONSTRAINTS uc - inner join USER_CONS_COLUMNS ucc on uc.constraint_name = ucc.constraint_name -where uc.constraint_type = 'P' -and uc.table_name = upper(:tableName) -and ucc.position = 1"; - - using (var cmd=_factory.CreateCommand()) - { - cmd.Connection=_connection; - cmd.CommandText=sql; - cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); - - var p = cmd.CreateParameter(); - p.ParameterName = ":tableName"; - p.Value=table; - cmd.Parameters.Add(p); - - var result=cmd.ExecuteScalar(); - - if(result!=null) - return result.ToString(); - } - - return ""; - } - - string GetPropertyType(string sqlType, string dataScale) - { - string sysType="string"; - switch (sqlType.ToLower()) - { - case "bigint": - sysType = "long"; - break; - case "smallint": - sysType= "short"; - break; - case "int": - sysType= "int"; - break; - case "uniqueidentifier": - sysType= "Guid"; - break; - case "smalldatetime": - case "datetime": - case "date": - sysType= "DateTime"; - break; - case "float": - sysType="double"; - break; - case "real": - case "numeric": - case "smallmoney": - case "decimal": - case "money": - case "number": - sysType= "decimal"; - break; - case "tinyint": - sysType = "byte"; - break; - case "bit": - sysType= "bool"; - break; - case "image": - case "binary": - case "varbinary": - case "timestamp": - sysType= "byte[]"; - break; - } - - if (sqlType == "number" && dataScale == "0") - return "long"; - - return sysType; - } - - - - const string TABLE_SQL=@"select TABLE_NAME from USER_TABLES"; - - const string COLUMN_SQL=@"select table_name TableName, - column_name ColumnName, - data_type DataType, - data_scale DataScale, - nullable IsNullable - from USER_TAB_COLS utc - where table_name = upper(:tableName) - order by column_id"; - -} - - - - -/// -/// Summary for the Inflector class -/// -public static class Inflector { - private static readonly List _plurals = new List(); - private static readonly List _singulars = new List(); - private static readonly List _uncountables = new List(); - - /// - /// Initializes the class. - /// - static Inflector() { - AddPluralRule("$", "s"); - AddPluralRule("s$", "s"); - AddPluralRule("(ax|test)is$", "$1es"); - AddPluralRule("(octop|vir)us$", "$1i"); - AddPluralRule("(alias|status)$", "$1es"); - AddPluralRule("(bu)s$", "$1ses"); - AddPluralRule("(buffal|tomat)o$", "$1oes"); - AddPluralRule("([ti])um$", "$1a"); - AddPluralRule("sis$", "ses"); - AddPluralRule("(?:([^f])fe|([lr])f)$", "$1$2ves"); - AddPluralRule("(hive)$", "$1s"); - AddPluralRule("([^aeiouy]|qu)y$", "$1ies"); - AddPluralRule("(x|ch|ss|sh)$", "$1es"); - AddPluralRule("(matr|vert|ind)ix|ex$", "$1ices"); - AddPluralRule("([m|l])ouse$", "$1ice"); - AddPluralRule("^(ox)$", "$1en"); - AddPluralRule("(quiz)$", "$1zes"); - - AddSingularRule("s$", String.Empty); - AddSingularRule("ss$", "ss"); - AddSingularRule("(n)ews$", "$1ews"); - AddSingularRule("([ti])a$", "$1um"); - AddSingularRule("((a)naly|(b)a|(d)iagno|(p)arenthe|(p)rogno|(s)ynop|(t)he)ses$", "$1$2sis"); - AddSingularRule("(^analy)ses$", "$1sis"); - AddSingularRule("([^f])ves$", "$1fe"); - AddSingularRule("(hive)s$", "$1"); - AddSingularRule("(tive)s$", "$1"); - AddSingularRule("([lr])ves$", "$1f"); - AddSingularRule("([^aeiouy]|qu)ies$", "$1y"); - AddSingularRule("(s)eries$", "$1eries"); - AddSingularRule("(m)ovies$", "$1ovie"); - AddSingularRule("(x|ch|ss|sh)es$", "$1"); - AddSingularRule("([m|l])ice$", "$1ouse"); - AddSingularRule("(bus)es$", "$1"); - AddSingularRule("(o)es$", "$1"); - AddSingularRule("(shoe)s$", "$1"); - AddSingularRule("(cris|ax|test)es$", "$1is"); - AddSingularRule("(octop|vir)i$", "$1us"); - AddSingularRule("(alias|status)$", "$1"); - AddSingularRule("(alias|status)es$", "$1"); - AddSingularRule("^(ox)en", "$1"); - AddSingularRule("(vert|ind)ices$", "$1ex"); - AddSingularRule("(matr)ices$", "$1ix"); - AddSingularRule("(quiz)zes$", "$1"); - - AddIrregularRule("person", "people"); - AddIrregularRule("man", "men"); - AddIrregularRule("child", "children"); - AddIrregularRule("sex", "sexes"); - AddIrregularRule("tax", "taxes"); - AddIrregularRule("move", "moves"); - - AddUnknownCountRule("equipment"); - AddUnknownCountRule("information"); - AddUnknownCountRule("rice"); - AddUnknownCountRule("money"); - AddUnknownCountRule("species"); - AddUnknownCountRule("series"); - AddUnknownCountRule("fish"); - AddUnknownCountRule("sheep"); - } - - /// - /// Adds the irregular rule. - /// - /// The singular. - /// The plural. - private static void AddIrregularRule(string singular, string plural) { - AddPluralRule(String.Concat("(", singular[0], ")", singular.Substring(1), "$"), String.Concat("$1", plural.Substring(1))); - AddSingularRule(String.Concat("(", plural[0], ")", plural.Substring(1), "$"), String.Concat("$1", singular.Substring(1))); - } - - /// - /// Adds the unknown count rule. - /// - /// The word. - private static void AddUnknownCountRule(string word) { - _uncountables.Add(word.ToLower()); - } - - /// - /// Adds the plural rule. - /// - /// The rule. - /// The replacement. - private static void AddPluralRule(string rule, string replacement) { - _plurals.Add(new InflectorRule(rule, replacement)); - } - - /// - /// Adds the singular rule. - /// - /// The rule. - /// The replacement. - private static void AddSingularRule(string rule, string replacement) { - _singulars.Add(new InflectorRule(rule, replacement)); - } - - /// - /// Makes the plural. - /// - /// The word. - /// - public static string MakePlural(string word) { - return ApplyRules(_plurals, word); - } - - /// - /// Makes the singular. - /// - /// The word. - /// - public static string MakeSingular(string word) { - return ApplyRules(_singulars, word); - } - - /// - /// Applies the rules. - /// - /// The rules. - /// The word. - /// - private static string ApplyRules(IList rules, string word) { - string result = word; - if (!_uncountables.Contains(word.ToLower())) { - for (int i = rules.Count - 1; i >= 0; i--) { - string currentPass = rules[i].Apply(word); - if (currentPass != null) { - result = currentPass; - break; - } - } - } - return result; - } - - /// - /// Converts the string to title case. - /// - /// The word. - /// - public static string ToTitleCase(string word) { - return Regex.Replace(ToHumanCase(AddUnderscores(word)), @"\b([a-z])", - delegate(Match match) { return match.Captures[0].Value.ToUpper(); }); - } - - /// - /// Converts the string to human case. - /// - /// The lowercase and underscored word. - /// - public static string ToHumanCase(string lowercaseAndUnderscoredWord) { - return MakeInitialCaps(Regex.Replace(lowercaseAndUnderscoredWord, @"_", " ")); - } - - - /// - /// Adds the underscores. - /// - /// The pascal cased word. - /// - public static string AddUnderscores(string pascalCasedWord) { - return Regex.Replace(Regex.Replace(Regex.Replace(pascalCasedWord, @"([A-Z]+)([A-Z][a-z])", "$1_$2"), @"([a-z\d])([A-Z])", "$1_$2"), @"[-\s]", "_").ToLower(); - } - - /// - /// Makes the initial caps. - /// - /// The word. - /// - public static string MakeInitialCaps(string word) { - return String.Concat(word.Substring(0, 1).ToUpper(), word.Substring(1).ToLower()); - } - - /// - /// Makes the initial lower case. - /// - /// The word. - /// - public static string MakeInitialLowerCase(string word) { - return String.Concat(word.Substring(0, 1).ToLower(), word.Substring(1)); - } - - - /// - /// Determine whether the passed string is numeric, by attempting to parse it to a double - /// - /// The string to evaluated for numeric conversion - /// - /// true if the string can be converted to a number; otherwise, false. - /// - public static bool IsStringNumeric(string str) { - double result; - return (double.TryParse(str, NumberStyles.Float, NumberFormatInfo.CurrentInfo, out result)); - } - - /// - /// Adds the ordinal suffix. - /// - /// The number. - /// - public static string AddOrdinalSuffix(string number) { - if (IsStringNumeric(number)) { - int n = int.Parse(number); - int nMod100 = n % 100; - - if (nMod100 >= 11 && nMod100 <= 13) - return String.Concat(number, "th"); - - switch (n % 10) { - case 1: - return String.Concat(number, "st"); - case 2: - return String.Concat(number, "nd"); - case 3: - return String.Concat(number, "rd"); - default: - return String.Concat(number, "th"); - } - } - return number; - } - - /// - /// Converts the underscores to dashes. - /// - /// The underscored word. - /// - public static string ConvertUnderscoresToDashes(string underscoredWord) { - return underscoredWord.Replace('_', '-'); - } - - - #region Nested type: InflectorRule - - /// - /// Summary for the InflectorRule class - /// - private class InflectorRule { - /// - /// - /// - public readonly Regex regex; - - /// - /// - /// - public readonly string replacement; - - /// - /// Initializes a new instance of the class. - /// - /// The regex pattern. - /// The replacement text. - public InflectorRule(string regexPattern, string replacementText) { - regex = new Regex(regexPattern, RegexOptions.IgnoreCase); - replacement = replacementText; - } - - /// - /// Applies the specified word. - /// - /// The word. - /// - public string Apply(string word) { - if (!regex.IsMatch(word)) - return null; - - string replace = regex.Replace(word, replacement); - if (word == word.ToUpper()) - replace = replace.ToUpper(); - - return replace; - } - } - - #endregion -} - -#> \ No newline at end of file diff --git a/packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Generator.ttinclude b/packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Generator.ttinclude deleted file mode 100644 index 8bb6b8756..000000000 --- a/packages/PetaPoco.4.0.2/Content/Models/Generated/PetaPoco.Generator.ttinclude +++ /dev/null @@ -1,136 +0,0 @@ -<# -if (string.IsNullOrEmpty(Namespace)) Namespace=ConnectionStringName; -if (string.IsNullOrEmpty(RepoName) && !string.IsNullOrEmpty(ConnectionStringName)) RepoName=ConnectionStringName + "DB"; -if (string.IsNullOrEmpty(Namespace)) Namespace="PetaPoco"; -if (string.IsNullOrEmpty(RepoName)) RepoName="PetaPocoDB"; -#> -using System; -using System.Collections.Generic; -using System.Linq; -using System.Web; -using PetaPoco; - -namespace <#=Namespace #> -{ -<# if (GenerateCommon) { #> - public partial class <#=RepoName#> : Database - { - public <#=RepoName#>() - : base("<#=ConnectionStringName#>") - { - CommonConstruct(); - } - - public <#=RepoName#>(string connectionStringName) - : base(connectionStringName) - { - CommonConstruct(); - } - - partial void CommonConstruct(); - - public interface IFactory - { - <#=RepoName#> GetInstance(); - } - - public static IFactory Factory { get; set; } - public static <#=RepoName#> GetInstance() - { - if (_instance!=null) - return _instance; - - if (Factory!=null) - return Factory.GetInstance(); - else - return new <#=RepoName#>(); - } - - [ThreadStatic] static <#=RepoName#> _instance; - - public override void OnBeginTransaction() - { - if (_instance==null) - _instance=this; - } - - public override void OnEndTransaction() - { - if (_instance==this) - _instance=null; - } - -<# if (GenerateOperations) { #> - public class Record where T:new() - { - public static <#=RepoName#> repo { get { return <#=RepoName#>.GetInstance(); } } - public bool IsNew() { return repo.IsNew(this); } - public void Save() { repo.Save(this); } - public object Insert() { return repo.Insert(this); } - public int Update() { return repo.Update(this); } - public int Delete() { return repo.Delete(this); } - public static int Update(string sql, params object[] args) { return repo.Update(sql, args); } - public static int Update(Sql sql) { return repo.Update(sql); } - public static int Delete(string sql, params object[] args) { return repo.Delete(sql, args); } - public static int Delete(Sql sql) { return repo.Delete(sql); } - public static int Delete(object primaryKey) { return repo.Delete(primaryKey); } - public static bool Exists(object primaryKey) { return repo.Exists(primaryKey); } - public static T SingleOrDefault(object primaryKey) { return repo.SingleOrDefault(primaryKey); } - public static T SingleOrDefault(string sql, params object[] args) { return repo.SingleOrDefault(sql, args); } - public static T SingleOrDefault(Sql sql) { return repo.SingleOrDefault(sql); } - public static T FirstOrDefault(string sql, params object[] args) { return repo.FirstOrDefault(sql, args); } - public static T FirstOrDefault(Sql sql) { return repo.FirstOrDefault(sql); } - public static T Single(object primaryKey) { return repo.Single(primaryKey); } - public static T Single(string sql, params object[] args) { return repo.Single(sql, args); } - public static T Single(Sql sql) { return repo.Single(sql); } - public static T First(string sql, params object[] args) { return repo.First(sql, args); } - public static T First(Sql sql) { return repo.First(sql); } - public static List Fetch(string sql, params object[] args) { return repo.Fetch(sql, args); } - public static List Fetch(Sql sql) { return repo.Fetch(sql); } - public static List Fetch(long page, long itemsPerPage, string sql, params object[] args) { return repo.Fetch(page, itemsPerPage, sql, args); } - public static List Fetch(long page, long itemsPerPage, Sql sql) { return repo.Fetch(page, itemsPerPage, sql); } - public static Page Page(long page, long itemsPerPage, string sql, params object[] args) { return repo.Page(page, itemsPerPage, sql, args); } - public static Page Page(long page, long itemsPerPage, Sql sql) { return repo.Page(page, itemsPerPage, sql); } - public static IEnumerable Query(string sql, params object[] args) { return repo.Query(sql, args); } - public static IEnumerable Query(Sql sql) { return repo.Query(sql); } - } -<# } #> - } -<# } #> - -<# if (GeneratePocos) { #> -<# -foreach(Table tbl in from t in tables where !t.Ignore select t) -{ -#> - - [TableName("<#=tbl.Name#>")] -<# if (tbl.PK!=null && tbl.PK.IsAutoIncrement) { #> -<# if (tbl.SequenceName==null) { #> - [PrimaryKey("<#=tbl.PK.Name#>")] -<# } else { #> - [PrimaryKey("<#=tbl.PK.Name#>", sequenceName="<#=tbl.SequenceName#>")] -<# } #> -<# } #> -<# if (tbl.PK!=null && !tbl.PK.IsAutoIncrement) { #> - [PrimaryKey("<#=tbl.PK.Name#>", autoIncrement=false)] -<# } #> - [ExplicitColumns] - public partial class <#=tbl.ClassName#> <# if (GenerateOperations) { #>: <#=RepoName#>.Record<<#=tbl.ClassName#>> <# } #> - { -<# -foreach(Column col in from c in tbl.Columns where !c.Ignore select c) -{ - // Column bindings -#> -<# if (col.Name!=col.PropertyName) { #> - [Column("<#=col.Name#>")] public <#=col.PropertyType #><#=CheckNullable(col)#> <#=col.PropertyName #> { get; set; } -<# } else { #> - [Column] public <#=col.PropertyType #><#=CheckNullable(col)#> <#=col.PropertyName #> { get; set; } -<# } #> -<# } #> - } - -<# } #> -<# } #> -} diff --git a/packages/PetaPoco.4.0.2/Content/Models/PetaPoco.cs b/packages/PetaPoco.4.0.2/Content/Models/PetaPoco.cs deleted file mode 100644 index 751aef848..000000000 --- a/packages/PetaPoco.4.0.2/Content/Models/PetaPoco.cs +++ /dev/null @@ -1,2186 +0,0 @@ -/* PetaPoco v4.0.2 - A Tiny ORMish thing for your POCO's. - * Copyright © 2011 Topten Software. All Rights Reserved. - * - * Apache License 2.0 - http://www.toptensoftware.com/petapoco/license - * - * Special thanks to Rob Conery (@robconery) for original inspiration (ie:Massive) and for - * use of Subsonic's T4 templates, Rob Sullivan (@DataChomp) for hard core DBA advice - * and Adam Schroder (@schotime) for lots of suggestions, improvements and Oracle support - */ - -// Define PETAPOCO_NO_DYNAMIC in your project settings on .NET 3.5 - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Configuration; -using System.Data.Common; -using System.Data; -using System.Text.RegularExpressions; -using System.Reflection; -using System.Reflection.Emit; -using System.Linq.Expressions; - - -namespace PetaPoco -{ - // Poco's marked [Explicit] require all column properties to be marked - [AttributeUsage(AttributeTargets.Class)] - public class ExplicitColumnsAttribute : Attribute - { - } - // For non-explicit pocos, causes a property to be ignored - [AttributeUsage(AttributeTargets.Property)] - public class IgnoreAttribute : Attribute - { - } - - // For explicit pocos, marks property as a column and optionally supplies column name - [AttributeUsage(AttributeTargets.Property)] - public class ColumnAttribute : Attribute - { - public ColumnAttribute() { } - public ColumnAttribute(string name) { Name = name; } - public string Name { get; set; } - } - - // For explicit pocos, marks property as a result column and optionally supplies column name - [AttributeUsage(AttributeTargets.Property)] - public class ResultColumnAttribute : ColumnAttribute - { - public ResultColumnAttribute() { } - public ResultColumnAttribute(string name) : base(name) { } - } - - // Specify the table name of a poco - [AttributeUsage(AttributeTargets.Class)] - public class TableNameAttribute : Attribute - { - public TableNameAttribute(string tableName) - { - Value = tableName; - } - public string Value { get; private set; } - } - - // Specific the primary key of a poco class (and optional sequence name for Oracle) - [AttributeUsage(AttributeTargets.Class)] - public class PrimaryKeyAttribute : Attribute - { - public PrimaryKeyAttribute(string primaryKey) - { - Value = primaryKey; - autoIncrement = true; - } - - public string Value { get; private set; } - public string sequenceName { get; set; } - public bool autoIncrement { get; set; } - } - - [AttributeUsage(AttributeTargets.Property)] - public class AutoJoinAttribute : Attribute - { - public AutoJoinAttribute() { } - } - - // Results from paged request - public class Page - { - public long CurrentPage { get; set; } - public long TotalPages { get; set; } - public long TotalItems { get; set; } - public long ItemsPerPage { get; set; } - public List Items { get; set; } - public object Context { get; set; } - } - - // Pass as parameter value to force to DBType.AnsiString - public class AnsiString - { - public AnsiString(string str) - { - Value = str; - } - public string Value { get; private set; } - } - - // Used by IMapper to override table bindings for an object - public class TableInfo - { - public string TableName { get; set; } - public string PrimaryKey { get; set; } - public bool AutoIncrement { get; set; } - public string SequenceName { get; set; } - } - - // Optionally provide and implementation of this to Database.Mapper - public interface IMapper - { - void GetTableInfo(Type t, TableInfo ti); - bool MapPropertyToColumn(PropertyInfo pi, ref string columnName, ref bool resultColumn); - Func GetFromDbConverter(PropertyInfo pi, Type SourceType); - Func GetToDbConverter(Type SourceType); - } - - // Database class ... this is where most of the action happens - public class Database : IDisposable - { - public Database(IDbConnection connection) - { - _sharedConnection = connection; - _connectionString = connection.ConnectionString; - _sharedConnectionDepth = 2; // Prevent closing external connection - CommonConstruct(); - } - - public Database(string connectionString, string providerName) - { - _connectionString = connectionString; - _providerName = providerName; - CommonConstruct(); - } - - public Database(string connectionString, DbProviderFactory provider) - { - _connectionString = connectionString; - _factory = provider; - CommonConstruct(); - } - - public Database(string connectionStringName) - { - // Use first? - if (connectionStringName == "") - connectionStringName = ConfigurationManager.ConnectionStrings[0].Name; - - // Work out connection string and provider name - var providerName = "System.Data.SqlClient"; - if (ConfigurationManager.ConnectionStrings[connectionStringName] != null) - { - if (!string.IsNullOrEmpty(ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName)) - providerName = ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName; - } - else - { - throw new InvalidOperationException("Can't find a connection string with the name '" + connectionStringName + "'"); - } - - // Store factory and connection string - _connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString; - _providerName = providerName; - CommonConstruct(); - } - - enum DBType - { - SqlServer, - SqlServerCE, - MySql, - PostgreSQL, - Oracle, - } - DBType _dbType = DBType.SqlServer; - - // Common initialization - private void CommonConstruct() - { - _transactionDepth = 0; - EnableAutoSelect = true; - EnableNamedParams = true; - ForceDateTimesToUtc = true; - - if (_providerName != null) - _factory = DbProviderFactories.GetFactory(_providerName); - - string dbtype = (_factory == null ? _sharedConnection.GetType() : _factory.GetType()).Name; - if (dbtype.StartsWith("MySql")) _dbType = DBType.MySql; - else if (dbtype.StartsWith("SqlCe")) _dbType = DBType.SqlServerCE; - else if (dbtype.StartsWith("Npgsql")) _dbType = DBType.PostgreSQL; - else if (dbtype.StartsWith("Oracle")) _dbType = DBType.Oracle; - - if (_dbType == DBType.MySql && _connectionString != null && _connectionString.IndexOf("Allow User Variables=true") >= 0) - _paramPrefix = "?"; - if (_dbType == DBType.Oracle) - _paramPrefix = ":"; - } - - // Automatically close one open shared connection - public void Dispose() - { - // Automatically close one open connection reference - // (Works with KeepConnectionAlive and manually opening a shared connection) - CloseSharedConnection(); - } - - // Set to true to keep the first opened connection alive until this object is disposed - public bool KeepConnectionAlive { get; set; } - - // Open a connection (can be nested) - public void OpenSharedConnection() - { - if (_sharedConnectionDepth == 0) - { - _sharedConnection = _factory.CreateConnection(); - _sharedConnection.ConnectionString = _connectionString; - _sharedConnection.Open(); - - if (KeepConnectionAlive) - _sharedConnectionDepth++; // Make sure you call Dispose - } - _sharedConnectionDepth++; - } - - // Close a previously opened connection - public void CloseSharedConnection() - { - if (_sharedConnectionDepth > 0) - { - _sharedConnectionDepth--; - if (_sharedConnectionDepth == 0) - { - _sharedConnection.Dispose(); - _sharedConnection = null; - } - } - } - - // Access to our shared connection - public IDbConnection Connection - { - get { return _sharedConnection; } - } - - // Helper to create a transaction scope - public Transaction GetTransaction() - { - return new Transaction(this); - } - - // Use by derived repo generated by T4 templates - public virtual void OnBeginTransaction() { } - public virtual void OnEndTransaction() { } - - // Start a new transaction, can be nested, every call must be - // matched by a call to AbortTransaction or CompleteTransaction - // Use `using (var scope=db.Transaction) { scope.Complete(); }` to ensure correct semantics - public void BeginTransaction() - { - _transactionDepth++; - - if (_transactionDepth == 1) - { - OpenSharedConnection(); - _transaction = _sharedConnection.BeginTransaction(); - _transactionCancelled = false; - OnBeginTransaction(); - } - - } - - // Internal helper to cleanup transaction stuff - void CleanupTransaction() - { - OnEndTransaction(); - - if (_transactionCancelled) - _transaction.Rollback(); - else - _transaction.Commit(); - - _transaction.Dispose(); - _transaction = null; - - CloseSharedConnection(); - } - - // Abort the entire outer most transaction scope - public void AbortTransaction() - { - _transactionCancelled = true; - if ((--_transactionDepth) == 0) - CleanupTransaction(); - } - - // Complete the transaction - public void CompleteTransaction() - { - if ((--_transactionDepth) == 0) - CleanupTransaction(); - } - - // Helper to handle named parameters from object properties - static Regex rxParams = new Regex(@"(? args_dest) - { - return rxParams.Replace(_sql, m => - { - string param = m.Value.Substring(1); - - object arg_val; - - int paramIndex; - if (int.TryParse(param, out paramIndex)) - { - // Numbered parameter - if (paramIndex < 0 || paramIndex >= args_src.Length) - throw new ArgumentOutOfRangeException(string.Format("Parameter '@{0}' specified but only {1} parameters supplied (in `{2}`)", paramIndex, args_src.Length, _sql)); - arg_val = args_src[paramIndex]; - } - else - { - // Look for a property on one of the arguments with this name - bool found = false; - arg_val = null; - foreach (var o in args_src) - { - var pi = o.GetType().GetProperty(param); - if (pi != null) - { - arg_val = pi.GetValue(o, null); - found = true; - break; - } - } - - if (!found) - throw new ArgumentException(string.Format("Parameter '@{0}' specified but none of the passed arguments have a property with this name (in '{1}')", param, _sql)); - } - - // Expand collections to parameter lists - if ((arg_val as System.Collections.IEnumerable) != null && - (arg_val as string) == null && - (arg_val as byte[]) == null) - { - var sb = new StringBuilder(); - foreach (var i in arg_val as System.Collections.IEnumerable) - { - sb.Append((sb.Length == 0 ? "@" : ",@") + args_dest.Count.ToString()); - args_dest.Add(i); - } - return sb.ToString(); - } - else - { - args_dest.Add(arg_val); - return "@" + (args_dest.Count - 1).ToString(); - } - } - ); - } - - // Add a parameter to a DB command - void AddParam(IDbCommand cmd, object item, string ParameterPrefix) - { - // Convert value to from poco type to db type - if (Database.Mapper != null && item!=null) - { - var fn = Database.Mapper.GetToDbConverter(item.GetType()); - if (fn!=null) - item = fn(item); - } - - // Support passed in parameters - var idbParam = item as IDbDataParameter; - if (idbParam != null) - { - idbParam.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); - cmd.Parameters.Add(idbParam); - return; - } - - var p = cmd.CreateParameter(); - p.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); - if (item == null) - { - p.Value = DBNull.Value; - } - else - { - var t = item.GetType(); - if (t.IsEnum) // PostgreSQL .NET driver wont cast enum to int - { - p.Value = (int)item; - } - else if (t == typeof(Guid)) - { - p.Value = item.ToString(); - p.DbType = DbType.String; - p.Size = 40; - } - else if (t == typeof(string)) - { - p.Size = Math.Max((item as string).Length + 1, 4000); // Help query plan caching by using common size - p.Value = item; - } - else if (t == typeof(AnsiString)) - { - // Thanks @DataChomp for pointing out the SQL Server indexing performance hit of using wrong string type on varchar - p.Size = Math.Max((item as AnsiString).Value.Length + 1, 4000); - p.Value = (item as AnsiString).Value; - p.DbType = DbType.AnsiString; - } - else if (t == typeof(bool) && _dbType != DBType.PostgreSQL) - { - p.Value = ((bool)item) ? 1 : 0; - } - else if (item.GetType().Name == "SqlGeography") //SqlGeography is a CLR Type - { - p.GetType().GetProperty("UdtTypeName").SetValue(p, "geography", null); //geography is the equivalent SQL Server Type - p.Value = item; - } - - else if (item.GetType().Name == "SqlGeometry") //SqlGeometry is a CLR Type - { - p.GetType().GetProperty("UdtTypeName").SetValue(p, "geometry", null); //geography is the equivalent SQL Server Type - p.Value = item; - } - else - { - p.Value = item; - } - } - - cmd.Parameters.Add(p); - } - - // Create a command - static Regex rxParamsPrefix = new Regex(@"(?(); - sql = ProcessParams(sql, args, new_args); - args = new_args.ToArray(); - } - - // Perform parameter prefix replacements - if (_paramPrefix != "@") - sql = rxParamsPrefix.Replace(sql, m => _paramPrefix + m.Value.Substring(1)); - sql = sql.Replace("@@", "@"); // <- double @@ escapes a single @ - - // Create the command and add parameters - IDbCommand cmd = _factory == null ? connection.CreateCommand() : _factory.CreateCommand(); - cmd.Connection = connection; - cmd.CommandText = sql; - cmd.Transaction = _transaction; - foreach (var item in args) - { - AddParam(cmd, item, _paramPrefix); - } - - if (_dbType == DBType.Oracle) - { - cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); - } - - if (!String.IsNullOrEmpty(sql)) - DoPreExecute(cmd); - - return cmd; - } - - // Override this to log/capture exceptions - public virtual void OnException(Exception x) - { - System.Diagnostics.Debug.WriteLine(x.ToString()); - System.Diagnostics.Debug.WriteLine(LastCommand); - } - - // Override this to log commands, or modify command before execution - public virtual void OnExecutingCommand(IDbCommand cmd) { } - public virtual void OnExecutedCommand(IDbCommand cmd) { } - - // Execute a non-query command - public int Execute(string sql, params object[] args) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - var retv=cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return retv; - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - public int Execute(Sql sql) - { - return Execute(sql.SQL, sql.Arguments); - } - - // Execute and cast a scalar property - public T ExecuteScalar(string sql, params object[] args) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - object val = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - return (T)Convert.ChangeType(val, typeof(T)); - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - public T ExecuteScalar(Sql sql) - { - return ExecuteScalar(sql.SQL, sql.Arguments); - } - - Regex rxSelect = new Regex(@"\A\s*(SELECT|EXECUTE|CALL)\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); - Regex rxFrom = new Regex(@"\A\s*FROM\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); - string AddSelectClause(string sql) - { - if (sql.StartsWith(";")) - return sql.Substring(1); - - if (!rxSelect.IsMatch(sql)) - { - var pd = PocoData.ForType(typeof(T)); - var tableName = EscapeTableName(pd.TableInfo.TableName); - string cols = string.Join(", ", (from c in pd.QueryColumns select tableName + "." + EscapeSqlIdentifier(c)).ToArray()); - if (!rxFrom.IsMatch(sql)) - sql = string.Format("SELECT {0} FROM {1} {2}", cols, tableName, sql); - else - sql = string.Format("SELECT {0} {1}", cols, sql); - } - return sql; - } - - public bool EnableAutoSelect { get; set; } - public bool EnableNamedParams { get; set; } - public bool ForceDateTimesToUtc { get; set; } - - // Return a typed list of pocos - public List Fetch(string sql, params object[] args) - { - return Query(sql, args).ToList(); - } - - public List Fetch(Sql sql) - { - return Fetch(sql.SQL, sql.Arguments); - } - - static Regex rxColumns = new Regex(@"\A\s*SELECT\s+((?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|.)*?)(?\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?(?:\s*,\s*(?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?)*", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.Compiled); - public static bool SplitSqlForPaging(string sql, out string sqlCount, out string sqlSelectRemoved, out string sqlOrderBy) - { - sqlSelectRemoved = null; - sqlCount = null; - sqlOrderBy = null; - - // Extract the columns from "SELECT FROM" - var m = rxColumns.Match(sql); - if (!m.Success) - return false; - - // Save column list and replace with COUNT(*) - Group g = m.Groups[1]; - sqlCount = sql.Substring(0, g.Index) + "COUNT(*) " + sql.Substring(g.Index + g.Length); - sqlSelectRemoved = sql.Substring(g.Index); - - // Look for an "ORDER BY " clause - m = rxOrderBy.Match(sqlCount); - if (!m.Success) - return false; - - g = m.Groups[0]; - sqlOrderBy = g.ToString(); - sqlCount = sqlCount.Substring(0, g.Index) + sqlCount.Substring(g.Index + g.Length); - - return true; - } - - public void BuildPageQueries(long page, long itemsPerPage, string sql, ref object[] args, out string sqlCount, out string sqlPage) - { - // Add auto select clause - if (EnableAutoSelect) - sql = AddSelectClause(sql); - - // Split the SQL into the bits we need - string sqlSelectRemoved, sqlOrderBy; - if (!SplitSqlForPaging(sql, out sqlCount, out sqlSelectRemoved, out sqlOrderBy)) - throw new Exception("Unable to parse SQL statement for paged query"); - if (_dbType == DBType.Oracle && sqlSelectRemoved.StartsWith("*")) - throw new Exception("Query must alias '*' when performing a paged query.\neg. select t.* from table t order by t.id"); - - // Build the SQL for the actual final result - if (_dbType == DBType.SqlServer || _dbType == DBType.Oracle) - { - sqlSelectRemoved = rxOrderBy.Replace(sqlSelectRemoved, ""); - sqlPage = string.Format("SELECT * FROM (SELECT ROW_NUMBER() OVER ({0}) peta_rn, {1}) peta_paged WHERE peta_rn>@{2} AND peta_rn<=@{3}", - sqlOrderBy, sqlSelectRemoved, args.Length, args.Length + 1); - args = args.Concat(new object[] { (page - 1) * itemsPerPage, page * itemsPerPage }).ToArray(); - } - else if (_dbType == DBType.SqlServerCE) - { - sqlPage = string.Format("{0}\nOFFSET @{1} ROWS FETCH NEXT @{2} ROWS ONLY", sql, args.Length, args.Length + 1); - args = args.Concat(new object[] { (page - 1) * itemsPerPage, itemsPerPage }).ToArray(); - } - else - { - sqlPage = string.Format("{0}\nLIMIT @{1} OFFSET @{2}", sql, args.Length, args.Length + 1); - args = args.Concat(new object[] { itemsPerPage, (page - 1) * itemsPerPage }).ToArray(); - } - - } - - // Fetch a page - public Page Page(long page, long itemsPerPage, string sql, params object[] args) - { - string sqlCount, sqlPage; - BuildPageQueries(page, itemsPerPage, sql, ref args, out sqlCount, out sqlPage); - - // Save the one-time command time out and use it for both queries - int saveTimeout = OneTimeCommandTimeout; - - // Setup the paged result - var result = new Page(); - result.CurrentPage = page; - result.ItemsPerPage = itemsPerPage; - result.TotalItems = ExecuteScalar(sqlCount, args); - result.TotalPages = result.TotalItems / itemsPerPage; - if ((result.TotalItems % itemsPerPage) != 0) - result.TotalPages++; - - OneTimeCommandTimeout = saveTimeout; - - // Get the records - result.Items = Fetch(sqlPage, args); - - // Done - return result; - } - - public Page Page(long page, long itemsPerPage, Sql sql) - { - return Page(page, itemsPerPage, sql.SQL, sql.Arguments); - } - - - public List Fetch(long page, long itemsPerPage, string sql, params object[] args) - { - string sqlCount, sqlPage; - BuildPageQueries(page, itemsPerPage, sql, ref args, out sqlCount, out sqlPage); - return Fetch(sqlPage, args); - } - - public List Fetch(long page, long itemsPerPage, Sql sql) - { - return Fetch(page, itemsPerPage, sql.SQL, sql.Arguments); - } - - // Return an enumerable collection of pocos - public IEnumerable Query(string sql, params object[] args) - { - if (EnableAutoSelect) - sql = AddSelectClause(sql); - - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - IDataReader r; - var pd = PocoData.ForType(typeof(T)); - try - { - r = cmd.ExecuteReader(); - OnExecutedCommand(cmd); - } - catch (Exception x) - { - OnException(x); - throw; - } - var factory = pd.GetFactory(cmd.CommandText, _sharedConnection.ConnectionString, ForceDateTimesToUtc, 0, r.FieldCount, r) as Func; - using (r) - { - while (true) - { - T poco; - try - { - if (!r.Read()) - yield break; - poco = factory(r); - } - catch (Exception x) - { - OnException(x); - throw; - } - - yield return poco; - } - } - } - } - finally - { - CloseSharedConnection(); - } - } - - // Multi Fetch - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - - // Multi Query - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql, args); } - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3)}, cb, sql, args); } - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4)}, cb, sql, args); } - - // Multi Fetch (SQL builder) - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - - // Multi Query (SQL builder) - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql.SQL, sql.Arguments); } - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, cb, sql.SQL, sql.Arguments); } - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, cb, sql.SQL, sql.Arguments); } - - // Multi Fetch (Simple) - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - - // Multi Query (Simple) - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql, args); } - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql, args); } - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql, args); } - - // Multi Fetch (Simple) (SQL builder) - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - - // Multi Query (Simple) (SQL builder) - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql.SQL, sql.Arguments); } - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql.SQL, sql.Arguments); } - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql.SQL, sql.Arguments); } - - // Automagically guess the property relationships between various POCOs and create a delegate that will set them up - object GetAutoMapper(Type[] types) - { - // Build a key - var kb = new StringBuilder(); - foreach (var t in types) - { - kb.Append(t.ToString()); - kb.Append(":"); - } - var key = kb.ToString(); - - // Check cache - RWLock.EnterReadLock(); - try - { - object mapper; - if (AutoMappers.TryGetValue(key, out mapper)) - return mapper; - } - finally - { - RWLock.ExitReadLock(); - } - - // Create it - RWLock.EnterWriteLock(); - try - { - // Try again - object mapper; - if (AutoMappers.TryGetValue(key, out mapper)) - return mapper; - - // Create a method - var m = new DynamicMethod("petapoco_automapper", types[0], types, true); - var il = m.GetILGenerator(); - - for (int i = 1; i < types.Length; i++) - { - bool handled = false; - for (int j = i - 1; j >= 0; j--) - { - // Find the property - var candidates = from p in types[j].GetProperties() where p.PropertyType == types[i] select p; - if (candidates.Count() == 0) - continue; - if (candidates.Count() > 1) - throw new InvalidOperationException(string.Format("Can't auto join {0} as {1} has more than one property of type {0}", types[i], types[j])); - - // Generate code - il.Emit(OpCodes.Ldarg_S, j); - il.Emit(OpCodes.Ldarg_S, i); - il.Emit(OpCodes.Callvirt, candidates.First().GetSetMethod(true)); - handled = true; - } - - if (!handled) - throw new InvalidOperationException(string.Format("Can't auto join {0}", types[i])); - } - - il.Emit(OpCodes.Ldarg_0); - il.Emit(OpCodes.Ret); - - // Cache it - var del = m.CreateDelegate(Expression.GetFuncType(types.Concat(types.Take(1)).ToArray())); - AutoMappers.Add(key, del); - return del; - } - finally - { - RWLock.ExitWriteLock(); - } - } - - // Find the split point in a result set for two different pocos and return the poco factory for the first - Delegate FindSplitPoint(Type typeThis, Type typeNext, string sql, IDataReader r, ref int pos) - { - // Last? - if (typeNext == null) - return PocoData.ForType(typeThis).GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, pos, r.FieldCount - pos, r); - - // Get PocoData for the two types - PocoData pdThis = PocoData.ForType(typeThis); - PocoData pdNext = PocoData.ForType(typeNext); - - // Find split point - int firstColumn = pos; - var usedColumns = new Dictionary(); - for (; pos < r.FieldCount; pos++) - { - // Split if field name has already been used, or if the field doesn't exist in current poco but does in the next - string fieldName = r.GetName(pos); - if (usedColumns.ContainsKey(fieldName) || (!pdThis.Columns.ContainsKey(fieldName) && pdNext.Columns.ContainsKey(fieldName))) - { - return pdThis.GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, firstColumn, pos - firstColumn, r); - } - usedColumns.Add(fieldName, true); - } - - throw new InvalidOperationException(string.Format("Couldn't find split point between {0} and {1}", typeThis, typeNext)); - } - - // Instance data used by the Multipoco factory delegate - essentially a list of the nested poco factories to call - class MultiPocoFactory - { - public List m_Delegates; - public Delegate GetItem(int index) { return m_Delegates[index]; } - } - - // Create a multi-poco factory - Func CreateMultiPocoFactory(Type[] types, string sql, IDataReader r) - { - var m = new DynamicMethod("petapoco_multipoco_factory", typeof(TRet), new Type[] { typeof(MultiPocoFactory), typeof(IDataReader), typeof(object) }, typeof(MultiPocoFactory)); - var il = m.GetILGenerator(); - - // Load the callback - il.Emit(OpCodes.Ldarg_2); - - // Call each delegate - var dels = new List(); - int pos = 0; - for (int i=0; i)m.CreateDelegate(typeof(Func), new MultiPocoFactory() { m_Delegates = dels }); - } - - // Various cached stuff - static Dictionary MultiPocoFactories = new Dictionary(); - static Dictionary AutoMappers = new Dictionary(); - static System.Threading.ReaderWriterLockSlim RWLock = new System.Threading.ReaderWriterLockSlim(); - - // Get (or create) the multi-poco factory for a query - Func GetMultiPocoFactory(Type[] types, string sql, IDataReader r) - { - // Build a key string (this is crap, should address this at some point) - var kb = new StringBuilder(); - kb.Append(typeof(TRet).ToString()); - kb.Append(":"); - foreach (var t in types) - { - kb.Append(":"); - kb.Append(t.ToString()); - } - kb.Append(":"); kb.Append(_sharedConnection.ConnectionString); - kb.Append(":"); kb.Append(ForceDateTimesToUtc); - kb.Append(":"); kb.Append(sql); - string key = kb.ToString(); - - // Check cache - RWLock.EnterReadLock(); - try - { - object oFactory; - if (MultiPocoFactories.TryGetValue(key, out oFactory)) - return (Func)oFactory; - } - finally - { - RWLock.ExitReadLock(); - } - - // Cache it - RWLock.EnterWriteLock(); - try - { - // Check again - object oFactory; - if (MultiPocoFactories.TryGetValue(key, out oFactory)) - return (Func)oFactory; - - // Create the factory - var Factory = CreateMultiPocoFactory(types, sql, r); - - MultiPocoFactories.Add(key, Factory); - return Factory; - } - finally - { - RWLock.ExitWriteLock(); - } - - } - - // Actual implementation of the multi-poco query - public IEnumerable Query(Type[] types, object cb, string sql, params object[] args) - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - IDataReader r; - try - { - r = cmd.ExecuteReader(); - OnExecutedCommand(cmd); - } - catch (Exception x) - { - OnException(x); - throw; - } - var factory = GetMultiPocoFactory(types, sql, r); - if (cb == null) - cb = GetAutoMapper(types.ToArray()); - bool bNeedTerminator=false; - using (r) - { - while (true) - { - TRet poco; - try - { - if (!r.Read()) - break; - poco = factory(r, cb); - } - catch (Exception x) - { - OnException(x); - throw; - } - - if (poco != null) - yield return poco; - else - bNeedTerminator = true; - } - if (bNeedTerminator) - { - var poco = (TRet)(cb as Delegate).DynamicInvoke(new object[types.Length]); - if (poco != null) - yield return poco; - else - yield break; - } - } - } - } - finally - { - CloseSharedConnection(); - } - } - - - public IEnumerable Query(Sql sql) - { - return Query(sql.SQL, sql.Arguments); - } - - public bool Exists(object primaryKey) - { - return FirstOrDefault(string.Format("WHERE {0}=@0", EscapeSqlIdentifier(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey)), primaryKey) != null; - } - public T Single(object primaryKey) - { - return Single(string.Format("WHERE {0}=@0", EscapeSqlIdentifier(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey)), primaryKey); - } - public T SingleOrDefault(object primaryKey) - { - return SingleOrDefault(string.Format("WHERE {0}=@0", EscapeSqlIdentifier(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey)), primaryKey); - } - public T Single(string sql, params object[] args) - { - return Query(sql, args).Single(); - } - public T SingleOrDefault(string sql, params object[] args) - { - return Query(sql, args).SingleOrDefault(); - } - public T First(string sql, params object[] args) - { - return Query(sql, args).First(); - } - public T FirstOrDefault(string sql, params object[] args) - { - return Query(sql, args).FirstOrDefault(); - } - - public T Single(Sql sql) - { - return Query(sql).Single(); - } - public T SingleOrDefault(Sql sql) - { - return Query(sql).SingleOrDefault(); - } - public T First(Sql sql) - { - return Query(sql).First(); - } - public T FirstOrDefault(Sql sql) - { - return Query(sql).FirstOrDefault(); - } - - public string EscapeTableName(string str) - { - // Assume table names with "dot", or opening sq is already escaped - return str.IndexOf('.') >= 0 ? str : EscapeSqlIdentifier(str); - } - public string EscapeSqlIdentifier(string str) - { - switch (_dbType) - { - case DBType.MySql: - return string.Format("`{0}`", str); - - case DBType.PostgreSQL: - case DBType.Oracle: - return string.Format("\"{0}\"", str); - - default: - return string.Format("[{0}]", str); - } - } - - public object Insert(string tableName, string primaryKeyName, object poco) - { - return Insert(tableName, primaryKeyName, true, poco); - } - - // Insert a poco into a table. If the poco has a property with the same name - // as the primary key the id of the new record is assigned to it. Either way, - // the new id is returned. - public object Insert(string tableName, string primaryKeyName, bool autoIncrement, object poco) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, "")) - { - var pd = PocoData.ForObject(poco, primaryKeyName); - var names = new List(); - var values = new List(); - var index = 0; - foreach (var i in pd.Columns) - { - // Don't insert result columns - if (i.Value.ResultColumn) - continue; - - // Don't insert the primary key (except under oracle where we need bring in the next sequence value) - if (autoIncrement && primaryKeyName != null && string.Compare(i.Key, primaryKeyName, true)==0) - { - if (_dbType == DBType.Oracle && !string.IsNullOrEmpty(pd.TableInfo.SequenceName)) - { - names.Add(i.Key); - values.Add(string.Format("{0}.nextval", pd.TableInfo.SequenceName)); - } - continue; - } - - names.Add(EscapeSqlIdentifier(i.Key)); - values.Add(string.Format("{0}{1}", _paramPrefix, index++)); - AddParam(cmd, i.Value.GetValue(poco), _paramPrefix); - } - - cmd.CommandText = string.Format("INSERT INTO {0} ({1}) VALUES ({2})", - EscapeTableName(tableName), - string.Join(",", names.ToArray()), - string.Join(",", values.ToArray()) - ); - - if (!autoIncrement) - { - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return true; - } - - - object id; - switch (_dbType) - { - case DBType.SqlServerCE: - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - id = ExecuteScalar("SELECT @@@IDENTITY AS NewID;"); - break; - case DBType.SqlServer: - cmd.CommandText += ";\nSELECT SCOPE_IDENTITY() AS NewID;"; - DoPreExecute(cmd); - id = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - break; - case DBType.PostgreSQL: - if (primaryKeyName != null) - { - cmd.CommandText += string.Format("returning {0} as NewID", EscapeSqlIdentifier(primaryKeyName)); - DoPreExecute(cmd); - id = cmd.ExecuteScalar(); - } - else - { - id = -1; - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - } - OnExecutedCommand(cmd); - break; - case DBType.Oracle: - if (primaryKeyName != null) - { - cmd.CommandText += string.Format(" returning {0} into :newid", EscapeSqlIdentifier(primaryKeyName)); - var param = cmd.CreateParameter(); - param.ParameterName = ":newid"; - param.Value = DBNull.Value; - param.Direction = ParameterDirection.ReturnValue; - param.DbType = DbType.Int64; - cmd.Parameters.Add(param); - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - id = param.Value; - } - else - { - id = -1; - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - } - OnExecutedCommand(cmd); - break; - default: - cmd.CommandText += ";\nSELECT @@IDENTITY AS NewID;"; - DoPreExecute(cmd); - id = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - break; - } - - - // Assign the ID back to the primary key property - if (primaryKeyName != null) - { - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - pc.SetValue(poco, pc.ChangeType(id)); - } - } - - return id; - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - // Insert an annotated poco object - public object Insert(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - return Insert(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, pd.TableInfo.AutoIncrement, poco); - } - - // Update a record with values from a poco. primary key value can be either supplied or read from the poco - public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, "")) - { - var sb = new StringBuilder(); - var index = 0; - var pd = PocoData.ForObject(poco,primaryKeyName); - foreach (var i in pd.Columns) - { - // Don't update the primary key, but grab the value if we don't have it - if (string.Compare(i.Key, primaryKeyName, true)==0) - { - if (primaryKeyValue == null) - primaryKeyValue = i.Value.GetValue(poco); - continue; - } - - // Dont update result only columns - if (i.Value.ResultColumn) - continue; - - // Build the sql - if (index > 0) - sb.Append(", "); - sb.AppendFormat("{0} = {1}{2}", EscapeSqlIdentifier(i.Key), _paramPrefix, index++); - - // Store the parameter in the command - AddParam(cmd, i.Value.GetValue(poco), _paramPrefix); - } - - cmd.CommandText = string.Format("UPDATE {0} SET {1} WHERE {2} = {3}{4}", - EscapeTableName(tableName), sb.ToString(), EscapeSqlIdentifier(primaryKeyName), _paramPrefix, index++); - AddParam(cmd, primaryKeyValue, _paramPrefix); - - DoPreExecute(cmd); - - // Do it - var retv=cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return retv; - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - public int Update(string tableName, string primaryKeyName, object poco) - { - return Update(tableName, primaryKeyName, poco, null); - } - - public int Update(object poco) - { - return Update(poco, null); - } - - public int Update(object poco, object primaryKeyValue) - { - var pd = PocoData.ForType(poco.GetType()); - return Update(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco, primaryKeyValue); - } - - public int Update(string sql, params object[] args) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(string.Format("UPDATE {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); - } - - public int Update(Sql sql) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(new Sql(string.Format("UPDATE {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); - } - - public int Delete(string tableName, string primaryKeyName, object poco) - { - return Delete(tableName, primaryKeyName, poco, null); - } - - public int Delete(string tableName, string primaryKeyName, object poco, object primaryKeyValue) - { - // If primary key value not specified, pick it up from the object - if (primaryKeyValue == null) - { - var pd = PocoData.ForObject(poco,primaryKeyName); - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - primaryKeyValue = pc.GetValue(poco); - } - } - - // Do it - var sql = string.Format("DELETE FROM {0} WHERE {1}=@0", EscapeTableName(tableName), EscapeSqlIdentifier(primaryKeyName)); - return Execute(sql, primaryKeyValue); - } - - public int Delete(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); - } - - public int Delete(object pocoOrPrimaryKey) - { - if (pocoOrPrimaryKey.GetType() == typeof(T)) - return Delete(pocoOrPrimaryKey); - var pd = PocoData.ForType(typeof(T)); - return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, null, pocoOrPrimaryKey); - } - - public int Delete(string sql, params object[] args) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(string.Format("DELETE FROM {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); - } - - public int Delete(Sql sql) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(new Sql(string.Format("DELETE FROM {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); - } - - // Check if a poco represents a new record - public bool IsNew(string primaryKeyName, object poco) - { - var pd = PocoData.ForObject(poco, primaryKeyName); - object pk; - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - pk = pc.GetValue(poco); - } -#if !PETAPOCO_NO_DYNAMIC - else if (poco.GetType() == typeof(System.Dynamic.ExpandoObject)) - { - return true; - } -#endif - else - { - var pi = poco.GetType().GetProperty(primaryKeyName); - if (pi == null) - throw new ArgumentException(string.Format("The object doesn't have a property matching the primary key column name '{0}'", primaryKeyName)); - pk = pi.GetValue(poco, null); - } - - if (pk == null) - return true; - - var type = pk.GetType(); - - if (type.IsValueType) - { - // Common primary key types - if (type == typeof(long)) - return (long)pk == 0; - else if (type == typeof(ulong)) - return (ulong)pk == 0; - else if (type == typeof(int)) - return (int)pk == 0; - else if (type == typeof(uint)) - return (uint)pk == 0; - - // Create a default instance and compare - return pk == Activator.CreateInstance(pk.GetType()); - } - else - { - return pk == null; - } - } - - public bool IsNew(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - if (!pd.TableInfo.AutoIncrement) - throw new InvalidOperationException("IsNew() and Save() are only supported on tables with auto-increment/identity primary key columns"); - return IsNew(pd.TableInfo.PrimaryKey, poco); - } - - // Insert new record or Update existing record - public void Save(string tableName, string primaryKeyName, object poco) - { - if (IsNew(primaryKeyName, poco)) - { - Insert(tableName, primaryKeyName, true, poco); - } - else - { - Update(tableName, primaryKeyName, poco); - } - } - - public void Save(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - Save(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); - } - - public int CommandTimeout { get; set; } - public int OneTimeCommandTimeout { get; set; } - - void DoPreExecute(IDbCommand cmd) - { - // Setup command timeout - if (OneTimeCommandTimeout != 0) - { - cmd.CommandTimeout = OneTimeCommandTimeout; - OneTimeCommandTimeout = 0; - } - else if (CommandTimeout!=0) - { - cmd.CommandTimeout = CommandTimeout; - } - - // Call hook - OnExecutingCommand(cmd); - - // Save it - _lastSql = cmd.CommandText; - _lastArgs = (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray(); - } - - public string LastSQL { get { return _lastSql; } } - public object[] LastArgs { get { return _lastArgs; } } - public string LastCommand - { - get { return FormatCommand(_lastSql, _lastArgs); } - } - - public string FormatCommand(IDbCommand cmd) - { - return FormatCommand(cmd.CommandText, (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray()); - } - - public string FormatCommand(string sql, object[] args) - { - var sb = new StringBuilder(); - if (sql == null) - return ""; - sb.Append(sql); - if (args != null && args.Length > 0) - { - sb.Append("\n"); - for (int i = 0; i < args.Length; i++) - { - sb.AppendFormat("\t -> {0}{1} [{2}] = \"{3}\"\n", _paramPrefix, i, args[i].GetType().Name, args[i]); - } - sb.Remove(sb.Length - 1, 1); - } - return sb.ToString(); - } - - - public static IMapper Mapper - { - get; - set; - } - - internal class PocoColumn - { - public string ColumnName; - public PropertyInfo PropertyInfo; - public bool ResultColumn; - public virtual void SetValue(object target, object val) { PropertyInfo.SetValue(target, val, null); } - public virtual object GetValue(object target) { return PropertyInfo.GetValue(target, null); } - public virtual object ChangeType(object val) { return Convert.ChangeType(val, PropertyInfo.PropertyType); } - } - internal class ExpandoColumn : PocoColumn - { - public override void SetValue(object target, object val) { (target as IDictionary)[ColumnName]=val; } - public override object GetValue(object target) - { - object val=null; - (target as IDictionary).TryGetValue(ColumnName, out val); - return val; - } - public override object ChangeType(object val) { return val; } - } - internal class PocoData - { - public static PocoData ForObject(object o, string primaryKeyName) - { - var t = o.GetType(); -#if !PETAPOCO_NO_DYNAMIC - if (t == typeof(System.Dynamic.ExpandoObject)) - { - var pd = new PocoData(); - pd.TableInfo = new TableInfo(); - pd.Columns = new Dictionary(StringComparer.OrdinalIgnoreCase); - pd.Columns.Add(primaryKeyName, new ExpandoColumn() { ColumnName = primaryKeyName }); - pd.TableInfo.PrimaryKey = primaryKeyName; - pd.TableInfo.AutoIncrement = true; - foreach (var col in (o as IDictionary).Keys) - { - if (col!=primaryKeyName) - pd.Columns.Add(col, new ExpandoColumn() { ColumnName = col }); - } - return pd; - } - else -#endif - return ForType(t); - } - static System.Threading.ReaderWriterLockSlim RWLock = new System.Threading.ReaderWriterLockSlim(); - public static PocoData ForType(Type t) - { -#if !PETAPOCO_NO_DYNAMIC - if (t == typeof(System.Dynamic.ExpandoObject)) - throw new InvalidOperationException("Can't use dynamic types with this method"); -#endif - // Check cache - RWLock.EnterReadLock(); - PocoData pd; - try - { - if (m_PocoDatas.TryGetValue(t, out pd)) - return pd; - } - finally - { - RWLock.ExitReadLock(); - } - - - // Cache it - RWLock.EnterWriteLock(); - try - { - // Check again - if (m_PocoDatas.TryGetValue(t, out pd)) - return pd; - - // Create it - pd = new PocoData(t); - - m_PocoDatas.Add(t, pd); - } - finally - { - RWLock.ExitWriteLock(); - } - - return pd; - } - - public PocoData() - { - } - - public PocoData(Type t) - { - type = t; - TableInfo=new TableInfo(); - - // Get the table name - var a = t.GetCustomAttributes(typeof(TableNameAttribute), true); - TableInfo.TableName = a.Length == 0 ? t.Name : (a[0] as TableNameAttribute).Value; - - // Get the primary key - a = t.GetCustomAttributes(typeof(PrimaryKeyAttribute), true); - TableInfo.PrimaryKey = a.Length == 0 ? "ID" : (a[0] as PrimaryKeyAttribute).Value; - TableInfo.SequenceName = a.Length == 0 ? null : (a[0] as PrimaryKeyAttribute).sequenceName; - TableInfo.AutoIncrement = a.Length == 0 ? false : (a[0] as PrimaryKeyAttribute).autoIncrement; - - // Call column mapper - if (Database.Mapper != null) - Database.Mapper.GetTableInfo(t, TableInfo); - - // Work out bound properties - bool ExplicitColumns = t.GetCustomAttributes(typeof(ExplicitColumnsAttribute), true).Length > 0; - Columns = new Dictionary(StringComparer.OrdinalIgnoreCase); - foreach (var pi in t.GetProperties()) - { - // Work out if properties is to be included - var ColAttrs = pi.GetCustomAttributes(typeof(ColumnAttribute), true); - if (ExplicitColumns) - { - if (ColAttrs.Length == 0) - continue; - } - else - { - if (pi.GetCustomAttributes(typeof(IgnoreAttribute), true).Length != 0) - continue; - } - - var pc = new PocoColumn(); - pc.PropertyInfo = pi; - - // Work out the DB column name - if (ColAttrs.Length > 0) - { - var colattr = (ColumnAttribute)ColAttrs[0]; - pc.ColumnName = colattr.Name; - if ((colattr as ResultColumnAttribute) != null) - pc.ResultColumn = true; - } - if (pc.ColumnName == null) - { - pc.ColumnName = pi.Name; - if (Database.Mapper != null && !Database.Mapper.MapPropertyToColumn(pi, ref pc.ColumnName, ref pc.ResultColumn)) - continue; - } - - // Store it - Columns.Add(pc.ColumnName, pc); - } - - // Build column list for automatic select - QueryColumns = (from c in Columns where !c.Value.ResultColumn select c.Key).ToArray(); - - } - - bool IsIntegralType(Type t) - { - var tc=Type.GetTypeCode(t); - return tc >= TypeCode.SByte && tc <= TypeCode.UInt64; - } - - // Create factory function that can convert a IDataReader record into a POCO - public Delegate GetFactory(string sql, string connString, bool ForceDateTimesToUtc, int firstColumn, int countColumns, IDataReader r) - { - // Check cache - var key = string.Format("{0}:{1}:{2}:{3}:{4}", sql, connString, ForceDateTimesToUtc, firstColumn, countColumns); - RWLock.EnterReadLock(); - try - { - // Have we already created it? - Delegate factory; - if (PocoFactories.TryGetValue(key, out factory)) - return factory; - } - finally - { - RWLock.ExitReadLock(); - } - - // Take the writer lock - RWLock.EnterWriteLock(); - - try - { - // Check again, just in case - Delegate factory; - if (PocoFactories.TryGetValue(key, out factory)) - return factory; - - // Create the method - var m = new DynamicMethod("petapoco_factory_" + PocoFactories.Count.ToString(), type, new Type[] { typeof(IDataReader) }, true); - var il = m.GetILGenerator(); - -#if !PETAPOCO_NO_DYNAMIC - if (type == typeof(object)) - { - // var poco=new T() - il.Emit(OpCodes.Newobj, typeof(System.Dynamic.ExpandoObject).GetConstructor(Type.EmptyTypes)); // obj - - MethodInfo fnAdd = typeof(IDictionary).GetMethod("Add"); - - // Enumerate all fields generating a set assignment for the column - for (int i = firstColumn; i < firstColumn + countColumns; i++) - { - var srcType = r.GetFieldType(i); - - il.Emit(OpCodes.Dup); // obj, obj - il.Emit(OpCodes.Ldstr, r.GetName(i)); // obj, obj, fieldname - - // Get the converter - Func converter = null; - if (Database.Mapper != null) - converter = Database.Mapper.GetFromDbConverter(null, srcType); - if (ForceDateTimesToUtc && converter == null && srcType == typeof(DateTime)) - converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; - - // Setup stack for call to converter - int converterIndex = -1; - if (converter != null) - { - // Add the converter - converterIndex = m_Converters.Count; - m_Converters.Add(converter); - - // Generate IL to push the converter onto the stack - il.Emit(OpCodes.Ldsfld, fldConverters); - il.Emit(OpCodes.Ldc_I4, converterIndex); - il.Emit(OpCodes.Callvirt, fnListGetItem); // obj, obj, fieldname, Converter - } - - - // r[i] - il.Emit(OpCodes.Ldarg_0); // obj, obj, fieldname, converter?, rdr - il.Emit(OpCodes.Ldc_I4, i); // obj, obj, fieldname, converter?, rdr,i - il.Emit(OpCodes.Callvirt, fnGetValue); // obj, obj, fieldname, converter?, value - - // Convert DBNull to null - il.Emit(OpCodes.Dup); // obj, obj, fieldname, converter?, value, value - il.Emit(OpCodes.Isinst, typeof(DBNull)); // obj, obj, fieldname, converter?, value, (value or null) - var lblNotNull = il.DefineLabel(); - il.Emit(OpCodes.Brfalse_S, lblNotNull); // obj, obj, fieldname, converter?, value - il.Emit(OpCodes.Pop); // obj, obj, fieldname, converter? - if (converter != null) - il.Emit(OpCodes.Pop); // obj, obj, fieldname, - il.Emit(OpCodes.Ldnull); // obj, obj, fieldname, null - if (converter != null) - { - var lblReady = il.DefineLabel(); - il.Emit(OpCodes.Br_S, lblReady); - il.MarkLabel(lblNotNull); - il.Emit(OpCodes.Callvirt, fnInvoke); - il.MarkLabel(lblReady); - } - else - { - il.MarkLabel(lblNotNull); - } - - il.Emit(OpCodes.Callvirt, fnAdd); - } - } - else -#endif - if (type.IsValueType) - { - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnGetValue); // value - il.Emit(OpCodes.Unbox_Any, type); // value converted - } - else if (type == typeof(string) || type == typeof(byte[])) - { - // "if (!rdr.IsDBNull(i))" - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnIsDBNull); // bool - var lblCont = il.DefineLabel(); - il.Emit(OpCodes.Brfalse_S, lblCont); - il.Emit(OpCodes.Ldnull); // null - var lblFin = il.DefineLabel(); - il.Emit(OpCodes.Br_S, lblFin); - - il.MarkLabel(lblCont); - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnGetValue); // value - - il.Emit(OpCodes.Unbox_Any, type); // value converted - - il.MarkLabel(lblFin); - } - else - { - // var poco=new T() - il.Emit(OpCodes.Newobj, type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[0], null)); - - // Enumerate all fields generating a set assignment for the column - for (int i = firstColumn; i < firstColumn + countColumns; i++) - { - // Get the PocoColumn for this db column, ignore if not known - PocoColumn pc; - if (!Columns.TryGetValue(r.GetName(i), out pc)) - continue; - - // Get the source type for this column - var srcType = r.GetFieldType(i); - var dstType = pc.PropertyInfo.PropertyType; - - // "if (!rdr.IsDBNull(i))" - il.Emit(OpCodes.Ldarg_0); // poco,rdr - il.Emit(OpCodes.Ldc_I4, i); // poco,rdr,i - il.Emit(OpCodes.Callvirt, fnIsDBNull); // poco,bool - var lblNext = il.DefineLabel(); - il.Emit(OpCodes.Brtrue_S, lblNext); // poco - - il.Emit(OpCodes.Dup); // poco,poco - - // Do we need to install a converter? - Func converter = null; - - // Get converter from the mapper - if (Database.Mapper != null) - { - converter = Database.Mapper.GetFromDbConverter(pc.PropertyInfo, srcType); - } - - // Standard DateTime->Utc mapper - if (ForceDateTimesToUtc && converter == null && srcType == typeof(DateTime) && (dstType == typeof(DateTime) || dstType == typeof(DateTime?))) - { - converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; - } - - // Forced type conversion including integral types -> enum - if (converter == null) - { - if (dstType.IsEnum && IsIntegralType(srcType)) - { - if (srcType != typeof(int)) - { - converter = delegate(object src) { return Convert.ChangeType(src, typeof(int), null); }; - } - } - else if (!dstType.IsAssignableFrom(srcType)) - { - converter = delegate(object src) { return Convert.ChangeType(src, dstType, null); }; - } - } - - // Fast - bool Handled = false; - if (converter == null) - { - var valuegetter = typeof(IDataRecord).GetMethod("Get" + srcType.Name, new Type[] { typeof(int) }); - if (valuegetter != null - && valuegetter.ReturnType == srcType - && (valuegetter.ReturnType == dstType || valuegetter.ReturnType == Nullable.GetUnderlyingType(dstType))) - { - il.Emit(OpCodes.Ldarg_0); // *,rdr - il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i - il.Emit(OpCodes.Callvirt, valuegetter); // *,value - - // Convert to Nullable - if (Nullable.GetUnderlyingType(dstType) != null) - { - il.Emit(OpCodes.Newobj, dstType.GetConstructor(new Type[] { Nullable.GetUnderlyingType(dstType) })); - } - - il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco - Handled = true; - } - } - - // Not so fast - if (!Handled) - { - // Setup stack for call to converter - int converterIndex = -1; - if (converter != null) - { - // Add the converter - converterIndex = m_Converters.Count; - m_Converters.Add(converter); - - // Generate IL to push the converter onto the stack - il.Emit(OpCodes.Ldsfld, fldConverters); - il.Emit(OpCodes.Ldc_I4, converterIndex); - il.Emit(OpCodes.Callvirt, fnListGetItem); // Converter - } - - // "value = rdr.GetValue(i)" - il.Emit(OpCodes.Ldarg_0); // *,rdr - il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i - il.Emit(OpCodes.Callvirt, fnGetValue); // *,value - - // Call the converter - if (converter != null) - il.Emit(OpCodes.Callvirt, fnInvoke); - - // Assign it - il.Emit(OpCodes.Unbox_Any, pc.PropertyInfo.PropertyType); // poco,poco,value - il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco - } - - il.MarkLabel(lblNext); - } - } - - il.Emit(OpCodes.Ret); - - // Cache it, return it - var del = m.CreateDelegate(Expression.GetFuncType(typeof(IDataReader), type)); - PocoFactories.Add(key, del); - return del; - } - finally - { - RWLock.ExitWriteLock(); - } - } - - - static Dictionary m_PocoDatas = new Dictionary(); - static List> m_Converters = new List>(); - static MethodInfo fnGetValue = typeof(IDataRecord).GetMethod("GetValue", new Type[] { typeof(int) }); - static MethodInfo fnIsDBNull = typeof(IDataRecord).GetMethod("IsDBNull"); - static FieldInfo fldConverters = typeof(PocoData).GetField("m_Converters", BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic); - static MethodInfo fnListGetItem = typeof(List>).GetProperty("Item").GetGetMethod(); - static MethodInfo fnInvoke = typeof(Func).GetMethod("Invoke"); - public Type type; - public string[] QueryColumns { get; private set; } - public TableInfo TableInfo { get; private set; } - public Dictionary Columns { get; private set; } - Dictionary PocoFactories = new Dictionary(); - } - - - // Member variables - string _connectionString; - string _providerName; - DbProviderFactory _factory; - IDbConnection _sharedConnection; - IDbTransaction _transaction; - int _sharedConnectionDepth; - int _transactionDepth; - bool _transactionCancelled; - string _lastSql; - object[] _lastArgs; - string _paramPrefix = "@"; - } - - // Transaction object helps maintain transaction depth counts - public class Transaction : IDisposable - { - public Transaction(Database db) - { - _db = db; - _db.BeginTransaction(); - } - - public void Complete() - { - _db.CompleteTransaction(); - _db = null; - } - - public void Dispose() - { - if (_db != null) - _db.AbortTransaction(); - } - - Database _db; - } - - // Simple helper class for building SQL statments - public class Sql - { - public Sql() - { - } - - public Sql(string sql, params object[] args) - { - _sql = sql; - _args = args; - } - - public static Sql Builder - { - get { return new Sql(); } - } - - string _sql; - object[] _args; - Sql _rhs; - string _sqlFinal; - object[] _argsFinal; - - private void Build() - { - // already built? - if (_sqlFinal != null) - return; - - // Build it - var sb = new StringBuilder(); - var args = new List(); - Build(sb, args, null); - _sqlFinal = sb.ToString(); - _argsFinal = args.ToArray(); - } - - public string SQL - { - get - { - Build(); - return _sqlFinal; - } - } - - public object[] Arguments - { - get - { - Build(); - return _argsFinal; - } - } - - public Sql Append(Sql sql) - { - if (_rhs != null) - _rhs.Append(sql); - else - _rhs = sql; - - return this; - } - - public Sql Append(string sql, params object[] args) - { - return Append(new Sql(sql, args)); - } - - static bool Is(Sql sql, string sqltype) - { - return sql != null && sql._sql != null && sql._sql.StartsWith(sqltype, StringComparison.InvariantCultureIgnoreCase); - } - - private void Build(StringBuilder sb, List args, Sql lhs) - { - if (!String.IsNullOrEmpty(_sql)) - { - // Add SQL to the string - if (sb.Length > 0) - { - sb.Append("\n"); - } - - var sql = Database.ProcessParams(_sql, _args, args); - - if (Is(lhs, "WHERE ") && Is(this, "WHERE ")) - sql = "AND " + sql.Substring(6); - if (Is(lhs, "ORDER BY ") && Is(this, "ORDER BY ")) - sql = ", " + sql.Substring(9); - - sb.Append(sql); - } - - // Now do rhs - if (_rhs != null) - _rhs.Build(sb, args, this); - } - - public Sql Where(string sql, params object[] args) - { - return Append(new Sql("WHERE (" + sql + ")", args)); - } - - public Sql OrderBy(params object[] columns) - { - return Append(new Sql("ORDER BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - public Sql Select(params object[] columns) - { - return Append(new Sql("SELECT " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - public Sql From(params object[] tables) - { - return Append(new Sql("FROM " + String.Join(", ", (from x in tables select x.ToString()).ToArray()))); - } - - public Sql GroupBy(params object[] columns) - { - return Append(new Sql("GROUP BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - private SqlJoinClause Join(string JoinType, string table) - { - return new SqlJoinClause(Append(new Sql(JoinType + table))); - } - - public SqlJoinClause InnerJoin(string table) { return Join("INNER JOIN ", table); } - public SqlJoinClause LeftJoin(string table) { return Join("LEFT JOIN ", table); } - - public class SqlJoinClause - { - private readonly Sql _sql; - - public SqlJoinClause(Sql sql) - { - _sql = sql; - } - - public Sql On(string onClause, params object[] args) - { - return _sql.Append("ON " + onClause, args); - } - } - } - -} diff --git a/packages/PetaPoco.4.0.2/PetaPoco.4.0.2.nupkg b/packages/PetaPoco.4.0.2/PetaPoco.4.0.2.nupkg deleted file mode 100644 index 893d03ef6c5b1a7682c1fdaa5365847a2ea36346..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33299 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 F{{z7^qptt} diff --git a/packages/PetaPoco.Core.4.0.2/Content/Models/PetaPoco.cs b/packages/PetaPoco.Core.4.0.2/Content/Models/PetaPoco.cs deleted file mode 100644 index 751aef848..000000000 --- a/packages/PetaPoco.Core.4.0.2/Content/Models/PetaPoco.cs +++ /dev/null @@ -1,2186 +0,0 @@ -/* PetaPoco v4.0.2 - A Tiny ORMish thing for your POCO's. - * Copyright © 2011 Topten Software. All Rights Reserved. - * - * Apache License 2.0 - http://www.toptensoftware.com/petapoco/license - * - * Special thanks to Rob Conery (@robconery) for original inspiration (ie:Massive) and for - * use of Subsonic's T4 templates, Rob Sullivan (@DataChomp) for hard core DBA advice - * and Adam Schroder (@schotime) for lots of suggestions, improvements and Oracle support - */ - -// Define PETAPOCO_NO_DYNAMIC in your project settings on .NET 3.5 - -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Configuration; -using System.Data.Common; -using System.Data; -using System.Text.RegularExpressions; -using System.Reflection; -using System.Reflection.Emit; -using System.Linq.Expressions; - - -namespace PetaPoco -{ - // Poco's marked [Explicit] require all column properties to be marked - [AttributeUsage(AttributeTargets.Class)] - public class ExplicitColumnsAttribute : Attribute - { - } - // For non-explicit pocos, causes a property to be ignored - [AttributeUsage(AttributeTargets.Property)] - public class IgnoreAttribute : Attribute - { - } - - // For explicit pocos, marks property as a column and optionally supplies column name - [AttributeUsage(AttributeTargets.Property)] - public class ColumnAttribute : Attribute - { - public ColumnAttribute() { } - public ColumnAttribute(string name) { Name = name; } - public string Name { get; set; } - } - - // For explicit pocos, marks property as a result column and optionally supplies column name - [AttributeUsage(AttributeTargets.Property)] - public class ResultColumnAttribute : ColumnAttribute - { - public ResultColumnAttribute() { } - public ResultColumnAttribute(string name) : base(name) { } - } - - // Specify the table name of a poco - [AttributeUsage(AttributeTargets.Class)] - public class TableNameAttribute : Attribute - { - public TableNameAttribute(string tableName) - { - Value = tableName; - } - public string Value { get; private set; } - } - - // Specific the primary key of a poco class (and optional sequence name for Oracle) - [AttributeUsage(AttributeTargets.Class)] - public class PrimaryKeyAttribute : Attribute - { - public PrimaryKeyAttribute(string primaryKey) - { - Value = primaryKey; - autoIncrement = true; - } - - public string Value { get; private set; } - public string sequenceName { get; set; } - public bool autoIncrement { get; set; } - } - - [AttributeUsage(AttributeTargets.Property)] - public class AutoJoinAttribute : Attribute - { - public AutoJoinAttribute() { } - } - - // Results from paged request - public class Page - { - public long CurrentPage { get; set; } - public long TotalPages { get; set; } - public long TotalItems { get; set; } - public long ItemsPerPage { get; set; } - public List Items { get; set; } - public object Context { get; set; } - } - - // Pass as parameter value to force to DBType.AnsiString - public class AnsiString - { - public AnsiString(string str) - { - Value = str; - } - public string Value { get; private set; } - } - - // Used by IMapper to override table bindings for an object - public class TableInfo - { - public string TableName { get; set; } - public string PrimaryKey { get; set; } - public bool AutoIncrement { get; set; } - public string SequenceName { get; set; } - } - - // Optionally provide and implementation of this to Database.Mapper - public interface IMapper - { - void GetTableInfo(Type t, TableInfo ti); - bool MapPropertyToColumn(PropertyInfo pi, ref string columnName, ref bool resultColumn); - Func GetFromDbConverter(PropertyInfo pi, Type SourceType); - Func GetToDbConverter(Type SourceType); - } - - // Database class ... this is where most of the action happens - public class Database : IDisposable - { - public Database(IDbConnection connection) - { - _sharedConnection = connection; - _connectionString = connection.ConnectionString; - _sharedConnectionDepth = 2; // Prevent closing external connection - CommonConstruct(); - } - - public Database(string connectionString, string providerName) - { - _connectionString = connectionString; - _providerName = providerName; - CommonConstruct(); - } - - public Database(string connectionString, DbProviderFactory provider) - { - _connectionString = connectionString; - _factory = provider; - CommonConstruct(); - } - - public Database(string connectionStringName) - { - // Use first? - if (connectionStringName == "") - connectionStringName = ConfigurationManager.ConnectionStrings[0].Name; - - // Work out connection string and provider name - var providerName = "System.Data.SqlClient"; - if (ConfigurationManager.ConnectionStrings[connectionStringName] != null) - { - if (!string.IsNullOrEmpty(ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName)) - providerName = ConfigurationManager.ConnectionStrings[connectionStringName].ProviderName; - } - else - { - throw new InvalidOperationException("Can't find a connection string with the name '" + connectionStringName + "'"); - } - - // Store factory and connection string - _connectionString = ConfigurationManager.ConnectionStrings[connectionStringName].ConnectionString; - _providerName = providerName; - CommonConstruct(); - } - - enum DBType - { - SqlServer, - SqlServerCE, - MySql, - PostgreSQL, - Oracle, - } - DBType _dbType = DBType.SqlServer; - - // Common initialization - private void CommonConstruct() - { - _transactionDepth = 0; - EnableAutoSelect = true; - EnableNamedParams = true; - ForceDateTimesToUtc = true; - - if (_providerName != null) - _factory = DbProviderFactories.GetFactory(_providerName); - - string dbtype = (_factory == null ? _sharedConnection.GetType() : _factory.GetType()).Name; - if (dbtype.StartsWith("MySql")) _dbType = DBType.MySql; - else if (dbtype.StartsWith("SqlCe")) _dbType = DBType.SqlServerCE; - else if (dbtype.StartsWith("Npgsql")) _dbType = DBType.PostgreSQL; - else if (dbtype.StartsWith("Oracle")) _dbType = DBType.Oracle; - - if (_dbType == DBType.MySql && _connectionString != null && _connectionString.IndexOf("Allow User Variables=true") >= 0) - _paramPrefix = "?"; - if (_dbType == DBType.Oracle) - _paramPrefix = ":"; - } - - // Automatically close one open shared connection - public void Dispose() - { - // Automatically close one open connection reference - // (Works with KeepConnectionAlive and manually opening a shared connection) - CloseSharedConnection(); - } - - // Set to true to keep the first opened connection alive until this object is disposed - public bool KeepConnectionAlive { get; set; } - - // Open a connection (can be nested) - public void OpenSharedConnection() - { - if (_sharedConnectionDepth == 0) - { - _sharedConnection = _factory.CreateConnection(); - _sharedConnection.ConnectionString = _connectionString; - _sharedConnection.Open(); - - if (KeepConnectionAlive) - _sharedConnectionDepth++; // Make sure you call Dispose - } - _sharedConnectionDepth++; - } - - // Close a previously opened connection - public void CloseSharedConnection() - { - if (_sharedConnectionDepth > 0) - { - _sharedConnectionDepth--; - if (_sharedConnectionDepth == 0) - { - _sharedConnection.Dispose(); - _sharedConnection = null; - } - } - } - - // Access to our shared connection - public IDbConnection Connection - { - get { return _sharedConnection; } - } - - // Helper to create a transaction scope - public Transaction GetTransaction() - { - return new Transaction(this); - } - - // Use by derived repo generated by T4 templates - public virtual void OnBeginTransaction() { } - public virtual void OnEndTransaction() { } - - // Start a new transaction, can be nested, every call must be - // matched by a call to AbortTransaction or CompleteTransaction - // Use `using (var scope=db.Transaction) { scope.Complete(); }` to ensure correct semantics - public void BeginTransaction() - { - _transactionDepth++; - - if (_transactionDepth == 1) - { - OpenSharedConnection(); - _transaction = _sharedConnection.BeginTransaction(); - _transactionCancelled = false; - OnBeginTransaction(); - } - - } - - // Internal helper to cleanup transaction stuff - void CleanupTransaction() - { - OnEndTransaction(); - - if (_transactionCancelled) - _transaction.Rollback(); - else - _transaction.Commit(); - - _transaction.Dispose(); - _transaction = null; - - CloseSharedConnection(); - } - - // Abort the entire outer most transaction scope - public void AbortTransaction() - { - _transactionCancelled = true; - if ((--_transactionDepth) == 0) - CleanupTransaction(); - } - - // Complete the transaction - public void CompleteTransaction() - { - if ((--_transactionDepth) == 0) - CleanupTransaction(); - } - - // Helper to handle named parameters from object properties - static Regex rxParams = new Regex(@"(? args_dest) - { - return rxParams.Replace(_sql, m => - { - string param = m.Value.Substring(1); - - object arg_val; - - int paramIndex; - if (int.TryParse(param, out paramIndex)) - { - // Numbered parameter - if (paramIndex < 0 || paramIndex >= args_src.Length) - throw new ArgumentOutOfRangeException(string.Format("Parameter '@{0}' specified but only {1} parameters supplied (in `{2}`)", paramIndex, args_src.Length, _sql)); - arg_val = args_src[paramIndex]; - } - else - { - // Look for a property on one of the arguments with this name - bool found = false; - arg_val = null; - foreach (var o in args_src) - { - var pi = o.GetType().GetProperty(param); - if (pi != null) - { - arg_val = pi.GetValue(o, null); - found = true; - break; - } - } - - if (!found) - throw new ArgumentException(string.Format("Parameter '@{0}' specified but none of the passed arguments have a property with this name (in '{1}')", param, _sql)); - } - - // Expand collections to parameter lists - if ((arg_val as System.Collections.IEnumerable) != null && - (arg_val as string) == null && - (arg_val as byte[]) == null) - { - var sb = new StringBuilder(); - foreach (var i in arg_val as System.Collections.IEnumerable) - { - sb.Append((sb.Length == 0 ? "@" : ",@") + args_dest.Count.ToString()); - args_dest.Add(i); - } - return sb.ToString(); - } - else - { - args_dest.Add(arg_val); - return "@" + (args_dest.Count - 1).ToString(); - } - } - ); - } - - // Add a parameter to a DB command - void AddParam(IDbCommand cmd, object item, string ParameterPrefix) - { - // Convert value to from poco type to db type - if (Database.Mapper != null && item!=null) - { - var fn = Database.Mapper.GetToDbConverter(item.GetType()); - if (fn!=null) - item = fn(item); - } - - // Support passed in parameters - var idbParam = item as IDbDataParameter; - if (idbParam != null) - { - idbParam.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); - cmd.Parameters.Add(idbParam); - return; - } - - var p = cmd.CreateParameter(); - p.ParameterName = string.Format("{0}{1}", ParameterPrefix, cmd.Parameters.Count); - if (item == null) - { - p.Value = DBNull.Value; - } - else - { - var t = item.GetType(); - if (t.IsEnum) // PostgreSQL .NET driver wont cast enum to int - { - p.Value = (int)item; - } - else if (t == typeof(Guid)) - { - p.Value = item.ToString(); - p.DbType = DbType.String; - p.Size = 40; - } - else if (t == typeof(string)) - { - p.Size = Math.Max((item as string).Length + 1, 4000); // Help query plan caching by using common size - p.Value = item; - } - else if (t == typeof(AnsiString)) - { - // Thanks @DataChomp for pointing out the SQL Server indexing performance hit of using wrong string type on varchar - p.Size = Math.Max((item as AnsiString).Value.Length + 1, 4000); - p.Value = (item as AnsiString).Value; - p.DbType = DbType.AnsiString; - } - else if (t == typeof(bool) && _dbType != DBType.PostgreSQL) - { - p.Value = ((bool)item) ? 1 : 0; - } - else if (item.GetType().Name == "SqlGeography") //SqlGeography is a CLR Type - { - p.GetType().GetProperty("UdtTypeName").SetValue(p, "geography", null); //geography is the equivalent SQL Server Type - p.Value = item; - } - - else if (item.GetType().Name == "SqlGeometry") //SqlGeometry is a CLR Type - { - p.GetType().GetProperty("UdtTypeName").SetValue(p, "geometry", null); //geography is the equivalent SQL Server Type - p.Value = item; - } - else - { - p.Value = item; - } - } - - cmd.Parameters.Add(p); - } - - // Create a command - static Regex rxParamsPrefix = new Regex(@"(?(); - sql = ProcessParams(sql, args, new_args); - args = new_args.ToArray(); - } - - // Perform parameter prefix replacements - if (_paramPrefix != "@") - sql = rxParamsPrefix.Replace(sql, m => _paramPrefix + m.Value.Substring(1)); - sql = sql.Replace("@@", "@"); // <- double @@ escapes a single @ - - // Create the command and add parameters - IDbCommand cmd = _factory == null ? connection.CreateCommand() : _factory.CreateCommand(); - cmd.Connection = connection; - cmd.CommandText = sql; - cmd.Transaction = _transaction; - foreach (var item in args) - { - AddParam(cmd, item, _paramPrefix); - } - - if (_dbType == DBType.Oracle) - { - cmd.GetType().GetProperty("BindByName").SetValue(cmd, true, null); - } - - if (!String.IsNullOrEmpty(sql)) - DoPreExecute(cmd); - - return cmd; - } - - // Override this to log/capture exceptions - public virtual void OnException(Exception x) - { - System.Diagnostics.Debug.WriteLine(x.ToString()); - System.Diagnostics.Debug.WriteLine(LastCommand); - } - - // Override this to log commands, or modify command before execution - public virtual void OnExecutingCommand(IDbCommand cmd) { } - public virtual void OnExecutedCommand(IDbCommand cmd) { } - - // Execute a non-query command - public int Execute(string sql, params object[] args) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - var retv=cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return retv; - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - public int Execute(Sql sql) - { - return Execute(sql.SQL, sql.Arguments); - } - - // Execute and cast a scalar property - public T ExecuteScalar(string sql, params object[] args) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - object val = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - return (T)Convert.ChangeType(val, typeof(T)); - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - public T ExecuteScalar(Sql sql) - { - return ExecuteScalar(sql.SQL, sql.Arguments); - } - - Regex rxSelect = new Regex(@"\A\s*(SELECT|EXECUTE|CALL)\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); - Regex rxFrom = new Regex(@"\A\s*FROM\s", RegexOptions.Compiled | RegexOptions.Singleline | RegexOptions.IgnoreCase | RegexOptions.Multiline); - string AddSelectClause(string sql) - { - if (sql.StartsWith(";")) - return sql.Substring(1); - - if (!rxSelect.IsMatch(sql)) - { - var pd = PocoData.ForType(typeof(T)); - var tableName = EscapeTableName(pd.TableInfo.TableName); - string cols = string.Join(", ", (from c in pd.QueryColumns select tableName + "." + EscapeSqlIdentifier(c)).ToArray()); - if (!rxFrom.IsMatch(sql)) - sql = string.Format("SELECT {0} FROM {1} {2}", cols, tableName, sql); - else - sql = string.Format("SELECT {0} {1}", cols, sql); - } - return sql; - } - - public bool EnableAutoSelect { get; set; } - public bool EnableNamedParams { get; set; } - public bool ForceDateTimesToUtc { get; set; } - - // Return a typed list of pocos - public List Fetch(string sql, params object[] args) - { - return Query(sql, args).ToList(); - } - - public List Fetch(Sql sql) - { - return Fetch(sql.SQL, sql.Arguments); - } - - static Regex rxColumns = new Regex(@"\A\s*SELECT\s+((?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|.)*?)(?\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?(?:\s*,\s*(?:\((?>\((?)|\)(?<-depth>)|.?)*(?(depth)(?!))\)|[\w\(\)\.])+(?:\s+(?:ASC|DESC))?)*", RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.Singleline | RegexOptions.Compiled); - public static bool SplitSqlForPaging(string sql, out string sqlCount, out string sqlSelectRemoved, out string sqlOrderBy) - { - sqlSelectRemoved = null; - sqlCount = null; - sqlOrderBy = null; - - // Extract the columns from "SELECT FROM" - var m = rxColumns.Match(sql); - if (!m.Success) - return false; - - // Save column list and replace with COUNT(*) - Group g = m.Groups[1]; - sqlCount = sql.Substring(0, g.Index) + "COUNT(*) " + sql.Substring(g.Index + g.Length); - sqlSelectRemoved = sql.Substring(g.Index); - - // Look for an "ORDER BY " clause - m = rxOrderBy.Match(sqlCount); - if (!m.Success) - return false; - - g = m.Groups[0]; - sqlOrderBy = g.ToString(); - sqlCount = sqlCount.Substring(0, g.Index) + sqlCount.Substring(g.Index + g.Length); - - return true; - } - - public void BuildPageQueries(long page, long itemsPerPage, string sql, ref object[] args, out string sqlCount, out string sqlPage) - { - // Add auto select clause - if (EnableAutoSelect) - sql = AddSelectClause(sql); - - // Split the SQL into the bits we need - string sqlSelectRemoved, sqlOrderBy; - if (!SplitSqlForPaging(sql, out sqlCount, out sqlSelectRemoved, out sqlOrderBy)) - throw new Exception("Unable to parse SQL statement for paged query"); - if (_dbType == DBType.Oracle && sqlSelectRemoved.StartsWith("*")) - throw new Exception("Query must alias '*' when performing a paged query.\neg. select t.* from table t order by t.id"); - - // Build the SQL for the actual final result - if (_dbType == DBType.SqlServer || _dbType == DBType.Oracle) - { - sqlSelectRemoved = rxOrderBy.Replace(sqlSelectRemoved, ""); - sqlPage = string.Format("SELECT * FROM (SELECT ROW_NUMBER() OVER ({0}) peta_rn, {1}) peta_paged WHERE peta_rn>@{2} AND peta_rn<=@{3}", - sqlOrderBy, sqlSelectRemoved, args.Length, args.Length + 1); - args = args.Concat(new object[] { (page - 1) * itemsPerPage, page * itemsPerPage }).ToArray(); - } - else if (_dbType == DBType.SqlServerCE) - { - sqlPage = string.Format("{0}\nOFFSET @{1} ROWS FETCH NEXT @{2} ROWS ONLY", sql, args.Length, args.Length + 1); - args = args.Concat(new object[] { (page - 1) * itemsPerPage, itemsPerPage }).ToArray(); - } - else - { - sqlPage = string.Format("{0}\nLIMIT @{1} OFFSET @{2}", sql, args.Length, args.Length + 1); - args = args.Concat(new object[] { itemsPerPage, (page - 1) * itemsPerPage }).ToArray(); - } - - } - - // Fetch a page - public Page Page(long page, long itemsPerPage, string sql, params object[] args) - { - string sqlCount, sqlPage; - BuildPageQueries(page, itemsPerPage, sql, ref args, out sqlCount, out sqlPage); - - // Save the one-time command time out and use it for both queries - int saveTimeout = OneTimeCommandTimeout; - - // Setup the paged result - var result = new Page(); - result.CurrentPage = page; - result.ItemsPerPage = itemsPerPage; - result.TotalItems = ExecuteScalar(sqlCount, args); - result.TotalPages = result.TotalItems / itemsPerPage; - if ((result.TotalItems % itemsPerPage) != 0) - result.TotalPages++; - - OneTimeCommandTimeout = saveTimeout; - - // Get the records - result.Items = Fetch(sqlPage, args); - - // Done - return result; - } - - public Page Page(long page, long itemsPerPage, Sql sql) - { - return Page(page, itemsPerPage, sql.SQL, sql.Arguments); - } - - - public List Fetch(long page, long itemsPerPage, string sql, params object[] args) - { - string sqlCount, sqlPage; - BuildPageQueries(page, itemsPerPage, sql, ref args, out sqlCount, out sqlPage); - return Fetch(sqlPage, args); - } - - public List Fetch(long page, long itemsPerPage, Sql sql) - { - return Fetch(page, itemsPerPage, sql.SQL, sql.Arguments); - } - - // Return an enumerable collection of pocos - public IEnumerable Query(string sql, params object[] args) - { - if (EnableAutoSelect) - sql = AddSelectClause(sql); - - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - IDataReader r; - var pd = PocoData.ForType(typeof(T)); - try - { - r = cmd.ExecuteReader(); - OnExecutedCommand(cmd); - } - catch (Exception x) - { - OnException(x); - throw; - } - var factory = pd.GetFactory(cmd.CommandText, _sharedConnection.ConnectionString, ForceDateTimesToUtc, 0, r.FieldCount, r) as Func; - using (r) - { - while (true) - { - T poco; - try - { - if (!r.Read()) - yield break; - poco = factory(r); - } - catch (Exception x) - { - OnException(x); - throw; - } - - yield return poco; - } - } - } - } - finally - { - CloseSharedConnection(); - } - } - - // Multi Fetch - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - public List Fetch(Func cb, string sql, params object[] args) { return Query(cb, sql, args).ToList(); } - - // Multi Query - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql, args); } - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3)}, cb, sql, args); } - public IEnumerable Query(Func cb, string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4)}, cb, sql, args); } - - // Multi Fetch (SQL builder) - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Func cb, Sql sql) { return Query(cb, sql.SQL, sql.Arguments).ToList(); } - - // Multi Query (SQL builder) - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, cb, sql.SQL, sql.Arguments); } - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, cb, sql.SQL, sql.Arguments); } - public IEnumerable Query(Func cb, Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, cb, sql.SQL, sql.Arguments); } - - // Multi Fetch (Simple) - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - public List Fetch(string sql, params object[] args) { return Query(sql, args).ToList(); } - - // Multi Query (Simple) - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql, args); } - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql, args); } - public IEnumerable Query(string sql, params object[] args) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql, args); } - - // Multi Fetch (Simple) (SQL builder) - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - public List Fetch(Sql sql) { return Query(sql.SQL, sql.Arguments).ToList(); } - - // Multi Query (Simple) (SQL builder) - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2) }, null, sql.SQL, sql.Arguments); } - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3) }, null, sql.SQL, sql.Arguments); } - public IEnumerable Query(Sql sql) { return Query(new Type[] { typeof(T1), typeof(T2), typeof(T3), typeof(T4) }, null, sql.SQL, sql.Arguments); } - - // Automagically guess the property relationships between various POCOs and create a delegate that will set them up - object GetAutoMapper(Type[] types) - { - // Build a key - var kb = new StringBuilder(); - foreach (var t in types) - { - kb.Append(t.ToString()); - kb.Append(":"); - } - var key = kb.ToString(); - - // Check cache - RWLock.EnterReadLock(); - try - { - object mapper; - if (AutoMappers.TryGetValue(key, out mapper)) - return mapper; - } - finally - { - RWLock.ExitReadLock(); - } - - // Create it - RWLock.EnterWriteLock(); - try - { - // Try again - object mapper; - if (AutoMappers.TryGetValue(key, out mapper)) - return mapper; - - // Create a method - var m = new DynamicMethod("petapoco_automapper", types[0], types, true); - var il = m.GetILGenerator(); - - for (int i = 1; i < types.Length; i++) - { - bool handled = false; - for (int j = i - 1; j >= 0; j--) - { - // Find the property - var candidates = from p in types[j].GetProperties() where p.PropertyType == types[i] select p; - if (candidates.Count() == 0) - continue; - if (candidates.Count() > 1) - throw new InvalidOperationException(string.Format("Can't auto join {0} as {1} has more than one property of type {0}", types[i], types[j])); - - // Generate code - il.Emit(OpCodes.Ldarg_S, j); - il.Emit(OpCodes.Ldarg_S, i); - il.Emit(OpCodes.Callvirt, candidates.First().GetSetMethod(true)); - handled = true; - } - - if (!handled) - throw new InvalidOperationException(string.Format("Can't auto join {0}", types[i])); - } - - il.Emit(OpCodes.Ldarg_0); - il.Emit(OpCodes.Ret); - - // Cache it - var del = m.CreateDelegate(Expression.GetFuncType(types.Concat(types.Take(1)).ToArray())); - AutoMappers.Add(key, del); - return del; - } - finally - { - RWLock.ExitWriteLock(); - } - } - - // Find the split point in a result set for two different pocos and return the poco factory for the first - Delegate FindSplitPoint(Type typeThis, Type typeNext, string sql, IDataReader r, ref int pos) - { - // Last? - if (typeNext == null) - return PocoData.ForType(typeThis).GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, pos, r.FieldCount - pos, r); - - // Get PocoData for the two types - PocoData pdThis = PocoData.ForType(typeThis); - PocoData pdNext = PocoData.ForType(typeNext); - - // Find split point - int firstColumn = pos; - var usedColumns = new Dictionary(); - for (; pos < r.FieldCount; pos++) - { - // Split if field name has already been used, or if the field doesn't exist in current poco but does in the next - string fieldName = r.GetName(pos); - if (usedColumns.ContainsKey(fieldName) || (!pdThis.Columns.ContainsKey(fieldName) && pdNext.Columns.ContainsKey(fieldName))) - { - return pdThis.GetFactory(sql, _sharedConnection.ConnectionString, ForceDateTimesToUtc, firstColumn, pos - firstColumn, r); - } - usedColumns.Add(fieldName, true); - } - - throw new InvalidOperationException(string.Format("Couldn't find split point between {0} and {1}", typeThis, typeNext)); - } - - // Instance data used by the Multipoco factory delegate - essentially a list of the nested poco factories to call - class MultiPocoFactory - { - public List m_Delegates; - public Delegate GetItem(int index) { return m_Delegates[index]; } - } - - // Create a multi-poco factory - Func CreateMultiPocoFactory(Type[] types, string sql, IDataReader r) - { - var m = new DynamicMethod("petapoco_multipoco_factory", typeof(TRet), new Type[] { typeof(MultiPocoFactory), typeof(IDataReader), typeof(object) }, typeof(MultiPocoFactory)); - var il = m.GetILGenerator(); - - // Load the callback - il.Emit(OpCodes.Ldarg_2); - - // Call each delegate - var dels = new List(); - int pos = 0; - for (int i=0; i)m.CreateDelegate(typeof(Func), new MultiPocoFactory() { m_Delegates = dels }); - } - - // Various cached stuff - static Dictionary MultiPocoFactories = new Dictionary(); - static Dictionary AutoMappers = new Dictionary(); - static System.Threading.ReaderWriterLockSlim RWLock = new System.Threading.ReaderWriterLockSlim(); - - // Get (or create) the multi-poco factory for a query - Func GetMultiPocoFactory(Type[] types, string sql, IDataReader r) - { - // Build a key string (this is crap, should address this at some point) - var kb = new StringBuilder(); - kb.Append(typeof(TRet).ToString()); - kb.Append(":"); - foreach (var t in types) - { - kb.Append(":"); - kb.Append(t.ToString()); - } - kb.Append(":"); kb.Append(_sharedConnection.ConnectionString); - kb.Append(":"); kb.Append(ForceDateTimesToUtc); - kb.Append(":"); kb.Append(sql); - string key = kb.ToString(); - - // Check cache - RWLock.EnterReadLock(); - try - { - object oFactory; - if (MultiPocoFactories.TryGetValue(key, out oFactory)) - return (Func)oFactory; - } - finally - { - RWLock.ExitReadLock(); - } - - // Cache it - RWLock.EnterWriteLock(); - try - { - // Check again - object oFactory; - if (MultiPocoFactories.TryGetValue(key, out oFactory)) - return (Func)oFactory; - - // Create the factory - var Factory = CreateMultiPocoFactory(types, sql, r); - - MultiPocoFactories.Add(key, Factory); - return Factory; - } - finally - { - RWLock.ExitWriteLock(); - } - - } - - // Actual implementation of the multi-poco query - public IEnumerable Query(Type[] types, object cb, string sql, params object[] args) - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, sql, args)) - { - IDataReader r; - try - { - r = cmd.ExecuteReader(); - OnExecutedCommand(cmd); - } - catch (Exception x) - { - OnException(x); - throw; - } - var factory = GetMultiPocoFactory(types, sql, r); - if (cb == null) - cb = GetAutoMapper(types.ToArray()); - bool bNeedTerminator=false; - using (r) - { - while (true) - { - TRet poco; - try - { - if (!r.Read()) - break; - poco = factory(r, cb); - } - catch (Exception x) - { - OnException(x); - throw; - } - - if (poco != null) - yield return poco; - else - bNeedTerminator = true; - } - if (bNeedTerminator) - { - var poco = (TRet)(cb as Delegate).DynamicInvoke(new object[types.Length]); - if (poco != null) - yield return poco; - else - yield break; - } - } - } - } - finally - { - CloseSharedConnection(); - } - } - - - public IEnumerable Query(Sql sql) - { - return Query(sql.SQL, sql.Arguments); - } - - public bool Exists(object primaryKey) - { - return FirstOrDefault(string.Format("WHERE {0}=@0", EscapeSqlIdentifier(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey)), primaryKey) != null; - } - public T Single(object primaryKey) - { - return Single(string.Format("WHERE {0}=@0", EscapeSqlIdentifier(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey)), primaryKey); - } - public T SingleOrDefault(object primaryKey) - { - return SingleOrDefault(string.Format("WHERE {0}=@0", EscapeSqlIdentifier(PocoData.ForType(typeof(T)).TableInfo.PrimaryKey)), primaryKey); - } - public T Single(string sql, params object[] args) - { - return Query(sql, args).Single(); - } - public T SingleOrDefault(string sql, params object[] args) - { - return Query(sql, args).SingleOrDefault(); - } - public T First(string sql, params object[] args) - { - return Query(sql, args).First(); - } - public T FirstOrDefault(string sql, params object[] args) - { - return Query(sql, args).FirstOrDefault(); - } - - public T Single(Sql sql) - { - return Query(sql).Single(); - } - public T SingleOrDefault(Sql sql) - { - return Query(sql).SingleOrDefault(); - } - public T First(Sql sql) - { - return Query(sql).First(); - } - public T FirstOrDefault(Sql sql) - { - return Query(sql).FirstOrDefault(); - } - - public string EscapeTableName(string str) - { - // Assume table names with "dot", or opening sq is already escaped - return str.IndexOf('.') >= 0 ? str : EscapeSqlIdentifier(str); - } - public string EscapeSqlIdentifier(string str) - { - switch (_dbType) - { - case DBType.MySql: - return string.Format("`{0}`", str); - - case DBType.PostgreSQL: - case DBType.Oracle: - return string.Format("\"{0}\"", str); - - default: - return string.Format("[{0}]", str); - } - } - - public object Insert(string tableName, string primaryKeyName, object poco) - { - return Insert(tableName, primaryKeyName, true, poco); - } - - // Insert a poco into a table. If the poco has a property with the same name - // as the primary key the id of the new record is assigned to it. Either way, - // the new id is returned. - public object Insert(string tableName, string primaryKeyName, bool autoIncrement, object poco) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, "")) - { - var pd = PocoData.ForObject(poco, primaryKeyName); - var names = new List(); - var values = new List(); - var index = 0; - foreach (var i in pd.Columns) - { - // Don't insert result columns - if (i.Value.ResultColumn) - continue; - - // Don't insert the primary key (except under oracle where we need bring in the next sequence value) - if (autoIncrement && primaryKeyName != null && string.Compare(i.Key, primaryKeyName, true)==0) - { - if (_dbType == DBType.Oracle && !string.IsNullOrEmpty(pd.TableInfo.SequenceName)) - { - names.Add(i.Key); - values.Add(string.Format("{0}.nextval", pd.TableInfo.SequenceName)); - } - continue; - } - - names.Add(EscapeSqlIdentifier(i.Key)); - values.Add(string.Format("{0}{1}", _paramPrefix, index++)); - AddParam(cmd, i.Value.GetValue(poco), _paramPrefix); - } - - cmd.CommandText = string.Format("INSERT INTO {0} ({1}) VALUES ({2})", - EscapeTableName(tableName), - string.Join(",", names.ToArray()), - string.Join(",", values.ToArray()) - ); - - if (!autoIncrement) - { - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return true; - } - - - object id; - switch (_dbType) - { - case DBType.SqlServerCE: - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - id = ExecuteScalar("SELECT @@@IDENTITY AS NewID;"); - break; - case DBType.SqlServer: - cmd.CommandText += ";\nSELECT SCOPE_IDENTITY() AS NewID;"; - DoPreExecute(cmd); - id = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - break; - case DBType.PostgreSQL: - if (primaryKeyName != null) - { - cmd.CommandText += string.Format("returning {0} as NewID", EscapeSqlIdentifier(primaryKeyName)); - DoPreExecute(cmd); - id = cmd.ExecuteScalar(); - } - else - { - id = -1; - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - } - OnExecutedCommand(cmd); - break; - case DBType.Oracle: - if (primaryKeyName != null) - { - cmd.CommandText += string.Format(" returning {0} into :newid", EscapeSqlIdentifier(primaryKeyName)); - var param = cmd.CreateParameter(); - param.ParameterName = ":newid"; - param.Value = DBNull.Value; - param.Direction = ParameterDirection.ReturnValue; - param.DbType = DbType.Int64; - cmd.Parameters.Add(param); - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - id = param.Value; - } - else - { - id = -1; - DoPreExecute(cmd); - cmd.ExecuteNonQuery(); - } - OnExecutedCommand(cmd); - break; - default: - cmd.CommandText += ";\nSELECT @@IDENTITY AS NewID;"; - DoPreExecute(cmd); - id = cmd.ExecuteScalar(); - OnExecutedCommand(cmd); - break; - } - - - // Assign the ID back to the primary key property - if (primaryKeyName != null) - { - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - pc.SetValue(poco, pc.ChangeType(id)); - } - } - - return id; - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - // Insert an annotated poco object - public object Insert(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - return Insert(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, pd.TableInfo.AutoIncrement, poco); - } - - // Update a record with values from a poco. primary key value can be either supplied or read from the poco - public int Update(string tableName, string primaryKeyName, object poco, object primaryKeyValue) - { - try - { - OpenSharedConnection(); - try - { - using (var cmd = CreateCommand(_sharedConnection, "")) - { - var sb = new StringBuilder(); - var index = 0; - var pd = PocoData.ForObject(poco,primaryKeyName); - foreach (var i in pd.Columns) - { - // Don't update the primary key, but grab the value if we don't have it - if (string.Compare(i.Key, primaryKeyName, true)==0) - { - if (primaryKeyValue == null) - primaryKeyValue = i.Value.GetValue(poco); - continue; - } - - // Dont update result only columns - if (i.Value.ResultColumn) - continue; - - // Build the sql - if (index > 0) - sb.Append(", "); - sb.AppendFormat("{0} = {1}{2}", EscapeSqlIdentifier(i.Key), _paramPrefix, index++); - - // Store the parameter in the command - AddParam(cmd, i.Value.GetValue(poco), _paramPrefix); - } - - cmd.CommandText = string.Format("UPDATE {0} SET {1} WHERE {2} = {3}{4}", - EscapeTableName(tableName), sb.ToString(), EscapeSqlIdentifier(primaryKeyName), _paramPrefix, index++); - AddParam(cmd, primaryKeyValue, _paramPrefix); - - DoPreExecute(cmd); - - // Do it - var retv=cmd.ExecuteNonQuery(); - OnExecutedCommand(cmd); - return retv; - } - } - finally - { - CloseSharedConnection(); - } - } - catch (Exception x) - { - OnException(x); - throw; - } - } - - public int Update(string tableName, string primaryKeyName, object poco) - { - return Update(tableName, primaryKeyName, poco, null); - } - - public int Update(object poco) - { - return Update(poco, null); - } - - public int Update(object poco, object primaryKeyValue) - { - var pd = PocoData.ForType(poco.GetType()); - return Update(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco, primaryKeyValue); - } - - public int Update(string sql, params object[] args) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(string.Format("UPDATE {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); - } - - public int Update(Sql sql) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(new Sql(string.Format("UPDATE {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); - } - - public int Delete(string tableName, string primaryKeyName, object poco) - { - return Delete(tableName, primaryKeyName, poco, null); - } - - public int Delete(string tableName, string primaryKeyName, object poco, object primaryKeyValue) - { - // If primary key value not specified, pick it up from the object - if (primaryKeyValue == null) - { - var pd = PocoData.ForObject(poco,primaryKeyName); - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - primaryKeyValue = pc.GetValue(poco); - } - } - - // Do it - var sql = string.Format("DELETE FROM {0} WHERE {1}=@0", EscapeTableName(tableName), EscapeSqlIdentifier(primaryKeyName)); - return Execute(sql, primaryKeyValue); - } - - public int Delete(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); - } - - public int Delete(object pocoOrPrimaryKey) - { - if (pocoOrPrimaryKey.GetType() == typeof(T)) - return Delete(pocoOrPrimaryKey); - var pd = PocoData.ForType(typeof(T)); - return Delete(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, null, pocoOrPrimaryKey); - } - - public int Delete(string sql, params object[] args) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(string.Format("DELETE FROM {0} {1}", EscapeTableName(pd.TableInfo.TableName), sql), args); - } - - public int Delete(Sql sql) - { - var pd = PocoData.ForType(typeof(T)); - return Execute(new Sql(string.Format("DELETE FROM {0}", EscapeTableName(pd.TableInfo.TableName))).Append(sql)); - } - - // Check if a poco represents a new record - public bool IsNew(string primaryKeyName, object poco) - { - var pd = PocoData.ForObject(poco, primaryKeyName); - object pk; - PocoColumn pc; - if (pd.Columns.TryGetValue(primaryKeyName, out pc)) - { - pk = pc.GetValue(poco); - } -#if !PETAPOCO_NO_DYNAMIC - else if (poco.GetType() == typeof(System.Dynamic.ExpandoObject)) - { - return true; - } -#endif - else - { - var pi = poco.GetType().GetProperty(primaryKeyName); - if (pi == null) - throw new ArgumentException(string.Format("The object doesn't have a property matching the primary key column name '{0}'", primaryKeyName)); - pk = pi.GetValue(poco, null); - } - - if (pk == null) - return true; - - var type = pk.GetType(); - - if (type.IsValueType) - { - // Common primary key types - if (type == typeof(long)) - return (long)pk == 0; - else if (type == typeof(ulong)) - return (ulong)pk == 0; - else if (type == typeof(int)) - return (int)pk == 0; - else if (type == typeof(uint)) - return (uint)pk == 0; - - // Create a default instance and compare - return pk == Activator.CreateInstance(pk.GetType()); - } - else - { - return pk == null; - } - } - - public bool IsNew(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - if (!pd.TableInfo.AutoIncrement) - throw new InvalidOperationException("IsNew() and Save() are only supported on tables with auto-increment/identity primary key columns"); - return IsNew(pd.TableInfo.PrimaryKey, poco); - } - - // Insert new record or Update existing record - public void Save(string tableName, string primaryKeyName, object poco) - { - if (IsNew(primaryKeyName, poco)) - { - Insert(tableName, primaryKeyName, true, poco); - } - else - { - Update(tableName, primaryKeyName, poco); - } - } - - public void Save(object poco) - { - var pd = PocoData.ForType(poco.GetType()); - Save(pd.TableInfo.TableName, pd.TableInfo.PrimaryKey, poco); - } - - public int CommandTimeout { get; set; } - public int OneTimeCommandTimeout { get; set; } - - void DoPreExecute(IDbCommand cmd) - { - // Setup command timeout - if (OneTimeCommandTimeout != 0) - { - cmd.CommandTimeout = OneTimeCommandTimeout; - OneTimeCommandTimeout = 0; - } - else if (CommandTimeout!=0) - { - cmd.CommandTimeout = CommandTimeout; - } - - // Call hook - OnExecutingCommand(cmd); - - // Save it - _lastSql = cmd.CommandText; - _lastArgs = (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray(); - } - - public string LastSQL { get { return _lastSql; } } - public object[] LastArgs { get { return _lastArgs; } } - public string LastCommand - { - get { return FormatCommand(_lastSql, _lastArgs); } - } - - public string FormatCommand(IDbCommand cmd) - { - return FormatCommand(cmd.CommandText, (from IDataParameter parameter in cmd.Parameters select parameter.Value).ToArray()); - } - - public string FormatCommand(string sql, object[] args) - { - var sb = new StringBuilder(); - if (sql == null) - return ""; - sb.Append(sql); - if (args != null && args.Length > 0) - { - sb.Append("\n"); - for (int i = 0; i < args.Length; i++) - { - sb.AppendFormat("\t -> {0}{1} [{2}] = \"{3}\"\n", _paramPrefix, i, args[i].GetType().Name, args[i]); - } - sb.Remove(sb.Length - 1, 1); - } - return sb.ToString(); - } - - - public static IMapper Mapper - { - get; - set; - } - - internal class PocoColumn - { - public string ColumnName; - public PropertyInfo PropertyInfo; - public bool ResultColumn; - public virtual void SetValue(object target, object val) { PropertyInfo.SetValue(target, val, null); } - public virtual object GetValue(object target) { return PropertyInfo.GetValue(target, null); } - public virtual object ChangeType(object val) { return Convert.ChangeType(val, PropertyInfo.PropertyType); } - } - internal class ExpandoColumn : PocoColumn - { - public override void SetValue(object target, object val) { (target as IDictionary)[ColumnName]=val; } - public override object GetValue(object target) - { - object val=null; - (target as IDictionary).TryGetValue(ColumnName, out val); - return val; - } - public override object ChangeType(object val) { return val; } - } - internal class PocoData - { - public static PocoData ForObject(object o, string primaryKeyName) - { - var t = o.GetType(); -#if !PETAPOCO_NO_DYNAMIC - if (t == typeof(System.Dynamic.ExpandoObject)) - { - var pd = new PocoData(); - pd.TableInfo = new TableInfo(); - pd.Columns = new Dictionary(StringComparer.OrdinalIgnoreCase); - pd.Columns.Add(primaryKeyName, new ExpandoColumn() { ColumnName = primaryKeyName }); - pd.TableInfo.PrimaryKey = primaryKeyName; - pd.TableInfo.AutoIncrement = true; - foreach (var col in (o as IDictionary).Keys) - { - if (col!=primaryKeyName) - pd.Columns.Add(col, new ExpandoColumn() { ColumnName = col }); - } - return pd; - } - else -#endif - return ForType(t); - } - static System.Threading.ReaderWriterLockSlim RWLock = new System.Threading.ReaderWriterLockSlim(); - public static PocoData ForType(Type t) - { -#if !PETAPOCO_NO_DYNAMIC - if (t == typeof(System.Dynamic.ExpandoObject)) - throw new InvalidOperationException("Can't use dynamic types with this method"); -#endif - // Check cache - RWLock.EnterReadLock(); - PocoData pd; - try - { - if (m_PocoDatas.TryGetValue(t, out pd)) - return pd; - } - finally - { - RWLock.ExitReadLock(); - } - - - // Cache it - RWLock.EnterWriteLock(); - try - { - // Check again - if (m_PocoDatas.TryGetValue(t, out pd)) - return pd; - - // Create it - pd = new PocoData(t); - - m_PocoDatas.Add(t, pd); - } - finally - { - RWLock.ExitWriteLock(); - } - - return pd; - } - - public PocoData() - { - } - - public PocoData(Type t) - { - type = t; - TableInfo=new TableInfo(); - - // Get the table name - var a = t.GetCustomAttributes(typeof(TableNameAttribute), true); - TableInfo.TableName = a.Length == 0 ? t.Name : (a[0] as TableNameAttribute).Value; - - // Get the primary key - a = t.GetCustomAttributes(typeof(PrimaryKeyAttribute), true); - TableInfo.PrimaryKey = a.Length == 0 ? "ID" : (a[0] as PrimaryKeyAttribute).Value; - TableInfo.SequenceName = a.Length == 0 ? null : (a[0] as PrimaryKeyAttribute).sequenceName; - TableInfo.AutoIncrement = a.Length == 0 ? false : (a[0] as PrimaryKeyAttribute).autoIncrement; - - // Call column mapper - if (Database.Mapper != null) - Database.Mapper.GetTableInfo(t, TableInfo); - - // Work out bound properties - bool ExplicitColumns = t.GetCustomAttributes(typeof(ExplicitColumnsAttribute), true).Length > 0; - Columns = new Dictionary(StringComparer.OrdinalIgnoreCase); - foreach (var pi in t.GetProperties()) - { - // Work out if properties is to be included - var ColAttrs = pi.GetCustomAttributes(typeof(ColumnAttribute), true); - if (ExplicitColumns) - { - if (ColAttrs.Length == 0) - continue; - } - else - { - if (pi.GetCustomAttributes(typeof(IgnoreAttribute), true).Length != 0) - continue; - } - - var pc = new PocoColumn(); - pc.PropertyInfo = pi; - - // Work out the DB column name - if (ColAttrs.Length > 0) - { - var colattr = (ColumnAttribute)ColAttrs[0]; - pc.ColumnName = colattr.Name; - if ((colattr as ResultColumnAttribute) != null) - pc.ResultColumn = true; - } - if (pc.ColumnName == null) - { - pc.ColumnName = pi.Name; - if (Database.Mapper != null && !Database.Mapper.MapPropertyToColumn(pi, ref pc.ColumnName, ref pc.ResultColumn)) - continue; - } - - // Store it - Columns.Add(pc.ColumnName, pc); - } - - // Build column list for automatic select - QueryColumns = (from c in Columns where !c.Value.ResultColumn select c.Key).ToArray(); - - } - - bool IsIntegralType(Type t) - { - var tc=Type.GetTypeCode(t); - return tc >= TypeCode.SByte && tc <= TypeCode.UInt64; - } - - // Create factory function that can convert a IDataReader record into a POCO - public Delegate GetFactory(string sql, string connString, bool ForceDateTimesToUtc, int firstColumn, int countColumns, IDataReader r) - { - // Check cache - var key = string.Format("{0}:{1}:{2}:{3}:{4}", sql, connString, ForceDateTimesToUtc, firstColumn, countColumns); - RWLock.EnterReadLock(); - try - { - // Have we already created it? - Delegate factory; - if (PocoFactories.TryGetValue(key, out factory)) - return factory; - } - finally - { - RWLock.ExitReadLock(); - } - - // Take the writer lock - RWLock.EnterWriteLock(); - - try - { - // Check again, just in case - Delegate factory; - if (PocoFactories.TryGetValue(key, out factory)) - return factory; - - // Create the method - var m = new DynamicMethod("petapoco_factory_" + PocoFactories.Count.ToString(), type, new Type[] { typeof(IDataReader) }, true); - var il = m.GetILGenerator(); - -#if !PETAPOCO_NO_DYNAMIC - if (type == typeof(object)) - { - // var poco=new T() - il.Emit(OpCodes.Newobj, typeof(System.Dynamic.ExpandoObject).GetConstructor(Type.EmptyTypes)); // obj - - MethodInfo fnAdd = typeof(IDictionary).GetMethod("Add"); - - // Enumerate all fields generating a set assignment for the column - for (int i = firstColumn; i < firstColumn + countColumns; i++) - { - var srcType = r.GetFieldType(i); - - il.Emit(OpCodes.Dup); // obj, obj - il.Emit(OpCodes.Ldstr, r.GetName(i)); // obj, obj, fieldname - - // Get the converter - Func converter = null; - if (Database.Mapper != null) - converter = Database.Mapper.GetFromDbConverter(null, srcType); - if (ForceDateTimesToUtc && converter == null && srcType == typeof(DateTime)) - converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; - - // Setup stack for call to converter - int converterIndex = -1; - if (converter != null) - { - // Add the converter - converterIndex = m_Converters.Count; - m_Converters.Add(converter); - - // Generate IL to push the converter onto the stack - il.Emit(OpCodes.Ldsfld, fldConverters); - il.Emit(OpCodes.Ldc_I4, converterIndex); - il.Emit(OpCodes.Callvirt, fnListGetItem); // obj, obj, fieldname, Converter - } - - - // r[i] - il.Emit(OpCodes.Ldarg_0); // obj, obj, fieldname, converter?, rdr - il.Emit(OpCodes.Ldc_I4, i); // obj, obj, fieldname, converter?, rdr,i - il.Emit(OpCodes.Callvirt, fnGetValue); // obj, obj, fieldname, converter?, value - - // Convert DBNull to null - il.Emit(OpCodes.Dup); // obj, obj, fieldname, converter?, value, value - il.Emit(OpCodes.Isinst, typeof(DBNull)); // obj, obj, fieldname, converter?, value, (value or null) - var lblNotNull = il.DefineLabel(); - il.Emit(OpCodes.Brfalse_S, lblNotNull); // obj, obj, fieldname, converter?, value - il.Emit(OpCodes.Pop); // obj, obj, fieldname, converter? - if (converter != null) - il.Emit(OpCodes.Pop); // obj, obj, fieldname, - il.Emit(OpCodes.Ldnull); // obj, obj, fieldname, null - if (converter != null) - { - var lblReady = il.DefineLabel(); - il.Emit(OpCodes.Br_S, lblReady); - il.MarkLabel(lblNotNull); - il.Emit(OpCodes.Callvirt, fnInvoke); - il.MarkLabel(lblReady); - } - else - { - il.MarkLabel(lblNotNull); - } - - il.Emit(OpCodes.Callvirt, fnAdd); - } - } - else -#endif - if (type.IsValueType) - { - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnGetValue); // value - il.Emit(OpCodes.Unbox_Any, type); // value converted - } - else if (type == typeof(string) || type == typeof(byte[])) - { - // "if (!rdr.IsDBNull(i))" - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnIsDBNull); // bool - var lblCont = il.DefineLabel(); - il.Emit(OpCodes.Brfalse_S, lblCont); - il.Emit(OpCodes.Ldnull); // null - var lblFin = il.DefineLabel(); - il.Emit(OpCodes.Br_S, lblFin); - - il.MarkLabel(lblCont); - il.Emit(OpCodes.Ldarg_0); // rdr - il.Emit(OpCodes.Ldc_I4_0); // rdr,0 - il.Emit(OpCodes.Callvirt, fnGetValue); // value - - il.Emit(OpCodes.Unbox_Any, type); // value converted - - il.MarkLabel(lblFin); - } - else - { - // var poco=new T() - il.Emit(OpCodes.Newobj, type.GetConstructor(BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic, null, new Type[0], null)); - - // Enumerate all fields generating a set assignment for the column - for (int i = firstColumn; i < firstColumn + countColumns; i++) - { - // Get the PocoColumn for this db column, ignore if not known - PocoColumn pc; - if (!Columns.TryGetValue(r.GetName(i), out pc)) - continue; - - // Get the source type for this column - var srcType = r.GetFieldType(i); - var dstType = pc.PropertyInfo.PropertyType; - - // "if (!rdr.IsDBNull(i))" - il.Emit(OpCodes.Ldarg_0); // poco,rdr - il.Emit(OpCodes.Ldc_I4, i); // poco,rdr,i - il.Emit(OpCodes.Callvirt, fnIsDBNull); // poco,bool - var lblNext = il.DefineLabel(); - il.Emit(OpCodes.Brtrue_S, lblNext); // poco - - il.Emit(OpCodes.Dup); // poco,poco - - // Do we need to install a converter? - Func converter = null; - - // Get converter from the mapper - if (Database.Mapper != null) - { - converter = Database.Mapper.GetFromDbConverter(pc.PropertyInfo, srcType); - } - - // Standard DateTime->Utc mapper - if (ForceDateTimesToUtc && converter == null && srcType == typeof(DateTime) && (dstType == typeof(DateTime) || dstType == typeof(DateTime?))) - { - converter = delegate(object src) { return new DateTime(((DateTime)src).Ticks, DateTimeKind.Utc); }; - } - - // Forced type conversion including integral types -> enum - if (converter == null) - { - if (dstType.IsEnum && IsIntegralType(srcType)) - { - if (srcType != typeof(int)) - { - converter = delegate(object src) { return Convert.ChangeType(src, typeof(int), null); }; - } - } - else if (!dstType.IsAssignableFrom(srcType)) - { - converter = delegate(object src) { return Convert.ChangeType(src, dstType, null); }; - } - } - - // Fast - bool Handled = false; - if (converter == null) - { - var valuegetter = typeof(IDataRecord).GetMethod("Get" + srcType.Name, new Type[] { typeof(int) }); - if (valuegetter != null - && valuegetter.ReturnType == srcType - && (valuegetter.ReturnType == dstType || valuegetter.ReturnType == Nullable.GetUnderlyingType(dstType))) - { - il.Emit(OpCodes.Ldarg_0); // *,rdr - il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i - il.Emit(OpCodes.Callvirt, valuegetter); // *,value - - // Convert to Nullable - if (Nullable.GetUnderlyingType(dstType) != null) - { - il.Emit(OpCodes.Newobj, dstType.GetConstructor(new Type[] { Nullable.GetUnderlyingType(dstType) })); - } - - il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco - Handled = true; - } - } - - // Not so fast - if (!Handled) - { - // Setup stack for call to converter - int converterIndex = -1; - if (converter != null) - { - // Add the converter - converterIndex = m_Converters.Count; - m_Converters.Add(converter); - - // Generate IL to push the converter onto the stack - il.Emit(OpCodes.Ldsfld, fldConverters); - il.Emit(OpCodes.Ldc_I4, converterIndex); - il.Emit(OpCodes.Callvirt, fnListGetItem); // Converter - } - - // "value = rdr.GetValue(i)" - il.Emit(OpCodes.Ldarg_0); // *,rdr - il.Emit(OpCodes.Ldc_I4, i); // *,rdr,i - il.Emit(OpCodes.Callvirt, fnGetValue); // *,value - - // Call the converter - if (converter != null) - il.Emit(OpCodes.Callvirt, fnInvoke); - - // Assign it - il.Emit(OpCodes.Unbox_Any, pc.PropertyInfo.PropertyType); // poco,poco,value - il.Emit(OpCodes.Callvirt, pc.PropertyInfo.GetSetMethod(true)); // poco - } - - il.MarkLabel(lblNext); - } - } - - il.Emit(OpCodes.Ret); - - // Cache it, return it - var del = m.CreateDelegate(Expression.GetFuncType(typeof(IDataReader), type)); - PocoFactories.Add(key, del); - return del; - } - finally - { - RWLock.ExitWriteLock(); - } - } - - - static Dictionary m_PocoDatas = new Dictionary(); - static List> m_Converters = new List>(); - static MethodInfo fnGetValue = typeof(IDataRecord).GetMethod("GetValue", new Type[] { typeof(int) }); - static MethodInfo fnIsDBNull = typeof(IDataRecord).GetMethod("IsDBNull"); - static FieldInfo fldConverters = typeof(PocoData).GetField("m_Converters", BindingFlags.Static | BindingFlags.GetField | BindingFlags.NonPublic); - static MethodInfo fnListGetItem = typeof(List>).GetProperty("Item").GetGetMethod(); - static MethodInfo fnInvoke = typeof(Func).GetMethod("Invoke"); - public Type type; - public string[] QueryColumns { get; private set; } - public TableInfo TableInfo { get; private set; } - public Dictionary Columns { get; private set; } - Dictionary PocoFactories = new Dictionary(); - } - - - // Member variables - string _connectionString; - string _providerName; - DbProviderFactory _factory; - IDbConnection _sharedConnection; - IDbTransaction _transaction; - int _sharedConnectionDepth; - int _transactionDepth; - bool _transactionCancelled; - string _lastSql; - object[] _lastArgs; - string _paramPrefix = "@"; - } - - // Transaction object helps maintain transaction depth counts - public class Transaction : IDisposable - { - public Transaction(Database db) - { - _db = db; - _db.BeginTransaction(); - } - - public void Complete() - { - _db.CompleteTransaction(); - _db = null; - } - - public void Dispose() - { - if (_db != null) - _db.AbortTransaction(); - } - - Database _db; - } - - // Simple helper class for building SQL statments - public class Sql - { - public Sql() - { - } - - public Sql(string sql, params object[] args) - { - _sql = sql; - _args = args; - } - - public static Sql Builder - { - get { return new Sql(); } - } - - string _sql; - object[] _args; - Sql _rhs; - string _sqlFinal; - object[] _argsFinal; - - private void Build() - { - // already built? - if (_sqlFinal != null) - return; - - // Build it - var sb = new StringBuilder(); - var args = new List(); - Build(sb, args, null); - _sqlFinal = sb.ToString(); - _argsFinal = args.ToArray(); - } - - public string SQL - { - get - { - Build(); - return _sqlFinal; - } - } - - public object[] Arguments - { - get - { - Build(); - return _argsFinal; - } - } - - public Sql Append(Sql sql) - { - if (_rhs != null) - _rhs.Append(sql); - else - _rhs = sql; - - return this; - } - - public Sql Append(string sql, params object[] args) - { - return Append(new Sql(sql, args)); - } - - static bool Is(Sql sql, string sqltype) - { - return sql != null && sql._sql != null && sql._sql.StartsWith(sqltype, StringComparison.InvariantCultureIgnoreCase); - } - - private void Build(StringBuilder sb, List args, Sql lhs) - { - if (!String.IsNullOrEmpty(_sql)) - { - // Add SQL to the string - if (sb.Length > 0) - { - sb.Append("\n"); - } - - var sql = Database.ProcessParams(_sql, _args, args); - - if (Is(lhs, "WHERE ") && Is(this, "WHERE ")) - sql = "AND " + sql.Substring(6); - if (Is(lhs, "ORDER BY ") && Is(this, "ORDER BY ")) - sql = ", " + sql.Substring(9); - - sb.Append(sql); - } - - // Now do rhs - if (_rhs != null) - _rhs.Build(sb, args, this); - } - - public Sql Where(string sql, params object[] args) - { - return Append(new Sql("WHERE (" + sql + ")", args)); - } - - public Sql OrderBy(params object[] columns) - { - return Append(new Sql("ORDER BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - public Sql Select(params object[] columns) - { - return Append(new Sql("SELECT " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - public Sql From(params object[] tables) - { - return Append(new Sql("FROM " + String.Join(", ", (from x in tables select x.ToString()).ToArray()))); - } - - public Sql GroupBy(params object[] columns) - { - return Append(new Sql("GROUP BY " + String.Join(", ", (from x in columns select x.ToString()).ToArray()))); - } - - private SqlJoinClause Join(string JoinType, string table) - { - return new SqlJoinClause(Append(new Sql(JoinType + table))); - } - - public SqlJoinClause InnerJoin(string table) { return Join("INNER JOIN ", table); } - public SqlJoinClause LeftJoin(string table) { return Join("LEFT JOIN ", table); } - - public class SqlJoinClause - { - private readonly Sql _sql; - - public SqlJoinClause(Sql sql) - { - _sql = sql; - } - - public Sql On(string onClause, params object[] args) - { - return _sql.Append("ON " + onClause, args); - } - } - } - -} diff --git a/packages/PetaPoco.Core.4.0.2/PetaPoco.Core.4.0.2.nupkg b/packages/PetaPoco.Core.4.0.2/PetaPoco.Core.4.0.2.nupkg deleted file mode 100644 index bbc3f4d6094773e182abc1ea7013453252e8a6d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20358 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�&A?Ts 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[^>]*$|#([\w\-]+)$)/, - - // Check if a string has a non-whitespace character in it - rnotwhite = /\S/, - - // Used for trimming whitespace - trimLeft = /^\s+/, - trimRight = /\s+$/, - - // Check for digits - rdigit = /\d/, - - // Match a standalone tag - rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/, - - // JSON RegExp - rvalidchars = /^[\],:{}\s]*$/, - rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g, - rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, - rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, - - // Useragent RegExp - rwebkit = /(webkit)[ \/]([\w.]+)/, - ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/, - rmsie = /(msie) ([\w.]+)/, - rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/, - - // Keep a UserAgent string for use with jQuery.browser - userAgent = navigator.userAgent, - - // For matching the engine and version of the browser - browserMatch, - - // The deferred used on DOM ready - readyList, - - // The ready event handler - DOMContentLoaded, - - // Save a reference to some core methods - toString = Object.prototype.toString, - hasOwn = Object.prototype.hasOwnProperty, - push = Array.prototype.push, - slice = Array.prototype.slice, - trim = String.prototype.trim, - indexOf = Array.prototype.indexOf, - - // [[Class]] -> type pairs - class2type = {}; - -jQuery.fn = jQuery.prototype = { - constructor: jQuery, - init: function( selector, context, rootjQuery ) { - var match, elem, ret, doc; - - // Handle $(""), $(null), or $(undefined) - if ( !selector ) { - return this; - } - - // Handle $(DOMElement) - if ( selector.nodeType ) { - this.context = this[0] = selector; - this.length = 1; - return this; - } - - // The body element only exists once, optimize finding it - if ( selector === "body" && !context && document.body ) { - this.context = document; - this[0] = document.body; - this.selector = "body"; - this.length = 1; - return this; - } - - // Handle HTML strings - if ( typeof selector === "string" ) { - // Are we dealing with HTML string or an ID? - match = quickExpr.exec( selector ); - - // Verify a match, and that no context was specified for #id - if ( match && (match[1] || !context) ) { - - // HANDLE: $(html) -> $(array) - if ( match[1] ) { - context = context instanceof jQuery ? context[0] : context; - doc = (context ? context.ownerDocument || context : document); - - // If a single string is passed in and it's a single tag - // just do a createElement and skip the rest - ret = rsingleTag.exec( selector ); - - if ( ret ) { - if ( jQuery.isPlainObject( context ) ) { - selector = [ document.createElement( ret[1] ) ]; - jQuery.fn.attr.call( selector, context, true ); - - } else { - selector = [ doc.createElement( ret[1] ) ]; - } - - } else { - ret = jQuery.buildFragment( [ match[1] ], [ doc ] ); - selector = (ret.cacheable ? jQuery.clone(ret.fragment) : ret.fragment).childNodes; - } - - return jQuery.merge( this, selector ); - - // HANDLE: $("#id") - } else { - elem = document.getElementById( match[2] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id !== match[2] ) { - return rootjQuery.find( selector ); - } - - // Otherwise, we inject the element directly into the jQuery object - this.length = 1; - this[0] = elem; - } - - this.context = document; - this.selector = selector; - return this; - } - - // HANDLE: $(expr, $(...)) - } else if ( !context || context.jquery ) { - return (context || rootjQuery).find( selector ); - - // HANDLE: $(expr, context) - // (which is just equivalent to: $(context).find(expr) - } else { - return this.constructor( context ).find( selector ); - } - - // HANDLE: $(function) - // Shortcut for document ready - } else if ( jQuery.isFunction( selector ) ) { - return rootjQuery.ready( selector ); - } - - if (selector.selector !== undefined) { - this.selector = selector.selector; - this.context = selector.context; - } - - return jQuery.makeArray( selector, this ); - }, - - // Start with an empty selector - selector: "", - - // The current version of jQuery being used - jquery: "1.5.2", - - // The default length of a jQuery object is 0 - length: 0, - - // The number of elements contained in the matched element set - size: function() { - return this.length; - }, - - toArray: function() { - return slice.call( this, 0 ); - }, - - // Get the Nth element in the matched element set OR - // Get the whole matched element set as a clean array - get: function( num ) { - return num == null ? - - // Return a 'clean' array - this.toArray() : - - // Return just the object - ( num < 0 ? this[ this.length + num ] : this[ num ] ); - }, - - // Take an array of elements and push it onto the stack - // (returning the new matched element set) - pushStack: function( elems, name, selector ) { - // Build a new jQuery matched element set - var ret = this.constructor(); - - if ( jQuery.isArray( elems ) ) { - push.apply( ret, elems ); - - } else { - jQuery.merge( ret, elems ); - } - - // Add the old object onto the stack (as a reference) - ret.prevObject = this; - - ret.context = this.context; - - if ( name === "find" ) { - ret.selector = this.selector + (this.selector ? " " : "") + selector; - } else if ( name ) { - ret.selector = this.selector + "." + name + "(" + selector + ")"; - } - - // Return the newly-formed element set - return ret; - }, - - // Execute a callback for every element in the matched set. - // (You can seed the arguments with an array of args, but this is - // only used internally.) - each: function( callback, args ) { - return jQuery.each( this, callback, args ); - }, - - ready: function( fn ) { - // Attach the listeners - jQuery.bindReady(); - - // Add the callback - readyList.done( fn ); - - return this; - }, - - eq: function( i ) { - return i === -1 ? - this.slice( i ) : - this.slice( i, +i + 1 ); - }, - - first: function() { - return this.eq( 0 ); - }, - - last: function() { - return this.eq( -1 ); - }, - - slice: function() { - return this.pushStack( slice.apply( this, arguments ), - "slice", slice.call(arguments).join(",") ); - }, - - map: function( callback ) { - return this.pushStack( jQuery.map(this, function( elem, i ) { - return callback.call( elem, i, elem ); - })); - }, - - end: function() { - return this.prevObject || this.constructor(null); - }, - - // For internal use only. - // Behaves like an Array's method, not like a jQuery method. - push: push, - sort: [].sort, - splice: [].splice -}; - -// Give the init function the jQuery prototype for later instantiation -jQuery.fn.init.prototype = jQuery.fn; - -jQuery.extend = jQuery.fn.extend = function() { - var options, name, src, copy, copyIsArray, clone, - target = arguments[0] || {}, - i = 1, - length = arguments.length, - deep = false; - - // Handle a deep copy situation - if ( typeof target === "boolean" ) { - deep = target; - target = arguments[1] || {}; - // skip the boolean and the target - i = 2; - } - - // Handle case when target is a string or something (possible in deep copy) - if ( typeof target !== "object" && !jQuery.isFunction(target) ) { - target = {}; - } - - // extend jQuery itself if only one argument is passed - if ( length === i ) { - target = this; - --i; - } - - for ( ; i < length; i++ ) { - // Only deal with non-null/undefined values - if ( (options = arguments[ i ]) != null ) { - // Extend the base object - for ( name in options ) { - src = target[ name ]; - copy = options[ name ]; - - // Prevent never-ending loop - if ( target === copy ) { - continue; - } - - // Recurse if we're merging plain objects or arrays - if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = jQuery.isArray(copy)) ) ) { - if ( copyIsArray ) { - copyIsArray = false; - clone = src && jQuery.isArray(src) ? src : []; - - } else { - clone = src && jQuery.isPlainObject(src) ? src : {}; - } - - // Never move original objects, clone them - target[ name ] = jQuery.extend( deep, clone, copy ); - - // Don't bring in undefined values - } else if ( copy !== undefined ) { - target[ name ] = copy; - } - } - } - } - - // Return the modified object - return target; -}; - -jQuery.extend({ - noConflict: function( deep ) { - window.$ = _$; - - if ( deep ) { - window.jQuery = _jQuery; - } - - return jQuery; - }, - - // Is the DOM ready to be used? Set to true once it occurs. - isReady: false, - - // A counter to track how many items to wait for before - // the ready event fires. See #6781 - readyWait: 1, - - // Handle when the DOM is ready - ready: function( wait ) { - // A third-party is pushing the ready event forwards - if ( wait === true ) { - jQuery.readyWait--; - } - - // Make sure that the DOM is not already loaded - if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( !document.body ) { - return setTimeout( jQuery.ready, 1 ); - } - - // Remember that the DOM is ready - jQuery.isReady = true; - - // If a normal DOM Ready event fired, decrement, and wait if need be - if ( wait !== true && --jQuery.readyWait > 0 ) { - return; - } - - // If there are functions bound, to execute - readyList.resolveWith( document, [ jQuery ] ); - - // Trigger any bound ready events - if ( jQuery.fn.trigger ) { - jQuery( document ).trigger( "ready" ).unbind( "ready" ); - } - } - }, - - bindReady: function() { - if ( readyList ) { - return; - } - - readyList = jQuery._Deferred(); - - // Catch cases where $(document).ready() is called after the - // browser event has already occurred. - if ( document.readyState === "complete" ) { - // Handle it asynchronously to allow scripts the opportunity to delay ready - return setTimeout( jQuery.ready, 1 ); - } - - // Mozilla, Opera and webkit nightlies currently support this event - if ( document.addEventListener ) { - // Use the handy event callback - document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - - // A fallback to window.onload, that will always work - window.addEventListener( "load", jQuery.ready, false ); - - // If IE event model is used - } else if ( document.attachEvent ) { - // ensure firing before onload, - // maybe late but safe also for iframes - document.attachEvent("onreadystatechange", DOMContentLoaded); - - // A fallback to window.onload, that will always work - window.attachEvent( "onload", jQuery.ready ); - - // If IE and not a frame - // continually check to see if the document is ready - var toplevel = false; - - try { - toplevel = window.frameElement == null; - } catch(e) {} - - if ( document.documentElement.doScroll && toplevel ) { - doScrollCheck(); - } - } - }, - - // See test/unit/core.js for details concerning isFunction. - // Since version 1.3, DOM methods and functions like alert - // aren't supported. They return false on IE (#2968). - isFunction: function( obj ) { - return jQuery.type(obj) === "function"; - }, - - isArray: Array.isArray || function( obj ) { - return jQuery.type(obj) === "array"; - }, - - // A crude way of determining if an object is a window - isWindow: function( obj ) { - return obj && typeof obj === "object" && "setInterval" in obj; - }, - - isNaN: function( obj ) { - return obj == null || !rdigit.test( obj ) || isNaN( obj ); - }, - - type: function( obj ) { - return obj == null ? - String( obj ) : - class2type[ toString.call(obj) ] || "object"; - }, - - isPlainObject: function( obj ) { - // Must be an Object. - // Because of IE, we also have to check the presence of the constructor property. - // Make sure that DOM nodes and window objects don't pass through, as well - if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) { - return false; - } - - // Not own constructor property must be Object - if ( obj.constructor && - !hasOwn.call(obj, "constructor") && - !hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { - return false; - } - - // Own properties are enumerated firstly, so to speed up, - // if last one is own, then all properties are own. - - var key; - for ( key in obj ) {} - - return key === undefined || hasOwn.call( obj, key ); - }, - - isEmptyObject: function( obj ) { - for ( var name in obj ) { - return false; - } - return true; - }, - - error: function( msg ) { - throw msg; - }, - - parseJSON: function( data ) { - if ( typeof data !== "string" || !data ) { - return null; - } - - // Make sure leading/trailing whitespace is removed (IE can't handle it) - data = jQuery.trim( data ); - - // Make sure the incoming data is actual JSON - // Logic borrowed from http://json.org/json2.js - if ( rvalidchars.test(data.replace(rvalidescape, "@") - .replace(rvalidtokens, "]") - .replace(rvalidbraces, "")) ) { - - // Try to use the native JSON parser first - return window.JSON && window.JSON.parse ? - window.JSON.parse( data ) : - (new Function("return " + data))(); - - } else { - jQuery.error( "Invalid JSON: " + data ); - } - }, - - // Cross-browser xml parsing - // (xml & tmp used internally) - parseXML: function( data , xml , tmp ) { - - if ( window.DOMParser ) { // Standard - tmp = new DOMParser(); - xml = tmp.parseFromString( data , "text/xml" ); - } else { // IE - xml = new ActiveXObject( "Microsoft.XMLDOM" ); - xml.async = "false"; - xml.loadXML( data ); - } - - tmp = xml.documentElement; - - if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) { - jQuery.error( "Invalid XML: " + data ); - } - - return xml; - }, - - noop: function() {}, - - // Evalulates a script in a global context - globalEval: function( data ) { - if ( data && rnotwhite.test(data) ) { - // Inspired by code by Andrea Giammarchi - // http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html - var head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement, - script = document.createElement( "script" ); - - if ( jQuery.support.scriptEval() ) { - script.appendChild( document.createTextNode( data ) ); - } else { - script.text = data; - } - - // Use insertBefore instead of appendChild to circumvent an IE6 bug. - // This arises when a base node is used (#2709). - head.insertBefore( script, head.firstChild ); - head.removeChild( script ); - } - }, - - nodeName: function( elem, name ) { - return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase(); - }, - - // args is for internal usage only - each: function( object, callback, args ) { - var name, i = 0, - length = object.length, - isObj = length === undefined || jQuery.isFunction(object); - - if ( args ) { - if ( isObj ) { - for ( name in object ) { - if ( callback.apply( object[ name ], args ) === false ) { - break; - } - } - } else { - for ( ; i < length; ) { - if ( callback.apply( object[ i++ ], args ) === false ) { - break; - } - } - } - - // A special, fast, case for the most common use of each - } else { - if ( isObj ) { - for ( name in object ) { - if ( callback.call( object[ name ], name, object[ name ] ) === false ) { - break; - } - } - } else { - for ( var value = object[0]; - i < length && callback.call( value, i, value ) !== false; value = object[++i] ) {} - } - } - - return object; - }, - - // Use native String.trim function wherever possible - trim: trim ? - function( text ) { - return text == null ? - "" : - trim.call( text ); - } : - - // Otherwise use our own trimming functionality - function( text ) { - return text == null ? - "" : - text.toString().replace( trimLeft, "" ).replace( trimRight, "" ); - }, - - // results is for internal usage only - makeArray: function( array, results ) { - var ret = results || []; - - if ( array != null ) { - // The window, strings (and functions) also have 'length' - // The extra typeof function check is to prevent crashes - // in Safari 2 (See: #3039) - // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 - var type = jQuery.type(array); - - if ( array.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( array ) ) { - push.call( ret, array ); - } else { - jQuery.merge( ret, array ); - } - } - - return ret; - }, - - inArray: function( elem, array ) { - if ( array.indexOf ) { - return array.indexOf( elem ); - } - - for ( var i = 0, length = array.length; i < length; i++ ) { - if ( array[ i ] === elem ) { - return i; - } - } - - return -1; - }, - - merge: function( first, second ) { - var i = first.length, - j = 0; - - if ( typeof second.length === "number" ) { - for ( var l = second.length; j < l; j++ ) { - first[ i++ ] = second[ j ]; - } - - } else { - while ( second[j] !== undefined ) { - first[ i++ ] = second[ j++ ]; - } - } - - first.length = i; - - return first; - }, - - grep: function( elems, callback, inv ) { - var ret = [], retVal; - inv = !!inv; - - // Go through the array, only saving the items - // that pass the validator function - for ( var i = 0, length = elems.length; i < length; i++ ) { - retVal = !!callback( elems[ i ], i ); - if ( inv !== retVal ) { - ret.push( elems[ i ] ); - } - } - - return ret; - }, - - // arg is for internal usage only - map: function( elems, callback, arg ) { - var ret = [], value; - - // Go through the array, translating each of the items to their - // new value (or values). - for ( var i = 0, length = elems.length; i < length; i++ ) { - value = callback( elems[ i ], i, arg ); - - if ( value != null ) { - ret[ ret.length ] = value; - } - } - - // Flatten any nested arrays - return ret.concat.apply( [], ret ); - }, - - // A global GUID counter for objects - guid: 1, - - proxy: function( fn, proxy, thisObject ) { - if ( arguments.length === 2 ) { - if ( typeof proxy === "string" ) { - thisObject = fn; - fn = thisObject[ proxy ]; - proxy = undefined; - - } else if ( proxy && !jQuery.isFunction( proxy ) ) { - thisObject = proxy; - proxy = undefined; - } - } - - if ( !proxy && fn ) { - proxy = function() { - return fn.apply( thisObject || this, arguments ); - }; - } - - // Set the guid of unique handler to the same of original handler, so it can be removed - if ( fn ) { - proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++; - } - - // So proxy can be declared as an argument - return proxy; - }, - - // Mutifunctional method to get and set values to a collection - // The value/s can be optionally by executed if its a function - access: function( elems, key, value, exec, fn, pass ) { - var length = elems.length; - - // Setting many attributes - if ( typeof key === "object" ) { - for ( var k in key ) { - jQuery.access( elems, k, key[k], exec, fn, value ); - } - return elems; - } - - // Setting one attribute - if ( value !== undefined ) { - // Optionally, function values get executed if exec is true - exec = !pass && exec && jQuery.isFunction(value); - - for ( var i = 0; i < length; i++ ) { - fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); - } - - return elems; - } - - // Getting an attribute - return length ? fn( elems[0], key ) : undefined; - }, - - now: function() { - return (new Date()).getTime(); - }, - - // Use of jQuery.browser is frowned upon. - // More details: http://docs.jquery.com/Utilities/jQuery.browser - uaMatch: function( ua ) { - ua = ua.toLowerCase(); - - var match = rwebkit.exec( ua ) || - ropera.exec( ua ) || - rmsie.exec( ua ) || - ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) || - []; - - return { browser: match[1] || "", version: match[2] || "0" }; - }, - - sub: function() { - function jQuerySubclass( selector, context ) { - return new jQuerySubclass.fn.init( selector, context ); - } - jQuery.extend( true, jQuerySubclass, this ); - jQuerySubclass.superclass = this; - jQuerySubclass.fn = jQuerySubclass.prototype = this(); - jQuerySubclass.fn.constructor = jQuerySubclass; - jQuerySubclass.subclass = this.subclass; - jQuerySubclass.fn.init = function init( selector, context ) { - if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) ) { - context = jQuerySubclass(context); - } - - return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass ); - }; - jQuerySubclass.fn.init.prototype = jQuerySubclass.fn; - var rootjQuerySubclass = jQuerySubclass(document); - return jQuerySubclass; - }, - - browser: {} -}); - -// Populate the class2type map -jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { - class2type[ "[object " + name + "]" ] = name.toLowerCase(); -}); - -browserMatch = jQuery.uaMatch( userAgent ); -if ( browserMatch.browser ) { - jQuery.browser[ browserMatch.browser ] = true; - jQuery.browser.version = browserMatch.version; -} - -// Deprecated, use jQuery.browser.webkit instead -if ( jQuery.browser.webkit ) { - jQuery.browser.safari = true; -} - -if ( indexOf ) { - jQuery.inArray = function( elem, array ) { - return indexOf.call( array, elem ); - }; -} - -// IE doesn't match non-breaking spaces with \s -if ( rnotwhite.test( "\xA0" ) ) { - trimLeft = /^[\s\xA0]+/; - trimRight = /[\s\xA0]+$/; -} - -// All jQuery objects should point back to these -rootjQuery = jQuery(document); - -// Cleanup functions for the document ready method -if ( document.addEventListener ) { - DOMContentLoaded = function() { - document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); - jQuery.ready(); - }; - -} else if ( document.attachEvent ) { - DOMContentLoaded = function() { - // Make sure body exists, at least, in case IE gets a little overzealous (ticket #5443). - if ( document.readyState === "complete" ) { - document.detachEvent( "onreadystatechange", DOMContentLoaded ); - jQuery.ready(); - } - }; -} - -// The DOM ready check for Internet Explorer -function doScrollCheck() { - if ( jQuery.isReady ) { - return; - } - - try { - // If IE is used, use the trick by Diego Perini - // http://javascript.nwbox.com/IEContentLoaded/ - document.documentElement.doScroll("left"); - } catch(e) { - setTimeout( doScrollCheck, 1 ); - return; - } - - // and execute any waiting functions - jQuery.ready(); -} - -// Expose jQuery to the global object -return jQuery; - -})(); - - -var // Promise methods - promiseMethods = "then done fail isResolved isRejected promise".split( " " ), - // Static reference to slice - sliceDeferred = [].slice; - -jQuery.extend({ - // Create a simple deferred (one callbacks list) - _Deferred: function() { - var // callbacks list - callbacks = [], - // stored [ context , args ] - fired, - // to avoid firing when already doing so - firing, - // flag to know if the deferred has been cancelled - cancelled, - // the deferred itself - deferred = { - - // done( f1, f2, ...) - done: function() { - if ( !cancelled ) { - var args = arguments, - i, - length, - elem, - type, - _fired; - if ( fired ) { - _fired = fired; - fired = 0; - } - for ( i = 0, length = args.length; i < length; i++ ) { - elem = args[ i ]; - type = jQuery.type( elem ); - if ( type === "array" ) { - deferred.done.apply( deferred, elem ); - } else if ( type === "function" ) { - callbacks.push( elem ); - } - } - if ( _fired ) { - deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] ); - } - } - return this; - }, - - // resolve with given context and args - resolveWith: function( context, args ) { - if ( !cancelled && !fired && !firing ) { - // make sure args are available (#8421) - args = args || []; - firing = 1; - try { - while( callbacks[ 0 ] ) { - callbacks.shift().apply( context, args ); - } - } - finally { - fired = [ context, args ]; - firing = 0; - } - } - return this; - }, - - // resolve with this as context and given arguments - resolve: function() { - deferred.resolveWith( this, arguments ); - return this; - }, - - // Has this deferred been resolved? - isResolved: function() { - return !!( firing || fired ); - }, - - // Cancel - cancel: function() { - cancelled = 1; - callbacks = []; - return this; - } - }; - - return deferred; - }, - - // Full fledged deferred (two callbacks list) - Deferred: function( func ) { - var deferred = jQuery._Deferred(), - failDeferred = jQuery._Deferred(), - promise; - // Add errorDeferred methods, then and promise - jQuery.extend( deferred, { - then: function( doneCallbacks, failCallbacks ) { - deferred.done( doneCallbacks ).fail( failCallbacks ); - return this; - }, - fail: failDeferred.done, - rejectWith: failDeferred.resolveWith, - reject: failDeferred.resolve, - isRejected: failDeferred.isResolved, - // Get a promise for this deferred - // If obj is provided, the promise aspect is added to the object - promise: function( obj ) { - if ( obj == null ) { - if ( promise ) { - return promise; - } - promise = obj = {}; - } - var i = promiseMethods.length; - while( i-- ) { - obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ]; - } - return obj; - } - } ); - // Make sure only one callback list will be used - deferred.done( failDeferred.cancel ).fail( deferred.cancel ); - // Unexpose cancel - delete deferred.cancel; - // Call given func if any - if ( func ) { - func.call( deferred, deferred ); - } - return deferred; - }, - - // Deferred helper - when: function( firstParam ) { - var args = arguments, - i = 0, - length = args.length, - count = length, - deferred = length <= 1 && firstParam && jQuery.isFunction( firstParam.promise ) ? - firstParam : - jQuery.Deferred(); - function resolveFunc( i ) { - return function( value ) { - args[ i ] = arguments.length > 1 ? sliceDeferred.call( arguments, 0 ) : value; - if ( !( --count ) ) { - // Strange bug in FF4: - // Values changed onto the arguments object sometimes end up as undefined values - // outside the $.when method. Cloning the object into a fresh array solves the issue - deferred.resolveWith( deferred, sliceDeferred.call( args, 0 ) ); - } - }; - } - if ( length > 1 ) { - for( ; i < length; i++ ) { - if ( args[ i ] && jQuery.isFunction( args[ i ].promise ) ) { - args[ i ].promise().then( resolveFunc(i), deferred.reject ); - } else { - --count; - } - } - if ( !count ) { - deferred.resolveWith( deferred, args ); - } - } else if ( deferred !== firstParam ) { - deferred.resolveWith( deferred, length ? [ firstParam ] : [] ); - } - return deferred.promise(); - } -}); - - - - -(function() { - - jQuery.support = {}; - - var div = document.createElement("div"); - - div.style.display = "none"; - div.innerHTML = "
a"; - - var all = div.getElementsByTagName("*"), - a = div.getElementsByTagName("a")[0], - select = document.createElement("select"), - opt = select.appendChild( document.createElement("option") ), - input = div.getElementsByTagName("input")[0]; - - // Can't get basic test support - if ( !all || !all.length || !a ) { - return; - } - - jQuery.support = { - // IE strips leading whitespace when .innerHTML is used - leadingWhitespace: div.firstChild.nodeType === 3, - - // Make sure that tbody elements aren't automatically inserted - // IE will insert them into empty tables - tbody: !div.getElementsByTagName("tbody").length, - - // Make sure that link elements get serialized correctly by innerHTML - // This requires a wrapper element in IE - htmlSerialize: !!div.getElementsByTagName("link").length, - - // Get the style information from getAttribute - // (IE uses .cssText insted) - style: /red/.test( a.getAttribute("style") ), - - // Make sure that URLs aren't manipulated - // (IE normalizes it by default) - hrefNormalized: a.getAttribute("href") === "/a", - - // Make sure that element opacity exists - // (IE uses filter instead) - // Use a regex to work around a WebKit issue. See #5145 - opacity: /^0.55$/.test( a.style.opacity ), - - // Verify style float existence - // (IE uses styleFloat instead of cssFloat) - cssFloat: !!a.style.cssFloat, - - // Make sure that if no value is specified for a checkbox - // that it defaults to "on". - // (WebKit defaults to "" instead) - checkOn: input.value === "on", - - // Make sure that a selected-by-default option has a working selected property. - // (WebKit defaults to false instead of true, IE too, if it's in an optgroup) - optSelected: opt.selected, - - // Will be defined later - deleteExpando: true, - optDisabled: false, - checkClone: false, - noCloneEvent: true, - noCloneChecked: true, - boxModel: null, - inlineBlockNeedsLayout: false, - shrinkWrapBlocks: false, - reliableHiddenOffsets: true, - reliableMarginRight: true - }; - - input.checked = true; - jQuery.support.noCloneChecked = input.cloneNode( true ).checked; - - // Make sure that the options inside disabled selects aren't marked as disabled - // (WebKit marks them as diabled) - select.disabled = true; - jQuery.support.optDisabled = !opt.disabled; - - var _scriptEval = null; - jQuery.support.scriptEval = function() { - if ( _scriptEval === null ) { - var root = document.documentElement, - script = document.createElement("script"), - id = "script" + jQuery.now(); - - // Make sure that the execution of code works by injecting a script - // tag with appendChild/createTextNode - // (IE doesn't support this, fails, and uses .text instead) - try { - script.appendChild( document.createTextNode( "window." + id + "=1;" ) ); - } catch(e) {} - - root.insertBefore( script, root.firstChild ); - - if ( window[ id ] ) { - _scriptEval = true; - delete window[ id ]; - } else { - _scriptEval = false; - } - - root.removeChild( script ); - } - - return _scriptEval; - }; - - // Test to see if it's possible to delete an expando from an element - // Fails in Internet Explorer - try { - delete div.test; - - } catch(e) { - jQuery.support.deleteExpando = false; - } - - if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { - div.attachEvent("onclick", function click() { - // Cloning a node shouldn't copy over any - // bound event handlers (IE does this) - jQuery.support.noCloneEvent = false; - div.detachEvent("onclick", click); - }); - div.cloneNode(true).fireEvent("onclick"); - } - - div = document.createElement("div"); - div.innerHTML = ""; - - var fragment = document.createDocumentFragment(); - fragment.appendChild( div.firstChild ); - - // WebKit doesn't clone checked state correctly in fragments - jQuery.support.checkClone = fragment.cloneNode(true).cloneNode(true).lastChild.checked; - - // Figure out if the W3C box model works as expected - // document.body must exist before we can do this - jQuery(function() { - var div = document.createElement("div"), - body = document.getElementsByTagName("body")[0]; - - // Frameset documents with no body should not run this code - if ( !body ) { - return; - } - - div.style.width = div.style.paddingLeft = "1px"; - body.appendChild( div ); - jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2; - - if ( "zoom" in div.style ) { - // Check if natively block-level elements act like inline-block - // elements when setting their display to 'inline' and giving - // them layout - // (IE < 8 does this) - div.style.display = "inline"; - div.style.zoom = 1; - jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2; - - // Check if elements with layout shrink-wrap their children - // (IE 6 does this) - div.style.display = ""; - div.innerHTML = "
"; - jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2; - } - - div.innerHTML = "
t
"; - var tds = div.getElementsByTagName("td"); - - // Check if table cells still have offsetWidth/Height when they are set - // to display:none and there are still other visible table cells in a - // table row; if so, offsetWidth/Height are not reliable for use when - // determining if an element has been hidden directly using - // display:none (it is still safe to use offsets if a parent element is - // hidden; don safety goggles and see bug #4512 for more information). - // (only IE 8 fails this test) - jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0; - - tds[0].style.display = ""; - tds[1].style.display = "none"; - - // Check if empty table cells still have offsetWidth/Height - // (IE < 8 fail this test) - jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && tds[0].offsetHeight === 0; - div.innerHTML = ""; - - // Check if div with explicit width and no margin-right incorrectly - // gets computed margin-right based on width of container. For more - // info see bug #3333 - // Fails in WebKit before Feb 2011 nightlies - // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right - if ( document.defaultView && document.defaultView.getComputedStyle ) { - div.style.width = "1px"; - div.style.marginRight = "0"; - jQuery.support.reliableMarginRight = ( parseInt(document.defaultView.getComputedStyle(div, null).marginRight, 10) || 0 ) === 0; - } - - body.removeChild( div ).style.display = "none"; - div = tds = null; - }); - - // Technique from Juriy Zaytsev - // http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/ - var eventSupported = function( eventName ) { - var el = document.createElement("div"); - eventName = "on" + eventName; - - // We only care about the case where non-standard event systems - // are used, namely in IE. Short-circuiting here helps us to - // avoid an eval call (in setAttribute) which can cause CSP - // to go haywire. See: https://developer.mozilla.org/en/Security/CSP - if ( !el.attachEvent ) { - return true; - } - - var isSupported = (eventName in el); - if ( !isSupported ) { - el.setAttribute(eventName, "return;"); - isSupported = typeof el[eventName] === "function"; - } - return isSupported; - }; - - jQuery.support.submitBubbles = eventSupported("submit"); - jQuery.support.changeBubbles = eventSupported("change"); - - // release memory in IE - div = all = a = null; -})(); - - - -var rbrace = /^(?:\{.*\}|\[.*\])$/; - -jQuery.extend({ - cache: {}, - - // Please use with caution - uuid: 0, - - // Unique for each copy of jQuery on the page - // Non-digits removed to match rinlinejQuery - expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ), - - // The following elements throw uncatchable exceptions if you - // attempt to add expando properties to them. - noData: { - "embed": true, - // Ban all objects except for Flash (which handle expandos) - "object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", - "applet": true - }, - - hasData: function( elem ) { - elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando ]; - - return !!elem && !isEmptyDataObject( elem ); - }, - - data: function( elem, name, data, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache, - - // We have to handle DOM nodes and JS objects differently because IE6-7 - // can't GC object references properly across the DOM-JS boundary - isNode = elem.nodeType, - - // Only DOM nodes need the global jQuery cache; JS object data is - // attached directly to the object so GC can occur automatically - cache = isNode ? jQuery.cache : elem, - - // Only defining an ID for JS objects if its cache already exists allows - // the code to shortcut on the same path as a DOM node with no cache - id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando; - - // Avoid doing any more work than we need to when trying to get data on an - // object that has no data at all - if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === undefined ) { - return; - } - - if ( !id ) { - // Only DOM nodes need a new unique ID for each element since their data - // ends up in the global cache - if ( isNode ) { - elem[ jQuery.expando ] = id = ++jQuery.uuid; - } else { - id = jQuery.expando; - } - } - - if ( !cache[ id ] ) { - cache[ id ] = {}; - - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - } - - // An object can be passed to jQuery.data instead of a key/value pair; this gets - // shallow copied over onto the existing cache - if ( typeof name === "object" || typeof name === "function" ) { - if ( pvt ) { - cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name); - } else { - cache[ id ] = jQuery.extend(cache[ id ], name); - } - } - - thisCache = cache[ id ]; - - // Internal jQuery data is stored in a separate object inside the object's data - // cache in order to avoid key collisions between internal data and user-defined - // data - if ( pvt ) { - if ( !thisCache[ internalKey ] ) { - thisCache[ internalKey ] = {}; - } - - thisCache = thisCache[ internalKey ]; - } - - if ( data !== undefined ) { - thisCache[ name ] = data; - } - - // TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should - // not attempt to inspect the internal events object using jQuery.data, as this - // internal data object is undocumented and subject to change. - if ( name === "events" && !thisCache[name] ) { - return thisCache[ internalKey ] && thisCache[ internalKey ].events; - } - - return getByName ? thisCache[ name ] : thisCache; - }, - - removeData: function( elem, name, pvt /* Internal Use Only */ ) { - if ( !jQuery.acceptData( elem ) ) { - return; - } - - var internalKey = jQuery.expando, isNode = elem.nodeType, - - // See jQuery.data for more information - cache = isNode ? jQuery.cache : elem, - - // See jQuery.data for more information - id = isNode ? elem[ jQuery.expando ] : jQuery.expando; - - // If there is already no cache entry for this object, there is no - // purpose in continuing - if ( !cache[ id ] ) { - return; - } - - if ( name ) { - var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ]; - - if ( thisCache ) { - delete thisCache[ name ]; - - // If there is no data left in the cache, we want to continue - // and let the cache object itself get destroyed - if ( !isEmptyDataObject(thisCache) ) { - return; - } - } - } - - // See jQuery.data for more information - if ( pvt ) { - delete cache[ id ][ internalKey ]; - - // Don't destroy the parent cache unless the internal data object - // had been the only thing left in it - if ( !isEmptyDataObject(cache[ id ]) ) { - return; - } - } - - var internalCache = cache[ id ][ internalKey ]; - - // Browsers that fail expando deletion also refuse to delete expandos on - // the window, but it will allow it on all other JS objects; other browsers - // don't care - if ( jQuery.support.deleteExpando || cache != window ) { - delete cache[ id ]; - } else { - cache[ id ] = null; - } - - // We destroyed the entire user cache at once because it's faster than - // iterating through each key, but we need to continue to persist internal - // data if it existed - if ( internalCache ) { - cache[ id ] = {}; - // TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery - // metadata on plain JS objects when the object is serialized using - // JSON.stringify - if ( !isNode ) { - cache[ id ].toJSON = jQuery.noop; - } - - cache[ id ][ internalKey ] = internalCache; - - // Otherwise, we need to eliminate the expando on the node to avoid - // false lookups in the cache for entries that no longer exist - } else if ( isNode ) { - // IE does not allow us to delete expando properties from nodes, - // nor does it have a removeAttribute function on Document nodes; - // we must handle all of these cases - if ( jQuery.support.deleteExpando ) { - delete elem[ jQuery.expando ]; - } else if ( elem.removeAttribute ) { - elem.removeAttribute( jQuery.expando ); - } else { - elem[ jQuery.expando ] = null; - } - } - }, - - // For internal use only. - _data: function( elem, name, data ) { - return jQuery.data( elem, name, data, true ); - }, - - // A method for determining if a DOM node can handle the data expando - acceptData: function( elem ) { - if ( elem.nodeName ) { - var match = jQuery.noData[ elem.nodeName.toLowerCase() ]; - - if ( match ) { - return !(match === true || elem.getAttribute("classid") !== match); - } - } - - return true; - } -}); - -jQuery.fn.extend({ - data: function( key, value ) { - var data = null; - - if ( typeof key === "undefined" ) { - if ( this.length ) { - data = jQuery.data( this[0] ); - - if ( this[0].nodeType === 1 ) { - var attr = this[0].attributes, name; - for ( var i = 0, l = attr.length; i < l; i++ ) { - name = attr[i].name; - - if ( name.indexOf( "data-" ) === 0 ) { - name = name.substr( 5 ); - dataAttr( this[0], name, data[ name ] ); - } - } - } - } - - return data; - - } else if ( typeof key === "object" ) { - return this.each(function() { - jQuery.data( this, key ); - }); - } - - var parts = key.split("."); - parts[1] = parts[1] ? "." + parts[1] : ""; - - if ( value === undefined ) { - data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]); - - // Try to fetch any internally stored data first - if ( data === undefined && this.length ) { - data = jQuery.data( this[0], key ); - data = dataAttr( this[0], key, data ); - } - - return data === undefined && parts[1] ? - this.data( parts[0] ) : - data; - - } else { - return this.each(function() { - var $this = jQuery( this ), - args = [ parts[0], value ]; - - $this.triggerHandler( "setData" + parts[1] + "!", args ); - jQuery.data( this, key, value ); - $this.triggerHandler( "changeData" + parts[1] + "!", args ); - }); - } - }, - - removeData: function( key ) { - return this.each(function() { - jQuery.removeData( this, key ); - }); - } -}); - -function dataAttr( elem, key, data ) { - // If nothing was found internally, try to fetch any - // data from the HTML5 data-* attribute - if ( data === undefined && elem.nodeType === 1 ) { - data = elem.getAttribute( "data-" + key ); - - if ( typeof data === "string" ) { - try { - data = data === "true" ? true : - data === "false" ? false : - data === "null" ? null : - !jQuery.isNaN( data ) ? parseFloat( data ) : - rbrace.test( data ) ? jQuery.parseJSON( data ) : - data; - } catch( e ) {} - - // Make sure we set the data so it isn't changed later - jQuery.data( elem, key, data ); - - } else { - data = undefined; - } - } - - return data; -} - -// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON -// property to be considered empty objects; this property always exists in -// order to make sure JSON.stringify does not expose internal metadata -function isEmptyDataObject( obj ) { - for ( var name in obj ) { - if ( name !== "toJSON" ) { - return false; - } - } - - return true; -} - - - - -jQuery.extend({ - queue: function( elem, type, data ) { - if ( !elem ) { - return; - } - - type = (type || "fx") + "queue"; - var q = jQuery._data( elem, type ); - - // Speed up dequeue by getting out quickly if this is just a lookup - if ( !data ) { - return q || []; - } - - if ( !q || jQuery.isArray(data) ) { - q = jQuery._data( elem, type, jQuery.makeArray(data) ); - - } else { - q.push( data ); - } - - return q; - }, - - dequeue: function( elem, type ) { - type = type || "fx"; - - var queue = jQuery.queue( elem, type ), - fn = queue.shift(); - - // If the fx queue is dequeued, always remove the progress sentinel - if ( fn === "inprogress" ) { - fn = queue.shift(); - } - - if ( fn ) { - // Add a progress sentinel to prevent the fx queue from being - // automatically dequeued - if ( type === "fx" ) { - queue.unshift("inprogress"); - } - - fn.call(elem, function() { - jQuery.dequeue(elem, type); - }); - } - - if ( !queue.length ) { - jQuery.removeData( elem, type + "queue", true ); - } - } -}); - -jQuery.fn.extend({ - queue: function( type, data ) { - if ( typeof type !== "string" ) { - data = type; - type = "fx"; - } - - if ( data === undefined ) { - return jQuery.queue( this[0], type ); - } - return this.each(function( i ) { - var queue = jQuery.queue( this, type, data ); - - if ( type === "fx" && queue[0] !== "inprogress" ) { - jQuery.dequeue( this, type ); - } - }); - }, - dequeue: function( type ) { - return this.each(function() { - jQuery.dequeue( this, type ); - }); - }, - - // Based off of the plugin by Clint Helfers, with permission. - // http://blindsignals.com/index.php/2009/07/jquery-delay/ - delay: function( time, type ) { - time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; - type = type || "fx"; - - return this.queue( type, function() { - var elem = this; - setTimeout(function() { - jQuery.dequeue( elem, type ); - }, time ); - }); - }, - - clearQueue: function( type ) { - return this.queue( type || "fx", [] ); - } -}); - - - - -var rclass = /[\n\t\r]/g, - rspaces = /\s+/, - rreturn = /\r/g, - rspecialurl = /^(?:href|src|style)$/, - rtype = /^(?:button|input)$/i, - rfocusable = /^(?:button|input|object|select|textarea)$/i, - rclickable = /^a(?:rea)?$/i, - rradiocheck = /^(?:radio|checkbox)$/i; - -jQuery.props = { - "for": "htmlFor", - "class": "className", - readonly: "readOnly", - maxlength: "maxLength", - cellspacing: "cellSpacing", - rowspan: "rowSpan", - colspan: "colSpan", - tabindex: "tabIndex", - usemap: "useMap", - frameborder: "frameBorder" -}; - -jQuery.fn.extend({ - attr: function( name, value ) { - return jQuery.access( this, name, value, true, jQuery.attr ); - }, - - removeAttr: function( name, fn ) { - return this.each(function(){ - jQuery.attr( this, name, "" ); - if ( this.nodeType === 1 ) { - this.removeAttribute( name ); - } - }); - }, - - addClass: function( value ) { - if ( jQuery.isFunction(value) ) { - return this.each(function(i) { - var self = jQuery(this); - self.addClass( value.call(this, i, self.attr("class")) ); - }); - } - - if ( value && typeof value === "string" ) { - var classNames = (value || "").split( rspaces ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 ) { - if ( !elem.className ) { - elem.className = value; - - } else { - var className = " " + elem.className + " ", - setClass = elem.className; - - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) { - setClass += " " + classNames[c]; - } - } - elem.className = jQuery.trim( setClass ); - } - } - } - } - - return this; - }, - - removeClass: function( value ) { - if ( jQuery.isFunction(value) ) { - return this.each(function(i) { - var self = jQuery(this); - self.removeClass( value.call(this, i, self.attr("class")) ); - }); - } - - if ( (value && typeof value === "string") || value === undefined ) { - var classNames = (value || "").split( rspaces ); - - for ( var i = 0, l = this.length; i < l; i++ ) { - var elem = this[i]; - - if ( elem.nodeType === 1 && elem.className ) { - if ( value ) { - var className = (" " + elem.className + " ").replace(rclass, " "); - for ( var c = 0, cl = classNames.length; c < cl; c++ ) { - className = className.replace(" " + classNames[c] + " ", " "); - } - elem.className = jQuery.trim( className ); - - } else { - elem.className = ""; - } - } - } - } - - return this; - }, - - toggleClass: function( value, stateVal ) { - var type = typeof value, - isBool = typeof stateVal === "boolean"; - - if ( jQuery.isFunction( value ) ) { - return this.each(function(i) { - var self = jQuery(this); - self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal ); - }); - } - - return this.each(function() { - if ( type === "string" ) { - // toggle individual class names - var className, - i = 0, - self = jQuery( this ), - state = stateVal, - classNames = value.split( rspaces ); - - while ( (className = classNames[ i++ ]) ) { - // check each className given, space seperated list - state = isBool ? state : !self.hasClass( className ); - self[ state ? "addClass" : "removeClass" ]( className ); - } - - } else if ( type === "undefined" || type === "boolean" ) { - if ( this.className ) { - // store className if set - jQuery._data( this, "__className__", this.className ); - } - - // toggle whole className - this.className = this.className || value === false ? "" : jQuery._data( this, "__className__" ) || ""; - } - }); - }, - - hasClass: function( selector ) { - var className = " " + selector + " "; - for ( var i = 0, l = this.length; i < l; i++ ) { - if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > -1 ) { - return true; - } - } - - return false; - }, - - val: function( value ) { - if ( !arguments.length ) { - var elem = this[0]; - - if ( elem ) { - if ( jQuery.nodeName( elem, "option" ) ) { - // attributes.value is undefined in Blackberry 4.7 but - // uses .value. See #6932 - var val = elem.attributes.value; - return !val || val.specified ? elem.value : elem.text; - } - - // We need to handle select boxes special - if ( jQuery.nodeName( elem, "select" ) ) { - var index = elem.selectedIndex, - values = [], - options = elem.options, - one = elem.type === "select-one"; - - // Nothing was selected - if ( index < 0 ) { - return null; - } - - // Loop through all the selected options - for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; i++ ) { - var option = options[ i ]; - - // Don't return options that are disabled or in a disabled optgroup - if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : option.getAttribute("disabled") === null) && - (!option.parentNode.disabled || !jQuery.nodeName( option.parentNode, "optgroup" )) ) { - - // Get the specific value for the option - value = jQuery(option).val(); - - // We don't need an array for one selects - if ( one ) { - return value; - } - - // Multi-Selects return an array - values.push( value ); - } - } - - // Fixes Bug #2551 -- select.val() broken in IE after form.reset() - if ( one && !values.length && options.length ) { - return jQuery( options[ index ] ).val(); - } - - return values; - } - - // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified - if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) { - return elem.getAttribute("value") === null ? "on" : elem.value; - } - - // Everything else, we just grab the value - return (elem.value || "").replace(rreturn, ""); - - } - - return undefined; - } - - var isFunction = jQuery.isFunction(value); - - return this.each(function(i) { - var self = jQuery(this), val = value; - - if ( this.nodeType !== 1 ) { - return; - } - - if ( isFunction ) { - val = value.call(this, i, self.val()); - } - - // Treat null/undefined as ""; convert numbers to string - if ( val == null ) { - val = ""; - } else if ( typeof val === "number" ) { - val += ""; - } else if ( jQuery.isArray(val) ) { - val = jQuery.map(val, function (value) { - return value == null ? "" : value + ""; - }); - } - - if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) { - this.checked = jQuery.inArray( self.val(), val ) >= 0; - - } else if ( jQuery.nodeName( this, "select" ) ) { - var values = jQuery.makeArray(val); - - jQuery( "option", this ).each(function() { - this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; - }); - - if ( !values.length ) { - this.selectedIndex = -1; - } - - } else { - this.value = val; - } - }); - } -}); - -jQuery.extend({ - attrFn: { - val: true, - css: true, - html: true, - text: true, - data: true, - width: true, - height: true, - offset: true - }, - - attr: function( elem, name, value, pass ) { - // don't get/set attributes on text, comment and attribute nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) { - return undefined; - } - - if ( pass && name in jQuery.attrFn ) { - return jQuery(elem)[name](value); - } - - var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ), - // Whether we are setting (or getting) - set = value !== undefined; - - // Try to normalize/fix the name - name = notxml && jQuery.props[ name ] || name; - - // Only do all the following if this is a node (faster for style) - if ( elem.nodeType === 1 ) { - // These attributes require special treatment - var special = rspecialurl.test( name ); - - // Safari mis-reports the default selected property of an option - // Accessing the parent's selectedIndex property fixes it - if ( name === "selected" && !jQuery.support.optSelected ) { - var parent = elem.parentNode; - if ( parent ) { - parent.selectedIndex; - - // Make sure that it also works with optgroups, see #5701 - if ( parent.parentNode ) { - parent.parentNode.selectedIndex; - } - } - } - - // If applicable, access the attribute via the DOM 0 way - // 'in' checks fail in Blackberry 4.7 #6931 - if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) { - if ( set ) { - // We can't allow the type property to be changed (since it causes problems in IE) - if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) { - jQuery.error( "type property can't be changed" ); - } - - if ( value === null ) { - if ( elem.nodeType === 1 ) { - elem.removeAttribute( name ); - } - - } else { - elem[ name ] = value; - } - } - - // browsers index elements by id/name on forms, give priority to attributes. - if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) { - return elem.getAttributeNode( name ).nodeValue; - } - - // elem.tabIndex doesn't always return the correct value when it hasn't been explicitly set - // http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/ - if ( name === "tabIndex" ) { - var attributeNode = elem.getAttributeNode( "tabIndex" ); - - return attributeNode && attributeNode.specified ? - attributeNode.value : - rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? - 0 : - undefined; - } - - return elem[ name ]; - } - - if ( !jQuery.support.style && notxml && name === "style" ) { - if ( set ) { - elem.style.cssText = "" + value; - } - - return elem.style.cssText; - } - - if ( set ) { - // convert the value to a string (all browsers do this but IE) see #1070 - elem.setAttribute( name, "" + value ); - } - - // Ensure that missing attributes return undefined - // Blackberry 4.7 returns "" from getAttribute #6938 - if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name )) ) { - return undefined; - } - - var attr = !jQuery.support.hrefNormalized && notxml && special ? - // Some attributes require a special call on IE - elem.getAttribute( name, 2 ) : - elem.getAttribute( name ); - - // Non-existent attributes return null, we normalize to undefined - return attr === null ? undefined : attr; - } - // Handle everything which isn't a DOM element node - if ( set ) { - elem[ name ] = value; - } - return elem[ name ]; - } -}); - - - - -var rnamespaces = /\.(.*)$/, - rformElems = /^(?:textarea|input|select)$/i, - rperiod = /\./g, - rspace = / /g, - rescape = /[^\w\s.|`]/g, - fcleanup = function( nm ) { - return nm.replace(rescape, "\\$&"); - }; - -/* - * A number of helper functions used for managing events. - * Many of the ideas behind this code originated from - * Dean Edwards' addEvent library. - */ -jQuery.event = { - - // Bind an event to an element - // Original by Dean Edwards - add: function( elem, types, handler, data ) { - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - // TODO :: Use a try/catch until it's safe to pull this out (likely 1.6) - // Minor release fix for bug #8018 - try { - // For whatever reason, IE has trouble passing the window object - // around, causing it to be cloned in the process - if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) { - elem = window; - } - } - catch ( e ) {} - - if ( handler === false ) { - handler = returnFalse; - } else if ( !handler ) { - // Fixes bug #7229. Fix recommended by jdalton - return; - } - - var handleObjIn, handleObj; - - if ( handler.handler ) { - handleObjIn = handler; - handler = handleObjIn.handler; - } - - // Make sure that the function being executed has a unique ID - if ( !handler.guid ) { - handler.guid = jQuery.guid++; - } - - // Init the element's event structure - var elemData = jQuery._data( elem ); - - // If no elemData is found then we must be trying to bind to one of the - // banned noData elements - if ( !elemData ) { - return; - } - - var events = elemData.events, - eventHandle = elemData.handle; - - if ( !events ) { - elemData.events = events = {}; - } - - if ( !eventHandle ) { - elemData.handle = eventHandle = function( e ) { - // Handle the second event of a trigger and when - // an event is called after a page has unloaded - return typeof jQuery !== "undefined" && jQuery.event.triggered !== e.type ? - jQuery.event.handle.apply( eventHandle.elem, arguments ) : - undefined; - }; - } - - // Add elem as a property of the handle function - // This is to prevent a memory leak with non-native events in IE. - eventHandle.elem = elem; - - // Handle multiple events separated by a space - // jQuery(...).bind("mouseover mouseout", fn); - types = types.split(" "); - - var type, i = 0, namespaces; - - while ( (type = types[ i++ ]) ) { - handleObj = handleObjIn ? - jQuery.extend({}, handleObjIn) : - { handler: handler, data: data }; - - // Namespaced event handlers - if ( type.indexOf(".") > -1 ) { - namespaces = type.split("."); - type = namespaces.shift(); - handleObj.namespace = namespaces.slice(0).sort().join("."); - - } else { - namespaces = []; - handleObj.namespace = ""; - } - - handleObj.type = type; - if ( !handleObj.guid ) { - handleObj.guid = handler.guid; - } - - // Get the current list of functions bound to this event - var handlers = events[ type ], - special = jQuery.event.special[ type ] || {}; - - // Init the event handler queue - if ( !handlers ) { - handlers = events[ type ] = []; - - // Check for a special event handler - // Only use addEventListener/attachEvent if the special - // events handler returns false - if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) { - // Bind the global event handler to the element - if ( elem.addEventListener ) { - elem.addEventListener( type, eventHandle, false ); - - } else if ( elem.attachEvent ) { - elem.attachEvent( "on" + type, eventHandle ); - } - } - } - - if ( special.add ) { - special.add.call( elem, handleObj ); - - if ( !handleObj.handler.guid ) { - handleObj.handler.guid = handler.guid; - } - } - - // Add the function to the element's handler list - handlers.push( handleObj ); - - // Keep track of which events have been used, for global triggering - jQuery.event.global[ type ] = true; - } - - // Nullify elem to prevent memory leaks in IE - elem = null; - }, - - global: {}, - - // Detach an event or set of events from an element - remove: function( elem, types, handler, pos ) { - // don't do events on text and comment nodes - if ( elem.nodeType === 3 || elem.nodeType === 8 ) { - return; - } - - if ( handler === false ) { - handler = returnFalse; - } - - var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, handleObj, origType, - elemData = jQuery.hasData( elem ) && jQuery._data( elem ), - events = elemData && elemData.events; - - if ( !elemData || !events ) { - return; - } - - // types is actually an event object here - if ( types && types.type ) { - handler = types.handler; - types = types.type; - } - - // Unbind all events for the element - if ( !types || typeof types === "string" && types.charAt(0) === "." ) { - types = types || ""; - - for ( type in events ) { - jQuery.event.remove( elem, type + types ); - } - - return; - } - - // Handle multiple events separated by a space - // jQuery(...).unbind("mouseover mouseout", fn); - types = types.split(" "); - - while ( (type = types[ i++ ]) ) { - origType = type; - handleObj = null; - all = type.indexOf(".") < 0; - namespaces = []; - - if ( !all ) { - // Namespaced event handlers - namespaces = type.split("."); - type = namespaces.shift(); - - namespace = new RegExp("(^|\\.)" + - jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - eventType = events[ type ]; - - if ( !eventType ) { - continue; - } - - if ( !handler ) { - for ( j = 0; j < eventType.length; j++ ) { - handleObj = eventType[ j ]; - - if ( all || namespace.test( handleObj.namespace ) ) { - jQuery.event.remove( elem, origType, handleObj.handler, j ); - eventType.splice( j--, 1 ); - } - } - - continue; - } - - special = jQuery.event.special[ type ] || {}; - - for ( j = pos || 0; j < eventType.length; j++ ) { - handleObj = eventType[ j ]; - - if ( handler.guid === handleObj.guid ) { - // remove the given handler for the given type - if ( all || namespace.test( handleObj.namespace ) ) { - if ( pos == null ) { - eventType.splice( j--, 1 ); - } - - if ( special.remove ) { - special.remove.call( elem, handleObj ); - } - } - - if ( pos != null ) { - break; - } - } - } - - // remove generic event handler if no more handlers exist - if ( eventType.length === 0 || pos != null && eventType.length === 1 ) { - if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) { - jQuery.removeEvent( elem, type, elemData.handle ); - } - - ret = null; - delete events[ type ]; - } - } - - // Remove the expando if it's no longer used - if ( jQuery.isEmptyObject( events ) ) { - var handle = elemData.handle; - if ( handle ) { - handle.elem = null; - } - - delete elemData.events; - delete elemData.handle; - - if ( jQuery.isEmptyObject( elemData ) ) { - jQuery.removeData( elem, undefined, true ); - } - } - }, - - // bubbling is internal - trigger: function( event, data, elem /*, bubbling */ ) { - // Event object or event type - var type = event.type || event, - bubbling = arguments[3]; - - if ( !bubbling ) { - event = typeof event === "object" ? - // jQuery.Event object - event[ jQuery.expando ] ? event : - // Object literal - jQuery.extend( jQuery.Event(type), event ) : - // Just the event type (string) - jQuery.Event(type); - - if ( type.indexOf("!") >= 0 ) { - event.type = type = type.slice(0, -1); - event.exclusive = true; - } - - // Handle a global trigger - if ( !elem ) { - // Don't bubble custom events when global (to avoid too much overhead) - event.stopPropagation(); - - // Only trigger if we've ever bound an event for it - if ( jQuery.event.global[ type ] ) { - // XXX This code smells terrible. event.js should not be directly - // inspecting the data cache - jQuery.each( jQuery.cache, function() { - // internalKey variable is just used to make it easier to find - // and potentially change this stuff later; currently it just - // points to jQuery.expando - var internalKey = jQuery.expando, - internalCache = this[ internalKey ]; - if ( internalCache && internalCache.events && internalCache.events[ type ] ) { - jQuery.event.trigger( event, data, internalCache.handle.elem ); - } - }); - } - } - - // Handle triggering a single element - - // don't do events on text and comment nodes - if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) { - return undefined; - } - - // Clean up in case it is reused - event.result = undefined; - event.target = elem; - - // Clone the incoming data, if any - data = jQuery.makeArray( data ); - data.unshift( event ); - } - - event.currentTarget = elem; - - // Trigger the event, it is assumed that "handle" is a function - var handle = jQuery._data( elem, "handle" ); - - if ( handle ) { - handle.apply( elem, data ); - } - - var parent = elem.parentNode || elem.ownerDocument; - - // Trigger an inline bound script - try { - if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) { - if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) { - event.result = false; - event.preventDefault(); - } - } - - // prevent IE from throwing an error for some elements with some event types, see #3533 - } catch (inlineError) {} - - if ( !event.isPropagationStopped() && parent ) { - jQuery.event.trigger( event, data, parent, true ); - - } else if ( !event.isDefaultPrevented() ) { - var old, - target = event.target, - targetType = type.replace( rnamespaces, "" ), - isClick = jQuery.nodeName( target, "a" ) && targetType === "click", - special = jQuery.event.special[ targetType ] || {}; - - if ( (!special._default || special._default.call( elem, event ) === false) && - !isClick && !(target && target.nodeName && jQuery.noData[target.nodeName.toLowerCase()]) ) { - - try { - if ( target[ targetType ] ) { - // Make sure that we don't accidentally re-trigger the onFOO events - old = target[ "on" + targetType ]; - - if ( old ) { - target[ "on" + targetType ] = null; - } - - jQuery.event.triggered = event.type; - target[ targetType ](); - } - - // prevent IE from throwing an error for some elements with some event types, see #3533 - } catch (triggerError) {} - - if ( old ) { - target[ "on" + targetType ] = old; - } - - jQuery.event.triggered = undefined; - } - } - }, - - handle: function( event ) { - var all, handlers, namespaces, namespace_re, events, - namespace_sort = [], - args = jQuery.makeArray( arguments ); - - event = args[0] = jQuery.event.fix( event || window.event ); - event.currentTarget = this; - - // Namespaced event handlers - all = event.type.indexOf(".") < 0 && !event.exclusive; - - if ( !all ) { - namespaces = event.type.split("."); - event.type = namespaces.shift(); - namespace_sort = namespaces.slice(0).sort(); - namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - event.namespace = event.namespace || namespace_sort.join("."); - - events = jQuery._data(this, "events"); - - handlers = (events || {})[ event.type ]; - - if ( events && handlers ) { - // Clone the handlers to prevent manipulation - handlers = handlers.slice(0); - - for ( var j = 0, l = handlers.length; j < l; j++ ) { - var handleObj = handlers[ j ]; - - // Filter the functions by class - if ( all || namespace_re.test( handleObj.namespace ) ) { - // Pass in a reference to the handler function itself - // So that we can later remove it - event.handler = handleObj.handler; - event.data = handleObj.data; - event.handleObj = handleObj; - - var ret = handleObj.handler.apply( this, args ); - - if ( ret !== undefined ) { - event.result = ret; - if ( ret === false ) { - event.preventDefault(); - event.stopPropagation(); - } - } - - if ( event.isImmediatePropagationStopped() ) { - break; - } - } - } - } - - return event.result; - }, - - props: "altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), - - fix: function( event ) { - if ( event[ jQuery.expando ] ) { - return event; - } - - // store a copy of the original event object - // and "clone" to set read-only properties - var originalEvent = event; - event = jQuery.Event( originalEvent ); - - for ( var i = this.props.length, prop; i; ) { - prop = this.props[ --i ]; - event[ prop ] = originalEvent[ prop ]; - } - - // Fix target property, if necessary - if ( !event.target ) { - // Fixes #1925 where srcElement might not be defined either - event.target = event.srcElement || document; - } - - // check if target is a textnode (safari) - if ( event.target.nodeType === 3 ) { - event.target = event.target.parentNode; - } - - // Add relatedTarget, if necessary - if ( !event.relatedTarget && event.fromElement ) { - event.relatedTarget = event.fromElement === event.target ? event.toElement : event.fromElement; - } - - // Calculate pageX/Y if missing and clientX/Y available - if ( event.pageX == null && event.clientX != null ) { - var doc = document.documentElement, - body = document.body; - - event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); - event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc && doc.clientTop || body && body.clientTop || 0); - } - - // Add which for key events - if ( event.which == null && (event.charCode != null || event.keyCode != null) ) { - event.which = event.charCode != null ? event.charCode : event.keyCode; - } - - // Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs) - if ( !event.metaKey && event.ctrlKey ) { - event.metaKey = event.ctrlKey; - } - - // Add which for click: 1 === left; 2 === middle; 3 === right - // Note: button is not normalized, so don't use it - if ( !event.which && event.button !== undefined ) { - event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) )); - } - - return event; - }, - - // Deprecated, use jQuery.guid instead - guid: 1E8, - - // Deprecated, use jQuery.proxy instead - proxy: jQuery.proxy, - - special: { - ready: { - // Make sure the ready event is setup - setup: jQuery.bindReady, - teardown: jQuery.noop - }, - - live: { - add: function( handleObj ) { - jQuery.event.add( this, - liveConvert( handleObj.origType, handleObj.selector ), - jQuery.extend({}, handleObj, {handler: liveHandler, guid: handleObj.handler.guid}) ); - }, - - remove: function( handleObj ) { - jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector ), handleObj ); - } - }, - - beforeunload: { - setup: function( data, namespaces, eventHandle ) { - // We only want to do this special case on windows - if ( jQuery.isWindow( this ) ) { - this.onbeforeunload = eventHandle; - } - }, - - teardown: function( namespaces, eventHandle ) { - if ( this.onbeforeunload === eventHandle ) { - this.onbeforeunload = null; - } - } - } - } -}; - -jQuery.removeEvent = document.removeEventListener ? - function( elem, type, handle ) { - if ( elem.removeEventListener ) { - elem.removeEventListener( type, handle, false ); - } - } : - function( elem, type, handle ) { - if ( elem.detachEvent ) { - elem.detachEvent( "on" + type, handle ); - } - }; - -jQuery.Event = function( src ) { - // Allow instantiation without the 'new' keyword - if ( !this.preventDefault ) { - return new jQuery.Event( src ); - } - - // Event object - if ( src && src.type ) { - this.originalEvent = src; - this.type = src.type; - - // Events bubbling up the document may have been marked as prevented - // by a handler lower down the tree; reflect the correct value. - this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false || - src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse; - - // Event type - } else { - this.type = src; - } - - // timeStamp is buggy for some events on Firefox(#3843) - // So we won't rely on the native value - this.timeStamp = jQuery.now(); - - // Mark it as fixed - this[ jQuery.expando ] = true; -}; - -function returnFalse() { - return false; -} -function returnTrue() { - return true; -} - -// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language Binding -// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html -jQuery.Event.prototype = { - preventDefault: function() { - this.isDefaultPrevented = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - - // if preventDefault exists run it on the original event - if ( e.preventDefault ) { - e.preventDefault(); - - // otherwise set the returnValue property of the original event to false (IE) - } else { - e.returnValue = false; - } - }, - stopPropagation: function() { - this.isPropagationStopped = returnTrue; - - var e = this.originalEvent; - if ( !e ) { - return; - } - // if stopPropagation exists run it on the original event - if ( e.stopPropagation ) { - e.stopPropagation(); - } - // otherwise set the cancelBubble property of the original event to true (IE) - e.cancelBubble = true; - }, - stopImmediatePropagation: function() { - this.isImmediatePropagationStopped = returnTrue; - this.stopPropagation(); - }, - isDefaultPrevented: returnFalse, - isPropagationStopped: returnFalse, - isImmediatePropagationStopped: returnFalse -}; - -// Checks if an event happened on an element within another element -// Used in jQuery.event.special.mouseenter and mouseleave handlers -var withinElement = function( event ) { - // Check if mouse(over|out) are still within the same parent element - var parent = event.relatedTarget; - - // Firefox sometimes assigns relatedTarget a XUL element - // which we cannot access the parentNode property of - try { - - // Chrome does something similar, the parentNode property - // can be accessed but is null. - if ( parent && parent !== document && !parent.parentNode ) { - return; - } - // Traverse up the tree - while ( parent && parent !== this ) { - parent = parent.parentNode; - } - - if ( parent !== this ) { - // set the correct event type - event.type = event.data; - - // handle event if we actually just moused on to a non sub-element - jQuery.event.handle.apply( this, arguments ); - } - - // assuming we've left the element since we most likely mousedover a xul element - } catch(e) { } -}, - -// In case of event delegation, we only need to rename the event.type, -// liveHandler will take care of the rest. -delegate = function( event ) { - event.type = event.data; - jQuery.event.handle.apply( this, arguments ); -}; - -// Create mouseenter and mouseleave events -jQuery.each({ - mouseenter: "mouseover", - mouseleave: "mouseout" -}, function( orig, fix ) { - jQuery.event.special[ orig ] = { - setup: function( data ) { - jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, orig ); - }, - teardown: function( data ) { - jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement ); - } - }; -}); - -// submit delegation -if ( !jQuery.support.submitBubbles ) { - - jQuery.event.special.submit = { - setup: function( data, namespaces ) { - if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) { - jQuery.event.add(this, "click.specialSubmit", function( e ) { - var elem = e.target, - type = elem.type; - - if ( (type === "submit" || type === "image") && jQuery( elem ).closest("form").length ) { - trigger( "submit", this, arguments ); - } - }); - - jQuery.event.add(this, "keypress.specialSubmit", function( e ) { - var elem = e.target, - type = elem.type; - - if ( (type === "text" || type === "password") && jQuery( elem ).closest("form").length && e.keyCode === 13 ) { - trigger( "submit", this, arguments ); - } - }); - - } else { - return false; - } - }, - - teardown: function( namespaces ) { - jQuery.event.remove( this, ".specialSubmit" ); - } - }; - -} - -// change delegation, happens here so we have bind. -if ( !jQuery.support.changeBubbles ) { - - var changeFilters, - - getVal = function( elem ) { - var type = elem.type, val = elem.value; - - if ( type === "radio" || type === "checkbox" ) { - val = elem.checked; - - } else if ( type === "select-multiple" ) { - val = elem.selectedIndex > -1 ? - jQuery.map( elem.options, function( elem ) { - return elem.selected; - }).join("-") : - ""; - - } else if ( elem.nodeName.toLowerCase() === "select" ) { - val = elem.selectedIndex; - } - - return val; - }, - - testChange = function testChange( e ) { - var elem = e.target, data, val; - - if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) { - return; - } - - data = jQuery._data( elem, "_change_data" ); - val = getVal(elem); - - // the current data will be also retrieved by beforeactivate - if ( e.type !== "focusout" || elem.type !== "radio" ) { - jQuery._data( elem, "_change_data", val ); - } - - if ( data === undefined || val === data ) { - return; - } - - if ( data != null || val ) { - e.type = "change"; - e.liveFired = undefined; - jQuery.event.trigger( e, arguments[1], elem ); - } - }; - - jQuery.event.special.change = { - filters: { - focusout: testChange, - - beforedeactivate: testChange, - - click: function( e ) { - var elem = e.target, type = elem.type; - - if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === "select" ) { - testChange.call( this, e ); - } - }, - - // Change has to be called before submit - // Keydown will be called before keypress, which is used in submit-event delegation - keydown: function( e ) { - var elem = e.target, type = elem.type; - - if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") || - (e.keyCode === 32 && (type === "checkbox" || type === "radio")) || - type === "select-multiple" ) { - testChange.call( this, e ); - } - }, - - // Beforeactivate happens also before the previous element is blurred - // with this event you can't trigger a change event, but you can store - // information - beforeactivate: function( e ) { - var elem = e.target; - jQuery._data( elem, "_change_data", getVal(elem) ); - } - }, - - setup: function( data, namespaces ) { - if ( this.type === "file" ) { - return false; - } - - for ( var type in changeFilters ) { - jQuery.event.add( this, type + ".specialChange", changeFilters[type] ); - } - - return rformElems.test( this.nodeName ); - }, - - teardown: function( namespaces ) { - jQuery.event.remove( this, ".specialChange" ); - - return rformElems.test( this.nodeName ); - } - }; - - changeFilters = jQuery.event.special.change.filters; - - // Handle when the input is .focus()'d - changeFilters.focus = changeFilters.beforeactivate; -} - -function trigger( type, elem, args ) { - // Piggyback on a donor event to simulate a different one. - // Fake originalEvent to avoid donor's stopPropagation, but if the - // simulated event prevents default then we do the same on the donor. - // Don't pass args or remember liveFired; they apply to the donor event. - var event = jQuery.extend( {}, args[ 0 ] ); - event.type = type; - event.originalEvent = {}; - event.liveFired = undefined; - jQuery.event.handle.call( elem, event ); - if ( event.isDefaultPrevented() ) { - args[ 0 ].preventDefault(); - } -} - -// Create "bubbling" focus and blur events -if ( document.addEventListener ) { - jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { - - // Attach a single capturing handler while someone wants focusin/focusout - var attaches = 0; - - jQuery.event.special[ fix ] = { - setup: function() { - if ( attaches++ === 0 ) { - document.addEventListener( orig, handler, true ); - } - }, - teardown: function() { - if ( --attaches === 0 ) { - document.removeEventListener( orig, handler, true ); - } - } - }; - - function handler( donor ) { - // Donor event is always a native one; fix it and switch its type. - // Let focusin/out handler cancel the donor focus/blur event. - var e = jQuery.event.fix( donor ); - e.type = fix; - e.originalEvent = {}; - jQuery.event.trigger( e, null, e.target ); - if ( e.isDefaultPrevented() ) { - donor.preventDefault(); - } - } - }); -} - -jQuery.each(["bind", "one"], function( i, name ) { - jQuery.fn[ name ] = function( type, data, fn ) { - // Handle object literals - if ( typeof type === "object" ) { - for ( var key in type ) { - this[ name ](key, data, type[key], fn); - } - return this; - } - - if ( jQuery.isFunction( data ) || data === false ) { - fn = data; - data = undefined; - } - - var handler = name === "one" ? jQuery.proxy( fn, function( event ) { - jQuery( this ).unbind( event, handler ); - return fn.apply( this, arguments ); - }) : fn; - - if ( type === "unload" && name !== "one" ) { - this.one( type, data, fn ); - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.add( this[i], type, handler, data ); - } - } - - return this; - }; -}); - -jQuery.fn.extend({ - unbind: function( type, fn ) { - // Handle object literals - if ( typeof type === "object" && !type.preventDefault ) { - for ( var key in type ) { - this.unbind(key, type[key]); - } - - } else { - for ( var i = 0, l = this.length; i < l; i++ ) { - jQuery.event.remove( this[i], type, fn ); - } - } - - return this; - }, - - delegate: function( selector, types, data, fn ) { - return this.live( types, data, fn, selector ); - }, - - undelegate: function( selector, types, fn ) { - if ( arguments.length === 0 ) { - return this.unbind( "live" ); - - } else { - return this.die( types, null, fn, selector ); - } - }, - - trigger: function( type, data ) { - return this.each(function() { - jQuery.event.trigger( type, data, this ); - }); - }, - - triggerHandler: function( type, data ) { - if ( this[0] ) { - var event = jQuery.Event( type ); - event.preventDefault(); - event.stopPropagation(); - jQuery.event.trigger( event, data, this[0] ); - return event.result; - } - }, - - toggle: function( fn ) { - // Save reference to arguments for access in closure - var args = arguments, - i = 1; - - // link all the functions, so any of them can unbind this click handler - while ( i < args.length ) { - jQuery.proxy( fn, args[ i++ ] ); - } - - return this.click( jQuery.proxy( fn, function( event ) { - // Figure out which function to execute - var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i; - jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); - - // Make sure that clicks stop - event.preventDefault(); - - // and execute the function - return args[ lastToggle ].apply( this, arguments ) || false; - })); - }, - - hover: function( fnOver, fnOut ) { - return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); - } -}); - -var liveMap = { - focus: "focusin", - blur: "focusout", - mouseenter: "mouseover", - mouseleave: "mouseout" -}; - -jQuery.each(["live", "die"], function( i, name ) { - jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ ) { - var type, i = 0, match, namespaces, preType, - selector = origSelector || this.selector, - context = origSelector ? this : jQuery( this.context ); - - if ( typeof types === "object" && !types.preventDefault ) { - for ( var key in types ) { - context[ name ]( key, data, types[key], selector ); - } - - return this; - } - - if ( jQuery.isFunction( data ) ) { - fn = data; - data = undefined; - } - - types = (types || "").split(" "); - - while ( (type = types[ i++ ]) != null ) { - match = rnamespaces.exec( type ); - namespaces = ""; - - if ( match ) { - namespaces = match[0]; - type = type.replace( rnamespaces, "" ); - } - - if ( type === "hover" ) { - types.push( "mouseenter" + namespaces, "mouseleave" + namespaces ); - continue; - } - - preType = type; - - if ( type === "focus" || type === "blur" ) { - types.push( liveMap[ type ] + namespaces ); - type = type + namespaces; - - } else { - type = (liveMap[ type ] || type) + namespaces; - } - - if ( name === "live" ) { - // bind live handler - for ( var j = 0, l = context.length; j < l; j++ ) { - jQuery.event.add( context[j], "live." + liveConvert( type, selector ), - { data: data, selector: selector, handler: fn, origType: type, origHandler: fn, preType: preType } ); - } - - } else { - // unbind live handler - context.unbind( "live." + liveConvert( type, selector ), fn ); - } - } - - return this; - }; -}); - -function liveHandler( event ) { - var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, namespace, ret, - elems = [], - selectors = [], - events = jQuery._data( this, "events" ); - - // Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled elements in IE (#6911) - if ( event.liveFired === this || !events || !events.live || event.target.disabled || event.button && event.type === "click" ) { - return; - } - - if ( event.namespace ) { - namespace = new RegExp("(^|\\.)" + event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); - } - - event.liveFired = this; - - var live = events.live.slice(0); - - for ( j = 0; j < live.length; j++ ) { - handleObj = live[j]; - - if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) { - selectors.push( handleObj.selector ); - - } else { - live.splice( j--, 1 ); - } - } - - match = jQuery( event.target ).closest( selectors, event.currentTarget ); - - for ( i = 0, l = match.length; i < l; i++ ) { - close = match[i]; - - for ( j = 0; j < live.length; j++ ) { - handleObj = live[j]; - - if ( close.selector === handleObj.selector && (!namespace || namespace.test( handleObj.namespace )) && !close.elem.disabled ) { - elem = close.elem; - related = null; - - // Those two events require additional checking - if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) { - event.type = handleObj.preType; - related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0]; - } - - if ( !related || related !== elem ) { - elems.push({ elem: elem, handleObj: handleObj, level: close.level }); - } - } - } - } - - for ( i = 0, l = elems.length; i < l; i++ ) { - match = elems[i]; - - if ( maxLevel && match.level > maxLevel ) { - break; - } - - event.currentTarget = match.elem; - event.data = match.handleObj.data; - event.handleObj = match.handleObj; - - ret = match.handleObj.origHandler.apply( match.elem, arguments ); - - if ( ret === false || event.isPropagationStopped() ) { - maxLevel = match.level; - - if ( ret === false ) { - stop = false; - } - if ( event.isImmediatePropagationStopped() ) { - break; - } - } - } - - return stop; -} - -function liveConvert( type, selector ) { - return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, "`").replace(rspace, "&"); -} - -jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick " + - "mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " + - "change select submit keydown keypress keyup error").split(" "), function( i, name ) { - - // Handle event binding - jQuery.fn[ name ] = function( data, fn ) { - if ( fn == null ) { - fn = data; - data = null; - } - - return arguments.length > 0 ? - this.bind( name, data, fn ) : - this.trigger( name ); - }; - - if ( jQuery.attrFn ) { - jQuery.attrFn[ name ] = true; - } -}); - - -/*! - * Sizzle CSS Selector Engine - * Copyright 2011, The Dojo Foundation - * Released under the MIT, BSD, and GPL Licenses. - * More information: http://sizzlejs.com/ - */ -(function(){ - -var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, - done = 0, - toString = Object.prototype.toString, - hasDuplicate = false, - baseHasDuplicate = true, - rBackslash = /\\/g, - rNonWord = /\W/; - -// Here we check if the JavaScript engine is using some sort of -// optimization where it does not always call our comparision -// function. If that is the case, discard the hasDuplicate value. -// Thus far that includes Google Chrome. -[0, 0].sort(function() { - baseHasDuplicate = false; - return 0; -}); - -var Sizzle = function( selector, context, results, seed ) { - results = results || []; - context = context || document; - - var origContext = context; - - if ( context.nodeType !== 1 && context.nodeType !== 9 ) { - return []; - } - - if ( !selector || typeof selector !== "string" ) { - return results; - } - - var m, set, checkSet, extra, ret, cur, pop, i, - prune = true, - contextXML = Sizzle.isXML( context ), - parts = [], - soFar = selector; - - // Reset the position of the chunker regexp (start from head) - do { - chunker.exec( "" ); - m = chunker.exec( soFar ); - - if ( m ) { - soFar = m[3]; - - parts.push( m[1] ); - - if ( m[2] ) { - extra = m[3]; - break; - } - } - } while ( m ); - - if ( parts.length > 1 && origPOS.exec( selector ) ) { - - if ( parts.length === 2 && Expr.relative[ parts[0] ] ) { - set = posProcess( parts[0] + parts[1], context ); - - } else { - set = Expr.relative[ parts[0] ] ? - [ context ] : - Sizzle( parts.shift(), context ); - - while ( parts.length ) { - selector = parts.shift(); - - if ( Expr.relative[ selector ] ) { - selector += parts.shift(); - } - - set = posProcess( selector, set ); - } - } - - } else { - // Take a shortcut and set the context if the root selector is an ID - // (but not if it'll be faster if the inner selector is an ID) - if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML && - Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) { - - ret = Sizzle.find( parts.shift(), context, contextXML ); - context = ret.expr ? - Sizzle.filter( ret.expr, ret.set )[0] : - ret.set[0]; - } - - if ( context ) { - ret = seed ? - { expr: parts.pop(), set: makeArray(seed) } : - Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] === "+") && context.parentNode ? context.parentNode : context, contextXML ); - - set = ret.expr ? - Sizzle.filter( ret.expr, ret.set ) : - ret.set; - - if ( parts.length > 0 ) { - checkSet = makeArray( set ); - - } else { - prune = false; - } - - while ( parts.length ) { - cur = parts.pop(); - pop = cur; - - if ( !Expr.relative[ cur ] ) { - cur = ""; - } else { - pop = parts.pop(); - } - - if ( pop == null ) { - pop = context; - } - - Expr.relative[ cur ]( checkSet, pop, contextXML ); - } - - } else { - checkSet = parts = []; - } - } - - if ( !checkSet ) { - checkSet = set; - } - - if ( !checkSet ) { - Sizzle.error( cur || selector ); - } - - if ( toString.call(checkSet) === "[object Array]" ) { - if ( !prune ) { - results.push.apply( results, checkSet ); - - } else if ( context && context.nodeType === 1 ) { - for ( i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && Sizzle.contains(context, checkSet[i])) ) { - results.push( set[i] ); - } - } - - } else { - for ( i = 0; checkSet[i] != null; i++ ) { - if ( checkSet[i] && checkSet[i].nodeType === 1 ) { - results.push( set[i] ); - } - } - } - - } else { - makeArray( checkSet, results ); - } - - if ( extra ) { - Sizzle( extra, origContext, results, seed ); - Sizzle.uniqueSort( results ); - } - - return results; -}; - -Sizzle.uniqueSort = function( results ) { - if ( sortOrder ) { - hasDuplicate = baseHasDuplicate; - results.sort( sortOrder ); - - if ( hasDuplicate ) { - for ( var i = 1; i < results.length; i++ ) { - if ( results[i] === results[ i - 1 ] ) { - results.splice( i--, 1 ); - } - } - } - } - - return results; -}; - -Sizzle.matches = function( expr, set ) { - return Sizzle( expr, null, null, set ); -}; - -Sizzle.matchesSelector = function( node, expr ) { - return Sizzle( expr, null, null, [node] ).length > 0; -}; - -Sizzle.find = function( expr, context, isXML ) { - var set; - - if ( !expr ) { - return []; - } - - for ( var i = 0, l = Expr.order.length; i < l; i++ ) { - var match, - type = Expr.order[i]; - - if ( (match = Expr.leftMatch[ type ].exec( expr )) ) { - var left = match[1]; - match.splice( 1, 1 ); - - if ( left.substr( left.length - 1 ) !== "\\" ) { - match[1] = (match[1] || "").replace( rBackslash, "" ); - set = Expr.find[ type ]( match, context, isXML ); - - if ( set != null ) { - expr = expr.replace( Expr.match[ type ], "" ); - break; - } - } - } - } - - if ( !set ) { - set = typeof context.getElementsByTagName !== "undefined" ? - context.getElementsByTagName( "*" ) : - []; - } - - return { set: set, expr: expr }; -}; - -Sizzle.filter = function( expr, set, inplace, not ) { - var match, anyFound, - old = expr, - result = [], - curLoop = set, - isXMLFilter = set && set[0] && Sizzle.isXML( set[0] ); - - while ( expr && set.length ) { - for ( var type in Expr.filter ) { - if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) { - var found, item, - filter = Expr.filter[ type ], - left = match[1]; - - anyFound = false; - - match.splice(1,1); - - if ( left.substr( left.length - 1 ) === "\\" ) { - continue; - } - - if ( curLoop === result ) { - result = []; - } - - if ( Expr.preFilter[ type ] ) { - match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, isXMLFilter ); - - if ( !match ) { - anyFound = found = true; - - } else if ( match === true ) { - continue; - } - } - - if ( match ) { - for ( var i = 0; (item = curLoop[i]) != null; i++ ) { - if ( item ) { - found = filter( item, match, i, curLoop ); - var pass = not ^ !!found; - - if ( inplace && found != null ) { - if ( pass ) { - anyFound = true; - - } else { - curLoop[i] = false; - } - - } else if ( pass ) { - result.push( item ); - anyFound = true; - } - } - } - } - - if ( found !== undefined ) { - if ( !inplace ) { - curLoop = result; - } - - expr = expr.replace( Expr.match[ type ], "" ); - - if ( !anyFound ) { - return []; - } - - break; - } - } - } - - // Improper expression - if ( expr === old ) { - if ( anyFound == null ) { - Sizzle.error( expr ); - - } else { - break; - } - } - - old = expr; - } - - return curLoop; -}; - -Sizzle.error = function( msg ) { - throw "Syntax error, unrecognized expression: " + msg; -}; - -var Expr = Sizzle.selectors = { - order: [ "ID", "NAME", "TAG" ], - - match: { - ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, - CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/, - NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/, - ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/, - TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/, - CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/, - POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/, - PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/ - }, - - leftMatch: {}, - - attrMap: { - "class": "className", - "for": "htmlFor" - }, - - attrHandle: { - href: function( elem ) { - return elem.getAttribute( "href" ); - }, - type: function( elem ) { - return elem.getAttribute( "type" ); - } - }, - - relative: { - "+": function(checkSet, part){ - var isPartStr = typeof part === "string", - isTag = isPartStr && !rNonWord.test( part ), - isPartStrNotTag = isPartStr && !isTag; - - if ( isTag ) { - part = part.toLowerCase(); - } - - for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) { - if ( (elem = checkSet[i]) ) { - while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {} - - checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ? - elem || false : - elem === part; - } - } - - if ( isPartStrNotTag ) { - Sizzle.filter( part, checkSet, true ); - } - }, - - ">": function( checkSet, part ) { - var elem, - isPartStr = typeof part === "string", - i = 0, - l = checkSet.length; - - if ( isPartStr && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - - for ( ; i < l; i++ ) { - elem = checkSet[i]; - - if ( elem ) { - var parent = elem.parentNode; - checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false; - } - } - - } else { - for ( ; i < l; i++ ) { - elem = checkSet[i]; - - if ( elem ) { - checkSet[i] = isPartStr ? - elem.parentNode : - elem.parentNode === part; - } - } - - if ( isPartStr ) { - Sizzle.filter( part, checkSet, true ); - } - } - }, - - "": function(checkSet, part, isXML){ - var nodeCheck, - doneName = done++, - checkFn = dirCheck; - - if ( typeof part === "string" && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - nodeCheck = part; - checkFn = dirNodeCheck; - } - - checkFn( "parentNode", part, doneName, checkSet, nodeCheck, isXML ); - }, - - "~": function( checkSet, part, isXML ) { - var nodeCheck, - doneName = done++, - checkFn = dirCheck; - - if ( typeof part === "string" && !rNonWord.test( part ) ) { - part = part.toLowerCase(); - nodeCheck = part; - checkFn = dirNodeCheck; - } - - checkFn( "previousSibling", part, doneName, checkSet, nodeCheck, isXML ); - } - }, - - find: { - ID: function( match, context, isXML ) { - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - return m && m.parentNode ? [m] : []; - } - }, - - NAME: function( match, context ) { - if ( typeof context.getElementsByName !== "undefined" ) { - var ret = [], - results = context.getElementsByName( match[1] ); - - for ( var i = 0, l = results.length; i < l; i++ ) { - if ( results[i].getAttribute("name") === match[1] ) { - ret.push( results[i] ); - } - } - - return ret.length === 0 ? null : ret; - } - }, - - TAG: function( match, context ) { - if ( typeof context.getElementsByTagName !== "undefined" ) { - return context.getElementsByTagName( match[1] ); - } - } - }, - preFilter: { - CLASS: function( match, curLoop, inplace, result, not, isXML ) { - match = " " + match[1].replace( rBackslash, "" ) + " "; - - if ( isXML ) { - return match; - } - - for ( var i = 0, elem; (elem = curLoop[i]) != null; i++ ) { - if ( elem ) { - if ( not ^ (elem.className && (" " + elem.className + " ").replace(/[\t\n\r]/g, " ").indexOf(match) >= 0) ) { - if ( !inplace ) { - result.push( elem ); - } - - } else if ( inplace ) { - curLoop[i] = false; - } - } - } - - return false; - }, - - ID: function( match ) { - return match[1].replace( rBackslash, "" ); - }, - - TAG: function( match, curLoop ) { - return match[1].replace( rBackslash, "" ).toLowerCase(); - }, - - CHILD: function( match ) { - if ( match[1] === "nth" ) { - if ( !match[2] ) { - Sizzle.error( match[0] ); - } - - match[2] = match[2].replace(/^\+|\s*/g, ''); - - // parse equations like 'even', 'odd', '5', '2n', '3n+2', '4n-1', '-n+6' - var test = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec( - match[2] === "even" && "2n" || match[2] === "odd" && "2n+1" || - !/\D/.test( match[2] ) && "0n+" + match[2] || match[2]); - - // calculate the numbers (first)n+(last) including if they are negative - match[2] = (test[1] + (test[2] || 1)) - 0; - match[3] = test[3] - 0; - } - else if ( match[2] ) { - Sizzle.error( match[0] ); - } - - // TODO: Move to normal caching system - match[0] = done++; - - return match; - }, - - ATTR: function( match, curLoop, inplace, result, not, isXML ) { - var name = match[1] = match[1].replace( rBackslash, "" ); - - if ( !isXML && Expr.attrMap[name] ) { - match[1] = Expr.attrMap[name]; - } - - // Handle if an un-quoted value was used - match[4] = ( match[4] || match[5] || "" ).replace( rBackslash, "" ); - - if ( match[2] === "~=" ) { - match[4] = " " + match[4] + " "; - } - - return match; - }, - - PSEUDO: function( match, curLoop, inplace, result, not ) { - if ( match[1] === "not" ) { - // If we're dealing with a complex expression, or a simple one - if ( ( chunker.exec(match[3]) || "" ).length > 1 || /^\w/.test(match[3]) ) { - match[3] = Sizzle(match[3], null, null, curLoop); - - } else { - var ret = Sizzle.filter(match[3], curLoop, inplace, true ^ not); - - if ( !inplace ) { - result.push.apply( result, ret ); - } - - return false; - } - - } else if ( Expr.match.POS.test( match[0] ) || Expr.match.CHILD.test( match[0] ) ) { - return true; - } - - return match; - }, - - POS: function( match ) { - match.unshift( true ); - - return match; - } - }, - - filters: { - enabled: function( elem ) { - return elem.disabled === false && elem.type !== "hidden"; - }, - - disabled: function( elem ) { - return elem.disabled === true; - }, - - checked: function( elem ) { - return elem.checked === true; - }, - - selected: function( elem ) { - // Accessing this property makes selected-by-default - // options in Safari work properly - if ( elem.parentNode ) { - elem.parentNode.selectedIndex; - } - - return elem.selected === true; - }, - - parent: function( elem ) { - return !!elem.firstChild; - }, - - empty: function( elem ) { - return !elem.firstChild; - }, - - has: function( elem, i, match ) { - return !!Sizzle( match[3], elem ).length; - }, - - header: function( elem ) { - return (/h\d/i).test( elem.nodeName ); - }, - - text: function( elem ) { - var attr = elem.getAttribute( "type" ), type = elem.type; - // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) - // use getAttribute instead to test this case - return "text" === type && ( attr === type || attr === null ); - }, - - radio: function( elem ) { - return "radio" === elem.type; - }, - - checkbox: function( elem ) { - return "checkbox" === elem.type; - }, - - file: function( elem ) { - return "file" === elem.type; - }, - password: function( elem ) { - return "password" === elem.type; - }, - - submit: function( elem ) { - return "submit" === elem.type; - }, - - image: function( elem ) { - return "image" === elem.type; - }, - - reset: function( elem ) { - return "reset" === elem.type; - }, - - button: function( elem ) { - return "button" === elem.type || elem.nodeName.toLowerCase() === "button"; - }, - - input: function( elem ) { - return (/input|select|textarea|button/i).test( elem.nodeName ); - } - }, - setFilters: { - first: function( elem, i ) { - return i === 0; - }, - - last: function( elem, i, match, array ) { - return i === array.length - 1; - }, - - even: function( elem, i ) { - return i % 2 === 0; - }, - - odd: function( elem, i ) { - return i % 2 === 1; - }, - - lt: function( elem, i, match ) { - return i < match[3] - 0; - }, - - gt: function( elem, i, match ) { - return i > match[3] - 0; - }, - - nth: function( elem, i, match ) { - return match[3] - 0 === i; - }, - - eq: function( elem, i, match ) { - return match[3] - 0 === i; - } - }, - filter: { - PSEUDO: function( elem, match, i, array ) { - var name = match[1], - filter = Expr.filters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - - } else if ( name === "contains" ) { - return (elem.textContent || elem.innerText || Sizzle.getText([ elem ]) || "").indexOf(match[3]) >= 0; - - } else if ( name === "not" ) { - var not = match[3]; - - for ( var j = 0, l = not.length; j < l; j++ ) { - if ( not[j] === elem ) { - return false; - } - } - - return true; - - } else { - Sizzle.error( name ); - } - }, - - CHILD: function( elem, match ) { - var type = match[1], - node = elem; - - switch ( type ) { - case "only": - case "first": - while ( (node = node.previousSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - if ( type === "first" ) { - return true; - } - - node = elem; - - case "last": - while ( (node = node.nextSibling) ) { - if ( node.nodeType === 1 ) { - return false; - } - } - - return true; - - case "nth": - var first = match[2], - last = match[3]; - - if ( first === 1 && last === 0 ) { - return true; - } - - var doneName = match[0], - parent = elem.parentNode; - - if ( parent && (parent.sizcache !== doneName || !elem.nodeIndex) ) { - var count = 0; - - for ( node = parent.firstChild; node; node = node.nextSibling ) { - if ( node.nodeType === 1 ) { - node.nodeIndex = ++count; - } - } - - parent.sizcache = doneName; - } - - var diff = elem.nodeIndex - last; - - if ( first === 0 ) { - return diff === 0; - - } else { - return ( diff % first === 0 && diff / first >= 0 ); - } - } - }, - - ID: function( elem, match ) { - return elem.nodeType === 1 && elem.getAttribute("id") === match; - }, - - TAG: function( elem, match ) { - return (match === "*" && elem.nodeType === 1) || elem.nodeName.toLowerCase() === match; - }, - - CLASS: function( elem, match ) { - return (" " + (elem.className || elem.getAttribute("class")) + " ") - .indexOf( match ) > -1; - }, - - ATTR: function( elem, match ) { - var name = match[1], - result = Expr.attrHandle[ name ] ? - Expr.attrHandle[ name ]( elem ) : - elem[ name ] != null ? - elem[ name ] : - elem.getAttribute( name ), - value = result + "", - type = match[2], - check = match[4]; - - return result == null ? - type === "!=" : - type === "=" ? - value === check : - type === "*=" ? - value.indexOf(check) >= 0 : - type === "~=" ? - (" " + value + " ").indexOf(check) >= 0 : - !check ? - value && result !== false : - type === "!=" ? - value !== check : - type === "^=" ? - value.indexOf(check) === 0 : - type === "$=" ? - value.substr(value.length - check.length) === check : - type === "|=" ? - value === check || value.substr(0, check.length + 1) === check + "-" : - false; - }, - - POS: function( elem, match, i, array ) { - var name = match[2], - filter = Expr.setFilters[ name ]; - - if ( filter ) { - return filter( elem, i, match, array ); - } - } - } -}; - -var origPOS = Expr.match.POS, - fescape = function(all, num){ - return "\\" + (num - 0 + 1); - }; - -for ( var type in Expr.match ) { - Expr.match[ type ] = new RegExp( Expr.match[ type ].source + (/(?![^\[]*\])(?![^\(]*\))/.source) ); - Expr.leftMatch[ type ] = new RegExp( /(^(?:.|\r|\n)*?)/.source + Expr.match[ type ].source.replace(/\\(\d+)/g, fescape) ); -} - -var makeArray = function( array, results ) { - array = Array.prototype.slice.call( array, 0 ); - - if ( results ) { - results.push.apply( results, array ); - return results; - } - - return array; -}; - -// Perform a simple check to determine if the browser is capable of -// converting a NodeList to an array using builtin methods. -// Also verifies that the returned array holds DOM nodes -// (which is not the case in the Blackberry browser) -try { - Array.prototype.slice.call( document.documentElement.childNodes, 0 )[0].nodeType; - -// Provide a fallback method if it does not work -} catch( e ) { - makeArray = function( array, results ) { - var i = 0, - ret = results || []; - - if ( toString.call(array) === "[object Array]" ) { - Array.prototype.push.apply( ret, array ); - - } else { - if ( typeof array.length === "number" ) { - for ( var l = array.length; i < l; i++ ) { - ret.push( array[i] ); - } - - } else { - for ( ; array[i]; i++ ) { - ret.push( array[i] ); - } - } - } - - return ret; - }; -} - -var sortOrder, siblingCheck; - -if ( document.documentElement.compareDocumentPosition ) { - sortOrder = function( a, b ) { - if ( a === b ) { - hasDuplicate = true; - return 0; - } - - if ( !a.compareDocumentPosition || !b.compareDocumentPosition ) { - return a.compareDocumentPosition ? -1 : 1; - } - - return a.compareDocumentPosition(b) & 4 ? -1 : 1; - }; - -} else { - sortOrder = function( a, b ) { - var al, bl, - ap = [], - bp = [], - aup = a.parentNode, - bup = b.parentNode, - cur = aup; - - // The nodes are identical, we can exit early - if ( a === b ) { - hasDuplicate = true; - return 0; - - // If the nodes are siblings (or identical) we can do a quick check - } else if ( aup === bup ) { - return siblingCheck( a, b ); - - // If no parents were found then the nodes are disconnected - } else if ( !aup ) { - return -1; - - } else if ( !bup ) { - return 1; - } - - // Otherwise they're somewhere else in the tree so we need - // to build up a full list of the parentNodes for comparison - while ( cur ) { - ap.unshift( cur ); - cur = cur.parentNode; - } - - cur = bup; - - while ( cur ) { - bp.unshift( cur ); - cur = cur.parentNode; - } - - al = ap.length; - bl = bp.length; - - // Start walking down the tree looking for a discrepancy - for ( var i = 0; i < al && i < bl; i++ ) { - if ( ap[i] !== bp[i] ) { - return siblingCheck( ap[i], bp[i] ); - } - } - - // We ended someplace up the tree so do a sibling check - return i === al ? - siblingCheck( a, bp[i], -1 ) : - siblingCheck( ap[i], b, 1 ); - }; - - siblingCheck = function( a, b, ret ) { - if ( a === b ) { - return ret; - } - - var cur = a.nextSibling; - - while ( cur ) { - if ( cur === b ) { - return -1; - } - - cur = cur.nextSibling; - } - - return 1; - }; -} - -// Utility function for retreiving the text value of an array of DOM nodes -Sizzle.getText = function( elems ) { - var ret = "", elem; - - for ( var i = 0; elems[i]; i++ ) { - elem = elems[i]; - - // Get the text from text nodes and CDATA nodes - if ( elem.nodeType === 3 || elem.nodeType === 4 ) { - ret += elem.nodeValue; - - // Traverse everything else, except comment nodes - } else if ( elem.nodeType !== 8 ) { - ret += Sizzle.getText( elem.childNodes ); - } - } - - return ret; -}; - -// Check to see if the browser returns elements by name when -// querying by getElementById (and provide a workaround) -(function(){ - // We're going to inject a fake input element with a specified name - var form = document.createElement("div"), - id = "script" + (new Date()).getTime(), - root = document.documentElement; - - form.innerHTML = ""; - - // Inject it into the root element, check its status, and remove it quickly - root.insertBefore( form, root.firstChild ); - - // The workaround has to do additional checks after a getElementById - // Which slows things down for other browsers (hence the branching) - if ( document.getElementById( id ) ) { - Expr.find.ID = function( match, context, isXML ) { - if ( typeof context.getElementById !== "undefined" && !isXML ) { - var m = context.getElementById(match[1]); - - return m ? - m.id === match[1] || typeof m.getAttributeNode !== "undefined" && m.getAttributeNode("id").nodeValue === match[1] ? - [m] : - undefined : - []; - } - }; - - Expr.filter.ID = function( elem, match ) { - var node = typeof elem.getAttributeNode !== "undefined" && elem.getAttributeNode("id"); - - return elem.nodeType === 1 && node && node.nodeValue === match; - }; - } - - root.removeChild( form ); - - // release memory in IE - root = form = null; -})(); - -(function(){ - // Check to see if the browser returns only elements - // when doing getElementsByTagName("*") - - // Create a fake element - var div = document.createElement("div"); - div.appendChild( document.createComment("") ); - - // Make sure no comments are found - if ( div.getElementsByTagName("*").length > 0 ) { - Expr.find.TAG = function( match, context ) { - var results = context.getElementsByTagName( match[1] ); - - // Filter out possible comments - if ( match[1] === "*" ) { - var tmp = []; - - for ( var i = 0; results[i]; i++ ) { - if ( results[i].nodeType === 1 ) { - tmp.push( results[i] ); - } - } - - results = tmp; - } - - return results; - }; - } - - // Check to see if an attribute returns normalized href attributes - div.innerHTML = ""; - - if ( div.firstChild && typeof div.firstChild.getAttribute !== "undefined" && - div.firstChild.getAttribute("href") !== "#" ) { - - Expr.attrHandle.href = function( elem ) { - return elem.getAttribute( "href", 2 ); - }; - } - - // release memory in IE - div = null; -})(); - -if ( document.querySelectorAll ) { - (function(){ - var oldSizzle = Sizzle, - div = document.createElement("div"), - id = "__sizzle__"; - - div.innerHTML = "

"; - - // Safari can't handle uppercase or unicode characters when - // in quirks mode. - if ( div.querySelectorAll && div.querySelectorAll(".TEST").length === 0 ) { - return; - } - - Sizzle = function( query, context, extra, seed ) { - context = context || document; - - // Only use querySelectorAll on non-XML documents - // (ID selectors don't work in non-HTML documents) - if ( !seed && !Sizzle.isXML(context) ) { - // See if we find a selector to speed up - var match = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec( query ); - - if ( match && (context.nodeType === 1 || context.nodeType === 9) ) { - // Speed-up: Sizzle("TAG") - if ( match[1] ) { - return makeArray( context.getElementsByTagName( query ), extra ); - - // Speed-up: Sizzle(".CLASS") - } else if ( match[2] && Expr.find.CLASS && context.getElementsByClassName ) { - return makeArray( context.getElementsByClassName( match[2] ), extra ); - } - } - - if ( context.nodeType === 9 ) { - // Speed-up: Sizzle("body") - // The body element only exists once, optimize finding it - if ( query === "body" && context.body ) { - return makeArray( [ context.body ], extra ); - - // Speed-up: Sizzle("#ID") - } else if ( match && match[3] ) { - var elem = context.getElementById( match[3] ); - - // Check parentNode to catch when Blackberry 4.6 returns - // nodes that are no longer in the document #6963 - if ( elem && elem.parentNode ) { - // Handle the case where IE and Opera return items - // by name instead of ID - if ( elem.id === match[3] ) { - return makeArray( [ elem ], extra ); - } - - } else { - return makeArray( [], extra ); - } - } - - try { - return makeArray( context.querySelectorAll(query), extra ); - } catch(qsaError) {} - - // qSA works strangely on Element-rooted queries - // We can work around this by specifying an extra ID on the root - // and working up from there (Thanks to Andrew Dupont for the technique) - // IE 8 doesn't work on object elements - } else if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { - var oldContext = context, - old = context.getAttribute( "id" ), - nid = old || id, - hasParent = context.parentNode, - relativeHierarchySelector = /^\s*[+~]/.test( query ); - - if ( !old ) { - context.setAttribute( "id", nid ); - } else { - nid = nid.replace( /'/g, "\\$&" ); - } - if ( relativeHierarchySelector && hasParent ) { - context = context.parentNode; - } - - try { - if ( !relativeHierarchySelector || hasParent ) { - return makeArray( context.querySelectorAll( "[id='" + nid + "'] " + query ), extra ); - } - - } catch(pseudoError) { - } finally { - if ( !old ) { - oldContext.removeAttribute( "id" ); - } - } - } - } - - return oldSizzle(query, context, extra, seed); - }; - - for ( var prop in oldSizzle ) { - Sizzle[ prop ] = oldSizzle[ prop ]; - } - - // release memory in IE - div = null; - })(); -} - -(function(){ - var html = document.documentElement, - matches = html.matchesSelector || html.mozMatchesSelector || html.webkitMatchesSelector || html.msMatchesSelector; - - if ( matches ) { - // Check to see if it's possible to do matchesSelector - // on a disconnected node (IE 9 fails this) - var disconnectedMatch = !matches.call( document.createElement( "div" ), "div" ), - pseudoWorks = false; - - try { - // This should fail with an exception - // Gecko does not error, returns false instead - matches.call( document.documentElement, "[test!='']:sizzle" ); - - } catch( pseudoError ) { - pseudoWorks = true; - } - - Sizzle.matchesSelector = function( node, expr ) { - // Make sure that attribute selectors are quoted - expr = expr.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']"); - - if ( !Sizzle.isXML( node ) ) { - try { - if ( pseudoWorks || !Expr.match.PSEUDO.test( expr ) && !/!=/.test( expr ) ) { - var ret = matches.call( node, expr ); - - // IE 9's matchesSelector returns false on disconnected nodes - if ( ret || !disconnectedMatch || - // As well, disconnected nodes are said to be in a document - // fragment in IE 9, so check for that - node.document && node.document.nodeType !== 11 ) { - return ret; - } - } - } catch(e) {} - } - - return Sizzle(expr, null, null, [node]).length > 0; - }; - } -})(); - -(function(){ - var div = document.createElement("div"); - - div.innerHTML = "
"; - - // Opera can't find a second classname (in 9.6) - // Also, make sure that getElementsByClassName actually exists - if ( !div.getElementsByClassName || div.getElementsByClassName("e").length === 0 ) { - return; - } - - // Safari caches class attributes, doesn't catch changes (in 3.2) - div.lastChild.className = "e"; - - if ( div.getElementsByClassName("e").length === 1 ) { - return; - } - - Expr.order.splice(1, 0, "CLASS"); - Expr.find.CLASS = function( match, context, isXML ) { - if ( typeof context.getElementsByClassName !== "undefined" && !isXML ) { - return context.getElementsByClassName(match[1]); - } - }; - - // release memory in IE - div = null; -})(); - -function dirNodeCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - - if ( elem ) { - var match = false; - - elem = elem[dir]; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 && !isXML ){ - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( elem.nodeName.toLowerCase() === cur ) { - match = elem; - break; - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -function dirCheck( dir, cur, doneName, checkSet, nodeCheck, isXML ) { - for ( var i = 0, l = checkSet.length; i < l; i++ ) { - var elem = checkSet[i]; - - if ( elem ) { - var match = false; - - elem = elem[dir]; - - while ( elem ) { - if ( elem.sizcache === doneName ) { - match = checkSet[elem.sizset]; - break; - } - - if ( elem.nodeType === 1 ) { - if ( !isXML ) { - elem.sizcache = doneName; - elem.sizset = i; - } - - if ( typeof cur !== "string" ) { - if ( elem === cur ) { - match = true; - break; - } - - } else if ( Sizzle.filter( cur, [elem] ).length > 0 ) { - match = elem; - break; - } - } - - elem = elem[dir]; - } - - checkSet[i] = match; - } - } -} - -if ( document.documentElement.contains ) { - Sizzle.contains = function( a, b ) { - return a !== b && (a.contains ? a.contains(b) : true); - }; - -} else if ( document.documentElement.compareDocumentPosition ) { - Sizzle.contains = function( a, b ) { - return !!(a.compareDocumentPosition(b) & 16); - }; - -} else { - Sizzle.contains = function() { - return false; - }; -} - -Sizzle.isXML = function( elem ) { - // documentElement is verified for cases where it doesn't yet exist - // (such as loading iframes in IE - #4833) - var documentElement = (elem ? elem.ownerDocument || elem : 0).documentElement; - - return documentElement ? documentElement.nodeName !== "HTML" : false; -}; - -var posProcess = function( selector, context ) { - var match, - tmpSet = [], - later = "", - root = context.nodeType ? [context] : context; - - // Position selectors must be done after the filter - // And so must :not(positional) so we move all PSEUDOs to the end - while ( (match = Expr.match.PSEUDO.exec( selector )) ) { - later += match[0]; - selector = selector.replace( Expr.match.PSEUDO, "" ); - } - - selector = Expr.relative[selector] ? selector + "*" : selector; - - for ( var i = 0, l = root.length; i < l; i++ ) { - Sizzle( selector, root[i], tmpSet ); - } - - return Sizzle.filter( later, tmpSet ); -}; - -// EXPOSE -jQuery.find = Sizzle; -jQuery.expr = Sizzle.selectors; -jQuery.expr[":"] = jQuery.expr.filters; -jQuery.unique = Sizzle.uniqueSort; -jQuery.text = Sizzle.getText; -jQuery.isXMLDoc = Sizzle.isXML; -jQuery.contains = Sizzle.contains; - - -})(); - - -var runtil = /Until$/, - rparentsprev = /^(?:parents|prevUntil|prevAll)/, - // Note: This RegExp should be improved, or likely pulled from Sizzle - rmultiselector = /,/, - isSimple = /^.[^:#\[\.,]*$/, - slice = Array.prototype.slice, - POS = jQuery.expr.match.POS, - // methods guaranteed to produce a unique set when starting from a unique set - guaranteedUnique = { - children: true, - contents: true, - next: true, - prev: true - }; - -jQuery.fn.extend({ - find: function( selector ) { - var ret = this.pushStack( "", "find", selector ), - length = 0; - - for ( var i = 0, l = this.length; i < l; i++ ) { - length = ret.length; - jQuery.find( selector, this[i], ret ); - - if ( i > 0 ) { - // Make sure that the results are unique - for ( var n = length; n < ret.length; n++ ) { - for ( var r = 0; r < length; r++ ) { - if ( ret[r] === ret[n] ) { - ret.splice(n--, 1); - break; - } - } - } - } - } - - return ret; - }, - - has: function( target ) { - var targets = jQuery( target ); - return this.filter(function() { - for ( var i = 0, l = targets.length; i < l; i++ ) { - if ( jQuery.contains( this, targets[i] ) ) { - return true; - } - } - }); - }, - - not: function( selector ) { - return this.pushStack( winnow(this, selector, false), "not", selector); - }, - - filter: function( selector ) { - return this.pushStack( winnow(this, selector, true), "filter", selector ); - }, - - is: function( selector ) { - return !!selector && jQuery.filter( selector, this ).length > 0; - }, - - closest: function( selectors, context ) { - var ret = [], i, l, cur = this[0]; - - if ( jQuery.isArray( selectors ) ) { - var match, selector, - matches = {}, - level = 1; - - if ( cur && selectors.length ) { - for ( i = 0, l = selectors.length; i < l; i++ ) { - selector = selectors[i]; - - if ( !matches[selector] ) { - matches[selector] = jQuery.expr.match.POS.test( selector ) ? - jQuery( selector, context || this.context ) : - selector; - } - } - - while ( cur && cur.ownerDocument && cur !== context ) { - for ( selector in matches ) { - match = matches[selector]; - - if ( match.jquery ? match.index(cur) > -1 : jQuery(cur).is(match) ) { - ret.push({ selector: selector, elem: cur, level: level }); - } - } - - cur = cur.parentNode; - level++; - } - } - - return ret; - } - - var pos = POS.test( selectors ) ? - jQuery( selectors, context || this.context ) : null; - - for ( i = 0, l = this.length; i < l; i++ ) { - cur = this[i]; - - while ( cur ) { - if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { - ret.push( cur ); - break; - - } else { - cur = cur.parentNode; - if ( !cur || !cur.ownerDocument || cur === context ) { - break; - } - } - } - } - - ret = ret.length > 1 ? jQuery.unique(ret) : ret; - - return this.pushStack( ret, "closest", selectors ); - }, - - // Determine the position of an element within - // the matched set of elements - index: function( elem ) { - if ( !elem || typeof elem === "string" ) { - return jQuery.inArray( this[0], - // If it receives a string, the selector is used - // If it receives nothing, the siblings are used - elem ? jQuery( elem ) : this.parent().children() ); - } - // Locate the position of the desired element - return jQuery.inArray( - // If it receives a jQuery object, the first element is used - elem.jquery ? elem[0] : elem, this ); - }, - - add: function( selector, context ) { - var set = typeof selector === "string" ? - jQuery( selector, context ) : - jQuery.makeArray( selector ), - all = jQuery.merge( this.get(), set ); - - return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? - all : - jQuery.unique( all ) ); - }, - - andSelf: function() { - return this.add( this.prevObject ); - } -}); - -// A painfully simple check to see if an element is disconnected -// from a document (should be improved, where feasible). -function isDisconnected( node ) { - return !node || !node.parentNode || node.parentNode.nodeType === 11; -} - -jQuery.each({ - parent: function( elem ) { - var parent = elem.parentNode; - return parent && parent.nodeType !== 11 ? parent : null; - }, - parents: function( elem ) { - return jQuery.dir( elem, "parentNode" ); - }, - parentsUntil: function( elem, i, until ) { - return jQuery.dir( elem, "parentNode", until ); - }, - next: function( elem ) { - return jQuery.nth( elem, 2, "nextSibling" ); - }, - prev: function( elem ) { - return jQuery.nth( elem, 2, "previousSibling" ); - }, - nextAll: function( elem ) { - return jQuery.dir( elem, "nextSibling" ); - }, - prevAll: function( elem ) { - return jQuery.dir( elem, "previousSibling" ); - }, - nextUntil: function( elem, i, until ) { - return jQuery.dir( elem, "nextSibling", until ); - }, - prevUntil: function( elem, i, until ) { - return jQuery.dir( elem, "previousSibling", until ); - }, - siblings: function( elem ) { - return jQuery.sibling( elem.parentNode.firstChild, elem ); - }, - children: function( elem ) { - return jQuery.sibling( elem.firstChild ); - }, - contents: function( elem ) { - return jQuery.nodeName( elem, "iframe" ) ? - elem.contentDocument || elem.contentWindow.document : - jQuery.makeArray( elem.childNodes ); - } -}, function( name, fn ) { - jQuery.fn[ name ] = function( until, selector ) { - var ret = jQuery.map( this, fn, until ), - // The variable 'args' was introduced in - // https://github.com/jquery/jquery/commit/52a0238 - // to work around a bug in Chrome 10 (Dev) and should be removed when the bug is fixed. - // http://code.google.com/p/v8/issues/detail?id=1050 - args = slice.call(arguments); - - if ( !runtil.test( name ) ) { - selector = until; - } - - if ( selector && typeof selector === "string" ) { - ret = jQuery.filter( selector, ret ); - } - - ret = this.length > 1 && !guaranteedUnique[ name ] ? jQuery.unique( ret ) : ret; - - if ( (this.length > 1 || rmultiselector.test( selector )) && rparentsprev.test( name ) ) { - ret = ret.reverse(); - } - - return this.pushStack( ret, name, args.join(",") ); - }; -}); - -jQuery.extend({ - filter: function( expr, elems, not ) { - if ( not ) { - expr = ":not(" + expr + ")"; - } - - return elems.length === 1 ? - jQuery.find.matchesSelector(elems[0], expr) ? [ elems[0] ] : [] : - jQuery.find.matches(expr, elems); - }, - - dir: function( elem, dir, until ) { - var matched = [], - cur = elem[ dir ]; - - while ( cur && cur.nodeType !== 9 && (until === undefined || cur.nodeType !== 1 || !jQuery( cur ).is( until )) ) { - if ( cur.nodeType === 1 ) { - matched.push( cur ); - } - cur = cur[dir]; - } - return matched; - }, - - nth: function( cur, result, dir, elem ) { - result = result || 1; - var num = 0; - - for ( ; cur; cur = cur[dir] ) { - if ( cur.nodeType === 1 && ++num === result ) { - break; - } - } - - return cur; - }, - - sibling: function( n, elem ) { - var r = []; - - for ( ; n; n = n.nextSibling ) { - if ( n.nodeType === 1 && n !== elem ) { - r.push( n ); - } - } - - return r; - } -}); - -// Implement the identical functionality for filter and not -function winnow( elements, qualifier, keep ) { - if ( jQuery.isFunction( qualifier ) ) { - return jQuery.grep(elements, function( elem, i ) { - var retVal = !!qualifier.call( elem, i, elem ); - return retVal === keep; - }); - - } else if ( qualifier.nodeType ) { - return jQuery.grep(elements, function( elem, i ) { - return (elem === qualifier) === keep; - }); - - } else if ( typeof qualifier === "string" ) { - var filtered = jQuery.grep(elements, function( elem ) { - return elem.nodeType === 1; - }); - - if ( isSimple.test( qualifier ) ) { - return jQuery.filter(qualifier, filtered, !keep); - } else { - qualifier = jQuery.filter( qualifier, filtered ); - } - } - - return jQuery.grep(elements, function( elem, i ) { - return (jQuery.inArray( elem, qualifier ) >= 0) === keep; - }); -} - - - - -var rinlinejQuery = / jQuery\d+="(?:\d+|null)"/g, - rleadingWhitespace = /^\s+/, - rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig, - rtagName = /<([\w:]+)/, - rtbody = /", "" ], - legend: [ 1, "
", "
" ], - thead: [ 1, "", "
" ], - tr: [ 2, "", "
" ], - td: [ 3, "", "
" ], - col: [ 2, "", "
" ], - area: [ 1, "", "" ], - _default: [ 0, "", "" ] - }; - -wrapMap.optgroup = wrapMap.option; -wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; -wrapMap.th = wrapMap.td; - -// IE can't serialize and

dy=hV1{imv1U*LrubU|a@9F= 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 Svx+lK1pEzyzS5k@0s9v{+(@hd diff --git a/packages/Castle.Core.2.5.2/lib/ASL - Apache Software Foundation License.txt b/packages/Castle.Core.2.5.2/lib/ASL - Apache Software Foundation License.txt deleted file mode 100644 index e259b5841..000000000 --- a/packages/Castle.Core.2.5.2/lib/ASL - Apache Software Foundation License.txt +++ /dev/null @@ -1,57 +0,0 @@ -Apache License, Version 2.0 - -Apache License -Version 2.0, January 2004 -http://www.apache.org/licenses/ - -TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - -1. Definitions. - -"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. - -"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. - -"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. - -"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. - -"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. - -"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. - -"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). - -"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. - -"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." - -"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. - -2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. - -3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. - -4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: - - 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and - - 2. You must cause any modified files to carry prominent notices stating that You changed the files; and - - 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and - - 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. - -You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. - -5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. - -6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. - -7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. - -8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. - -9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -END OF TERMS AND CONDITIONS diff --git a/packages/Castle.Core.2.5.2/lib/BreakingChanges.txt b/packages/Castle.Core.2.5.2/lib/BreakingChanges.txt deleted file mode 100644 index ef719d13c..000000000 --- a/packages/Castle.Core.2.5.2/lib/BreakingChanges.txt +++ /dev/null @@ -1,55 +0,0 @@ -================================================================================================ -change - Removed WebLogger and WebLoggerFactory - -impact - low -fixability - medium -revision - - -description - To minimize management overhead the classes were removed so that only single - Client Profile version of Castle.Core can be distributed. - -fix - You can use NLog or Log4Net web logger integration, or reuse implementation of existing - web logger and use it as a custom logger. - -================================================================================================ -change - Removed obsolete overload of ProxyGenerator.CreateClassProxy - -impact - low -fixability - trivial -revision - - -description - Deprecated overload of ProxyGenerator.CreateClassProxy was removed to keep the - method consistent with other methods and to remove confusion - -fix - whenever removed overload was used, use one of the other overloads. - -================================================================================================ -change - IProxyGenerationHook.NonVirtualMemberNotification method was renamed - -impact - high -fixability - easy -revision - - -description - to accommodate class proxies with target method NonVirtualMemberNotification on - IProxyGenerationHook type was renamed to more accurate NonProxyableMemberNotification - since for class proxies with target not just methods but also fields and other member that - break the abstraction will be passed to this method. - -fix - whenever NonVirtualMemberNotification is used/implemented change the method name to - NonProxyableMemberNotification. Implementors should also accommodate possibility that not - only MethodInfos will be passed as method's second parameter. - -================================================================================================ -change - DynamicProxy will now allow to intercept members of System.Object - -impact - very low -fixability - easy -revision - - -description - to allow scenarios like mocking of System.Object members, DynamicProxy will not - disallow proxying of these methods anymore. AllMethodsHook (default IProxyGenerationHook) - will still filter them out though. - -fix - whenever custom IProxyGenerationHook is used, user should account for System.Object's - members being now passed to ShouldInterceptMethod and NonVirtualMemberNotification methods - and if neccessary update the code to handle them appropriately. \ No newline at end of file diff --git a/packages/Castle.Core.2.5.2/lib/Changes.txt b/packages/Castle.Core.2.5.2/lib/Changes.txt deleted file mode 100644 index 03d6a4873..000000000 --- a/packages/Castle.Core.2.5.2/lib/Changes.txt +++ /dev/null @@ -1,145 +0,0 @@ -2.5.2 (2010-11-15) -================== -- fixed DYNPROXY-150 - Finalizer should not be proxied -- implemented DYNPROXY-149 - Make AllMethodsHook members virtual so it can be used as a base class -- fixed DYNPROXY-147 - Can't crete class proxies with two non-public methods having same argument types but different return type -- fixed DYNPROXY-145 Unable to proxy System.Threading.SynchronizationContext (.NET 4.0) -- fixed DYNPROXY-144 - params argument not supported in constructor -- fixed DYNPROXY-143 - Permit call to reach "non-proxied" methods of inherited interfaces -- implemented DYNPROXY-139 - Better error message -- fixed DYNPROXY-133 - Debug assertion in ClassProxyInstanceContributor fails when proxying ISerializable with an explicit implementation of GetObjectData -- fixed CORE-32 - Determining if permission is granted via PermissionUtil does not work in .NET 4 -- applied patch by Alwin Meijs - ExtendedLog4netFactory can be configured with a stream from for example an embedded log4net xml config -- Upgraded NLog to 2.0 Beta 1 -- Added DefaultXmlSerializer to bridge XPathAdapter with standard Xml Serialization. -- XPathAdapter for DictionaryAdapter added IXPathSerializer to provide hooks for custom serialization. - -2.5.1 (2010-09-21) -================== -- Interface proxy with target Interface now accepts null as a valid target value (which can be replaced at a later stage). -- DictionaryAdapter behavior overrides are now ordered with all other behaviors -- BREAKING CHANGE: removed web logger so that by default Castle.Core works in .NET 4 client profile -- added paramter to ModuleScope disabling usage of signed modules. This is to workaround issue DYNPROXY-134. Also a descriptive exception message is being thrown now when the issue is detected. -- Added IDictionaryBehaviorBuilder to allow grouping behaviors -- Added GenericDictionaryAdapter to simplify generic value sources -- fixed issue DYNPROXY-138 - Error message missing space -- fixed false positive where DynamicProxy would not let you proxy interface with target interface when target object was a COM object. -- fixed ReflectionBasedDictionaryAdapter when using indexed properties - -2.5.0 (2010-08-21) -================== -- DynamicProxy will now not replicate non-public attribute types -- Applied patch from Kenneth Siewers Møller which adds parameterless constructor to DefaultSmtpSender implementation, to be able to configure the inner SmtpClient from the application configuration file (system.net.smtp). -- added support for .NET 4 and Silverlight 4, updated solution to VisualStudio 2010 -- Removed obsolete overload of CreateClassProxy -- Added class proxy with taget -- Added ability to intercept explicitly implemented generic interface methods on class proxy. -- DynamicProxy does not disallow intercepting members of System.Object anymore. AllMethodsHook will still filter them out though. -- Added ability to intercept explicitly implemented interface members on class proxy. Does not support generic members. -- Merged DynamicProxy into Core binary -- fixed DYNPROXY-ISSUE-132 - "MetaProperty equals implementation incorrect" -- Fixed bug in DiagnosticsLoggerTestCase, where when running as non-admin, the teardown will throw SecurityException (contributed by maxild) -- Split IoC specific classes into Castle.Windsor project -- Merged logging services solution -- Merged DynamicProxy project - -1.2.0 (2010-01-11) -================== - -- Added IEmailSender interface and its default implementation - -1.2.0 beta (2009-12-04) -================== - -- BREAKING CHANGE - added ChangeProxyTarget method to IChangeProxyTarget interface -- added docs to IChangeProxyTarget methods -- Fixed DYNPROXY-ISSUE-108 - Obtaining replicated custom attributes on proxy may fail when property setter throws exception on default value -- Moved custom attribute replication from CustomAttributeUtil to new interface - IAttributeDisassembler -- Exposed IAttributeDisassembler via ProxyGenerationOptions, so that users can plug their implementation for some convoluted scenarios. (for Silverlight) -- Moved IInterceptorSelector from Dynamic Proxy to Core (IOC-ISSUE-156) - -1.1.0 (2009-05-04) -================== - -- Applied Eric Hauser's patch fixing CORE-ISSUE-22 - "Support for environment variables in resource URI" - -- Applied Gauthier Segay's patch fixing CORE-ISSUE-20 - "Castle.Core.Tests won't build via nant because it use TraceContext without referencing System.Web.dll" - -- Added simple interface to ComponentModel to make optional properties required. - -- Applied Mark's -- -- patch that changes - the Core to support being compiled for Silverlight 2 - -- Applied Louis DeJardin's patch adding TraceLogger as a new logger implementation - -- Applied Chris Bilson's patch fixing CORE-15 - "WebLogger Throws When Logging Outside of an HttpContext" - -Release Candidate 3 -=================== - -- Added IServiceProviderEx which extends IServiceProvider - -- Added Pair class. - -- Applied Bill Pierce's patch fixing CORE-9 - "Allow CastleComponent Attribute to Specify Lifestyle in Constructor" - -- Added UseSingleInterfaceProxy to CompomentModel to control the proxying - behavior while maintaining backward compatibility. - Added the corresponding ComponentProxyBehaviorAttribute. - -- Made NullLogger and IExtnededLogger - -- Enabled a new format on ILogger interface, with 6 overloads for each method: - Debug(string) - Debug(string, Exception) - Debug(string, params object[]) - DebugFormat(string, params object[]) - DebugFormat(Exception, string, params object[]) - DebugFormat(IFormatProvider, string, params object[]) - DebugFormat(IFormatProvider, Exception, string, params object[]) - - The "FatalError" overloads where marked as [Obsolete], replaced by "Fatal" and "FatalFormat". - -0.0.1.0 -======= - -- Included IProxyTargetAccessor - -- Removed IMethodInterceptor and IMethodInvocation, that have been replaced - by IInterceptor and IInvocation - -- Added FindByPropertyInfo to PropertySetCollection - -- Made the DependencyModel.IsOptional property writable - -- Applied Curtis Schlak's patch fixing IOC-27 - "assembly resource format only works for resources where the assemblies name and default namespace are the same." - - Quoting: - - "I chose to preserve backwards compatibility by implementing the code in the - reverse order as suggested by the reporter. Given the following URI for a resource: - - assembly://my.cool.assembly/context/moo/file.xml - - It will initially look for an embedded resource with the manifest name of - "my.cool.assembly.context.moo.file.xml" in the loaded assembly my.cool.assembly.dll. - If it does not find it, then it looks for the embedded resource with the manifest name - of "context.moo.file.xml". - -- IServiceEnabledComponent Introduced to be used across the project as - a standard way to have access to common services, for example, logger factories - -- Added missing log factories - -- Refactor StreamLogger and DiagnosticLogger to be more consistent behavior-wise - -- Refactored WebLogger to extend LevelFilteredLogger (removed duplication) - -- Refactored LoggerLevel order - -- Project started diff --git a/packages/Castle.Core.2.5.2/lib/Committers.txt b/packages/Castle.Core.2.5.2/lib/Committers.txt deleted file mode 100644 index f9bf2dfce..000000000 --- a/packages/Castle.Core.2.5.2/lib/Committers.txt +++ /dev/null @@ -1,80 +0,0 @@ -This file names who's behind the Castle Team. You can find more about us at http://www.castleproject.org/community/team.html - -Committers -========== -(ordered by the date when joined the project) - -- hammett/Hamilton Verissimo -- Henry Conceição -- Kevin Williams -- Craig Neuwirt -- Gilles Bayon -- Andrew Hallock -- Jason Nelson -- Dru Sellers -- John Morales -- CobraLord -- Dan -- Tatham Oddie -- Fabio David Batista -- Chad Humphries -- Ayende Rahien -- G. Richard Bellamy -- Roelof Blom -- Ahmed Ghandour -- Josh Robb -- Ernst Naezer -- Marc-Andre Cournoyer -- Fabian Schmied -- Dave Godfrey -- Markus Zywitza -- Lee Henson -- Ken Egozi -- Chris Ortman -- Jonathon Rossi -- Tuna Toksöz -- Krzysztof Kozmic -- Mauricio Scheffer -- John Simons - -Managers -======== - - Patch Manager - ------------- - - - Josh Robb - - Documentation Manager - --------------------- - - - - - -PMC Members -=========== -(ordered by the date when joined the PMC) - -- hammett/Hamilton Verissimo (Chair) -- Henry Conceição -- Kevin Williams -- Craig Neuwirt -- Gilles Bayon -- Chad Humphries -- Ayende Rahien -- Fabio David Batista -- Roelof Blom -- Josh Robb -- Jonathon Rossi - -Emeritus -======== -(no longer active committers) - -- Gilles Bayon -- Dan -- Andrew Hallock -- John Morales -- CobraLord -- Tatham Oddie -- Ahmed Ghandour diff --git a/packages/Castle.Core.2.5.2/lib/NET35/Castle.Core.dll b/packages/Castle.Core.2.5.2/lib/NET35/Castle.Core.dll deleted file mode 100644 index 0207baeae72b38d760b2fa2be7c7c85e4022fcf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 296960 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 vcJrw;pGI4(&HNv{sv#Ba)D7*1z=deL;J - - - Castle.Core - - - -