From f6375ce04043efe0740c1c342cbaaf951ba8fce1 Mon Sep 17 00:00:00 2001 From: Samuele Locatelli Date: Wed, 2 Apr 2014 12:25:54 +0200 Subject: [PATCH] Aggiunto progetto GMW-RT con signal-R 2.0 --- GMW-RT/ChatHub.cs | 21 + GMW-RT/GMW-RT.csproj | 134 + GMW-RT/GMW-RT.csproj.user | 28 + GMW-RT/Properties/AssemblyInfo.cs | 35 + GMW-RT/Scripts/jquery-1.8.2.intellisense.js | 2494 +++++ GMW-RT/Scripts/jquery-1.8.2.js | 9440 +++++++++++++++++ GMW-RT/Scripts/jquery-1.8.2.min.js | 2 + GMW-RT/Scripts/jquery.signalR-2.0.3.js | 2693 +++++ GMW-RT/Scripts/jquery.signalR-2.0.3.min.js | 8 + GMW-RT/Startup.cs | 15 + GMW-RT/Web.Debug.config | 30 + GMW-RT/Web.Release.config | 31 + GMW-RT/Web.config | 38 + GMW-RT/bin/GMW-RT.dll | Bin 0 -> 6144 bytes GMW-RT/bin/Microsoft.AspNet.SignalR.Core.dll | Bin 0 -> 321720 bytes GMW-RT/bin/Microsoft.AspNet.SignalR.Core.xml | 3152 ++++++ .../Microsoft.AspNet.SignalR.SystemWeb.dll | Bin 0 -> 14008 bytes .../Microsoft.AspNet.SignalR.SystemWeb.xml | 115 + GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.dll | Bin 0 -> 131760 bytes GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.xml | 526 + GMW-RT/bin/Microsoft.Owin.Security.dll | Bin 0 -> 50352 bytes GMW-RT/bin/Microsoft.Owin.Security.xml | 435 + GMW-RT/bin/Microsoft.Owin.dll | Bin 0 -> 95920 bytes GMW-RT/bin/Microsoft.Owin.xml | 3157 ++++++ GMW-RT/bin/Newtonsoft.Json.dll | Bin 0 -> 413184 bytes GMW-RT/bin/Newtonsoft.Json.xml | 8225 ++++++++++++++ GMW-RT/bin/Owin.dll | Bin 0 -> 4608 bytes ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 9528 bytes .../Debug/GMW-RT.csproj.FileListAbsolute.txt | 18 + ...MW-RT.csprojResolveAssemblyReference.cache | Bin 0 -> 70799 bytes GMW-RT/obj/Debug/GMW-RT.dll | Bin 0 -> 6144 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 ...gnTimeResolveAssemblyReferencesInput.cache | Bin 0 -> 9530 bytes ...le_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs | 0 ...le_5937a670-0e60-4077-877b-f7221da3dda1.cs | 0 ...le_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs | 0 GMW-RT/packages.config | 13 + GMW/packages.config | 8 - .../Microsoft.AspNet.SignalR.2.0.3.nupkg | Bin 0 -> 4044 bytes .../Microsoft.AspNet.SignalR.2.0.3/readme.txt | 50 + .../Microsoft.AspNet.SignalR.Core.2.0.3.nupkg | Bin 0 -> 158981 bytes .../net45/Microsoft.AspNet.SignalR.Core.dll | Bin 0 -> 321720 bytes .../net45/Microsoft.AspNet.SignalR.Core.xml | 3152 ++++++ .../Microsoft.AspNet.SignalR.JS.2.0.3.nupkg | Bin 0 -> 35538 bytes .../content/Scripts/jquery.signalR-2.0.3.js | 2693 +++++ .../Scripts/jquery.signalR-2.0.3.min.js | 8 + ...osoft.AspNet.SignalR.SystemWeb.2.0.3.nupkg | Bin 0 -> 11843 bytes .../Microsoft.AspNet.SignalR.SystemWeb.XML | 115 + .../Microsoft.AspNet.SignalR.SystemWeb.dll | Bin 0 -> 14008 bytes .../Microsoft.Owin.3.0.0-beta1.nupkg | Bin 0 -> 62687 bytes .../lib/net45/Microsoft.Owin.XML | 3157 ++++++ .../lib/net45/Microsoft.Owin.dll | Bin 0 -> 95920 bytes ...soft.Owin.Host.SystemWeb.3.0.0-beta1.nupkg | Bin 0 -> 60973 bytes .../net45/Microsoft.Owin.Host.SystemWeb.dll | Bin 0 -> 131760 bytes .../net45/Microsoft.Owin.Host.SystemWeb.xml | 526 + .../Microsoft.Owin.Security.2.0.1.nupkg | Bin 0 -> 31495 bytes .../lib/net45/Microsoft.Owin.Security.XML | 435 + .../lib/net45/Microsoft.Owin.Security.dll | Bin 0 -> 50352 bytes .../Newtonsoft.Json.5.0.1.nupkg | Bin 0 -> 1522020 bytes .../lib/net20/Newtonsoft.Json.dll | Bin 0 -> 422400 bytes .../lib/net20/Newtonsoft.Json.xml | 8781 +++++++++++++++ .../lib/net35/Newtonsoft.Json.dll | Bin 0 -> 383488 bytes .../lib/net35/Newtonsoft.Json.xml | 7917 ++++++++++++++ .../lib/net40/Newtonsoft.Json.dll | Bin 0 -> 412160 bytes .../lib/net40/Newtonsoft.Json.xml | 8225 ++++++++++++++ .../lib/net45/Newtonsoft.Json.dll | Bin 0 -> 413184 bytes .../lib/net45/Newtonsoft.Json.xml | 8225 ++++++++++++++ .../lib/netcore45/Newtonsoft.Json.dll | Bin 0 -> 386560 bytes .../lib/netcore45/Newtonsoft.Json.xml | 7750 ++++++++++++++ .../Newtonsoft.Json.dll | Bin 0 -> 332800 bytes .../Newtonsoft.Json.xml | 7346 +++++++++++++ .../Newtonsoft.Json.dll | Bin 0 -> 377856 bytes .../Newtonsoft.Json.xml | 7685 ++++++++++++++ .../lib/wp80/Newtonsoft.Json.dll | Bin 0 -> 369152 bytes .../lib/wp80/Newtonsoft.Json.xml | 7599 +++++++++++++ packages/Owin.1.0/Owin.1.0.nupkg | Bin 0 -> 4641 bytes packages/Owin.1.0/lib/net40/Owin.dll | Bin 0 -> 4608 bytes .../Content/Scripts/jquery-1.8.2-vsdoc.js | 7011 ++++++++++++ .../Content/Scripts/jquery-1.8.2.js | 9440 +++++++++++++++++ .../Content/Scripts/jquery-1.8.2.min.js | 2 + packages/jQuery.1.8.2/Tools/common.ps1 | 117 + packages/jQuery.1.8.2/Tools/install.ps1 | 41 + .../Tools/jquery-1.8.2.intellisense.js | 2494 +++++ packages/jQuery.1.8.2/Tools/uninstall.ps1 | 41 + packages/jQuery.1.8.2/jQuery.1.8.2.nupkg | Bin 0 -> 185571 bytes 87 files changed, 123420 insertions(+), 8 deletions(-) create mode 100644 GMW-RT/ChatHub.cs create mode 100644 GMW-RT/GMW-RT.csproj create mode 100644 GMW-RT/GMW-RT.csproj.user create mode 100644 GMW-RT/Properties/AssemblyInfo.cs create mode 100644 GMW-RT/Scripts/jquery-1.8.2.intellisense.js create mode 100644 GMW-RT/Scripts/jquery-1.8.2.js create mode 100644 GMW-RT/Scripts/jquery-1.8.2.min.js create mode 100644 GMW-RT/Scripts/jquery.signalR-2.0.3.js create mode 100644 GMW-RT/Scripts/jquery.signalR-2.0.3.min.js create mode 100644 GMW-RT/Startup.cs create mode 100644 GMW-RT/Web.Debug.config create mode 100644 GMW-RT/Web.Release.config create mode 100644 GMW-RT/Web.config create mode 100644 GMW-RT/bin/GMW-RT.dll create mode 100644 GMW-RT/bin/Microsoft.AspNet.SignalR.Core.dll create mode 100644 GMW-RT/bin/Microsoft.AspNet.SignalR.Core.xml create mode 100644 GMW-RT/bin/Microsoft.AspNet.SignalR.SystemWeb.dll create mode 100644 GMW-RT/bin/Microsoft.AspNet.SignalR.SystemWeb.xml create mode 100644 GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.dll create mode 100644 GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.xml create mode 100644 GMW-RT/bin/Microsoft.Owin.Security.dll create mode 100644 GMW-RT/bin/Microsoft.Owin.Security.xml create mode 100644 GMW-RT/bin/Microsoft.Owin.dll create mode 100644 GMW-RT/bin/Microsoft.Owin.xml create mode 100644 GMW-RT/bin/Newtonsoft.Json.dll create mode 100644 GMW-RT/bin/Newtonsoft.Json.xml create mode 100644 GMW-RT/bin/Owin.dll create mode 100644 GMW-RT/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 GMW-RT/obj/Debug/GMW-RT.csproj.FileListAbsolute.txt create mode 100644 GMW-RT/obj/Debug/GMW-RT.csprojResolveAssemblyReference.cache create mode 100644 GMW-RT/obj/Debug/GMW-RT.dll create mode 100644 GMW-RT/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 GMW-RT/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 GMW-RT/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs create mode 100644 GMW-RT/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache create mode 100644 GMW-RT/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs create mode 100644 GMW-RT/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs create mode 100644 GMW-RT/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs create mode 100644 GMW-RT/packages.config create mode 100644 packages/Microsoft.AspNet.SignalR.2.0.3/Microsoft.AspNet.SignalR.2.0.3.nupkg create mode 100644 packages/Microsoft.AspNet.SignalR.2.0.3/readme.txt create mode 100644 packages/Microsoft.AspNet.SignalR.Core.2.0.3/Microsoft.AspNet.SignalR.Core.2.0.3.nupkg create mode 100644 packages/Microsoft.AspNet.SignalR.Core.2.0.3/lib/net45/Microsoft.AspNet.SignalR.Core.dll create mode 100644 packages/Microsoft.AspNet.SignalR.Core.2.0.3/lib/net45/Microsoft.AspNet.SignalR.Core.xml create mode 100644 packages/Microsoft.AspNet.SignalR.JS.2.0.3/Microsoft.AspNet.SignalR.JS.2.0.3.nupkg create mode 100644 packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.js create mode 100644 packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.min.js create mode 100644 packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/Microsoft.AspNet.SignalR.SystemWeb.2.0.3.nupkg create mode 100644 packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.XML create mode 100644 packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.dll create mode 100644 packages/Microsoft.Owin.3.0.0-beta1/Microsoft.Owin.3.0.0-beta1.nupkg create mode 100644 packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.XML create mode 100644 packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.dll create mode 100644 packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1.nupkg create mode 100644 packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.dll create mode 100644 packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.xml create mode 100644 packages/Microsoft.Owin.Security.2.0.1/Microsoft.Owin.Security.2.0.1.nupkg create mode 100644 packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.XML create mode 100644 packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/Newtonsoft.Json.5.0.1.nupkg create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net20/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net20/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net45/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/net45/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/wp80/Newtonsoft.Json.dll create mode 100644 packages/Newtonsoft.Json.5.0.1/lib/wp80/Newtonsoft.Json.xml create mode 100644 packages/Owin.1.0/Owin.1.0.nupkg create mode 100644 packages/Owin.1.0/lib/net40/Owin.dll create mode 100644 packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2-vsdoc.js create mode 100644 packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.js create mode 100644 packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.min.js create mode 100644 packages/jQuery.1.8.2/Tools/common.ps1 create mode 100644 packages/jQuery.1.8.2/Tools/install.ps1 create mode 100644 packages/jQuery.1.8.2/Tools/jquery-1.8.2.intellisense.js create mode 100644 packages/jQuery.1.8.2/Tools/uninstall.ps1 create mode 100644 packages/jQuery.1.8.2/jQuery.1.8.2.nupkg diff --git a/GMW-RT/ChatHub.cs b/GMW-RT/ChatHub.cs new file mode 100644 index 00000000..303d2fb9 --- /dev/null +++ b/GMW-RT/ChatHub.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using Microsoft.AspNet.SignalR; + +namespace GMW_RT +{ + public class ChatHub : Hub + { + public void Hello() + { + Clients.All.hello(); + } + public void Send(string name, string message) + { + // Call the broadcastMessage method to update clients. + Clients.All.broadcastMessage(name, message); + } + } +} \ No newline at end of file diff --git a/GMW-RT/GMW-RT.csproj b/GMW-RT/GMW-RT.csproj new file mode 100644 index 00000000..b21ce319 --- /dev/null +++ b/GMW-RT/GMW-RT.csproj @@ -0,0 +1,134 @@ + + + + + Debug + AnyCPU + + + 2.0 + {61B87B96-39D3-4BB4-82BF-EE4B96095C1C} + {349c5851-65df-11da-9384-00065b846f21};{fae04ec0-301f-11d3-bf4b-00c04f79efbc} + Library + Properties + GMW_RT + GMW-RT + v4.5 + true + + + + + + + true + full + false + bin\ + DEBUG;TRACE + prompt + 4 + + + pdbonly + true + bin\ + TRACE + prompt + 4 + + + + ..\packages\Microsoft.AspNet.SignalR.Core.2.0.3\lib\net45\Microsoft.AspNet.SignalR.Core.dll + + + ..\packages\Microsoft.AspNet.SignalR.SystemWeb.2.0.3\lib\net45\Microsoft.AspNet.SignalR.SystemWeb.dll + + + + ..\packages\Microsoft.Owin.3.0.0-beta1\lib\net45\Microsoft.Owin.dll + + + ..\packages\Microsoft.Owin.Host.SystemWeb.3.0.0-beta1\lib\net45\Microsoft.Owin.Host.SystemWeb.dll + + + ..\packages\Microsoft.Owin.Security.2.0.1\lib\net45\Microsoft.Owin.Security.dll + + + ..\packages\Newtonsoft.Json.5.0.1\lib\net45\Newtonsoft.Json.dll + + + ..\packages\Owin.1.0\lib\net40\Owin.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Web.config + + + Web.config + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) + + + + + + + + + True + True + 0 + / + http://localhost:57176/ + False + False + + + False + + + + + + \ No newline at end of file diff --git a/GMW-RT/GMW-RT.csproj.user b/GMW-RT/GMW-RT.csproj.user new file mode 100644 index 00000000..dedb3c9a --- /dev/null +++ b/GMW-RT/GMW-RT.csproj.user @@ -0,0 +1,28 @@ + + + + + + + + + CurrentPage + True + False + False + False + + + + + + + + + False + True + + + + + \ No newline at end of file diff --git a/GMW-RT/Properties/AssemblyInfo.cs b/GMW-RT/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..a067d8a7 --- /dev/null +++ b/GMW-RT/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("GMW_RT")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("GMW_RT")] +[assembly: AssemblyCopyright("Copyright © 2014")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("378273d6-e5fc-4025-b48c-b2a736dac570")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/GMW-RT/Scripts/jquery-1.8.2.intellisense.js b/GMW-RT/Scripts/jquery-1.8.2.intellisense.js new file mode 100644 index 00000000..5514196d --- /dev/null +++ b/GMW-RT/Scripts/jquery-1.8.2.intellisense.js @@ -0,0 +1,2494 @@ +intellisense.annotate(jQuery, { + 'ajax': function() { + /// + /// Perform an asynchronous HTTP (Ajax) request. + /// A string containing the URL to which the request is sent. + /// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings. + /// + /// + /// + /// Perform an asynchronous HTTP (Ajax) request. + /// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). + /// + /// + }, + 'ajaxPrefilter': function() { + /// + /// Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). + /// An optional string containing one or more space-separated dataTypes + /// A handler to set default values for future Ajax requests. + /// + }, + 'ajaxSetup': function() { + /// + /// Set default values for future Ajax requests. + /// A set of key/value pairs that configure the default Ajax request. All options are optional. + /// + }, + 'boxModel': function() { + /// Deprecated in jQuery 1.3 (see jQuery.support). States if the current page, in the user's browser, is being rendered using the W3C CSS Box Model. + /// + }, + 'browser': function() { + /// Contains flags for the useragent, read from navigator.userAgent. We recommend against using this property; please try to use feature detection instead (see jQuery.support). jQuery.browser may be moved to a plugin in a future release of jQuery. + /// + }, + 'browser.version': function() { + /// The version number of the rendering engine for the user's browser. + /// + }, + 'Callbacks': function() { + /// + /// A multi-purpose callbacks list object that provides a powerful way to manage callback lists. + /// An optional list of space-separated flags that change how the callback list behaves. + /// + }, + 'contains': function() { + /// + /// Check to see if a DOM element is within another DOM element. + /// The DOM element that may contain the other element. + /// The DOM element that may be contained by the other element. + /// + /// + }, + 'cssHooks': function() { + /// Hook directly into jQuery to override how particular CSS properties are retrieved or set, normalize CSS property naming, or create custom properties. + /// + }, + 'data': function() { + /// + /// Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. + /// The DOM element to query for the data. + /// Name of the data stored. + /// + /// + /// + /// Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. + /// The DOM element to query for the data. + /// + /// + }, + 'dequeue': function() { + /// + /// Execute the next function on the queue for the matched element. + /// A DOM element from which to remove and execute a queued function. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + }, + 'each': function() { + /// + /// A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. + /// The object or array to iterate over. + /// The function that will be executed on every object. + /// + /// + }, + 'error': function() { + /// + /// Takes a string and throws an exception containing it. + /// The message to send out. + /// + }, + 'extend': function() { + /// + /// Merge the contents of two or more objects together into the first object. + /// An object that will receive the new properties if additional objects are passed in or that will extend the jQuery namespace if it is the sole argument. + /// An object containing additional properties to merge in. + /// Additional objects containing properties to merge in. + /// + /// + /// + /// Merge the contents of two or more objects together into the first object. + /// If true, the merge becomes recursive (aka. deep copy). + /// The object to extend. It will receive the new properties. + /// An object containing additional properties to merge in. + /// Additional objects containing properties to merge in. + /// + /// + }, + 'get': function() { + /// + /// Load data from the server using a HTTP GET request. + /// A string containing the URL to which the request is sent. + /// A map or string that is sent to the server with the request. + /// A callback function that is executed if the request succeeds. + /// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). + /// + /// + }, + 'getJSON': function() { + /// + /// Load JSON-encoded data from the server using a GET HTTP request. + /// A string containing the URL to which the request is sent. + /// A map or string that is sent to the server with the request. + /// A callback function that is executed if the request succeeds. + /// + /// + }, + 'getScript': function() { + /// + /// Load a JavaScript file from the server using a GET HTTP request, then execute it. + /// A string containing the URL to which the request is sent. + /// A callback function that is executed if the request succeeds. + /// + /// + }, + 'globalEval': function() { + /// + /// Execute some JavaScript code globally. + /// The JavaScript code to execute. + /// + }, + 'grep': function() { + /// + /// Finds the elements of an array which satisfy a filter function. The original array is not affected. + /// The array to search through. + /// The function to process each item against. The first argument to the function is the item, and the second argument is the index. The function should return a Boolean value. this will be the global window object. + /// If "invert" is false, or not provided, then the function returns an array consisting of all elements for which "callback" returns true. If "invert" is true, then the function returns an array consisting of all elements for which "callback" returns false. + /// + /// + }, + 'hasData': function() { + /// + /// Determine whether an element has any jQuery data associated with it. + /// A DOM element to be checked for data. + /// + /// + }, + 'holdReady': function() { + /// + /// Holds or releases the execution of jQuery's ready event. + /// Indicates whether the ready hold is being requested or released + /// + }, + 'inArray': function() { + /// + /// Search for a specified value within an array and return its index (or -1 if not found). + /// The value to search for. + /// An array through which to search. + /// The index of the array at which to begin the search. The default is 0, which will search the whole array. + /// + /// + }, + 'isArray': function() { + /// + /// Determine whether the argument is an array. + /// Object to test whether or not it is an array. + /// + /// + }, + 'isEmptyObject': function() { + /// + /// Check to see if an object is empty (contains no properties). + /// The object that will be checked to see if it's empty. + /// + /// + }, + 'isFunction': function() { + /// + /// Determine if the argument passed is a Javascript function object. + /// Object to test whether or not it is a function. + /// + /// + }, + 'isNumeric': function() { + /// + /// Determines whether its argument is a number. + /// The value to be tested. + /// + /// + }, + 'isPlainObject': function() { + /// + /// Check to see if an object is a plain object (created using "{}" or "new Object"). + /// The object that will be checked to see if it's a plain object. + /// + /// + }, + 'isWindow': function() { + /// + /// Determine whether the argument is a window. + /// Object to test whether or not it is a window. + /// + /// + }, + 'isXMLDoc': function() { + /// + /// Check to see if a DOM node is within an XML document (or is an XML document). + /// The DOM node that will be checked to see if it's in an XML document. + /// + /// + }, + 'makeArray': function() { + /// + /// Convert an array-like object into a true JavaScript array. + /// Any object to turn into a native Array. + /// + /// + }, + 'map': function() { + /// + /// Translate all items in an array or object to new array of items. + /// The Array to translate. + /// The function to process each item against. The first argument to the function is the array item, the second argument is the index in array The function can return any value. Within the function, this refers to the global (window) object. + /// + /// + /// + /// Translate all items in an array or object to new array of items. + /// The Array or Object to translate. + /// The function to process each item against. The first argument to the function is the value; the second argument is the index or key of the array or object property. The function can return any value to add to the array. A returned array will be flattened into the resulting array. Within the function, this refers to the global (window) object. + /// + /// + }, + 'merge': function() { + /// + /// Merge the contents of two arrays together into the first array. + /// The first array to merge, the elements of second added. + /// The second array to merge into the first, unaltered. + /// + /// + }, + 'noConflict': function() { + /// + /// Relinquish jQuery's control of the $ variable. + /// A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself). + /// + /// + }, + 'noop': function() { + /// An empty function. + /// + }, + 'now': function() { + /// Return a number representing the current time. + /// + }, + 'param': function() { + /// + /// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + /// An array or object to serialize. + /// + /// + /// + /// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + /// An array or object to serialize. + /// A Boolean indicating whether to perform a traditional "shallow" serialization. + /// + /// + }, + 'parseJSON': function() { + /// + /// Takes a well-formed JSON string and returns the resulting JavaScript object. + /// The JSON string to parse. + /// + /// + }, + 'parseXML': function() { + /// + /// Parses a string into an XML document. + /// a well-formed XML string to be parsed + /// + /// + }, + 'post': function() { + /// + /// Load data from the server using a HTTP POST request. + /// A string containing the URL to which the request is sent. + /// A map or string that is sent to the server with the request. + /// A callback function that is executed if the request succeeds. + /// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html). + /// + /// + }, + 'proxy': function() { + /// + /// Takes a function and returns a new one that will always have a particular context. + /// The function whose context will be changed. + /// The object to which the context (this) of the function should be set. + /// + /// + /// + /// Takes a function and returns a new one that will always have a particular context. + /// The object to which the context of the function should be set. + /// The name of the function whose context will be changed (should be a property of the context object). + /// + /// + }, + 'queue': function() { + /// + /// Manipulate the queue of functions to be executed on the matched element. + /// A DOM element where the array of queued functions is attached. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// An array of functions to replace the current queue contents. + /// + /// + /// + /// Manipulate the queue of functions to be executed on the matched element. + /// A DOM element on which to add a queued function. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// The new function to add to the queue. + /// + /// + }, + 'removeData': function() { + /// + /// Remove a previously-stored piece of data. + /// A DOM element from which to remove data. + /// A string naming the piece of data to remove. + /// + /// + }, + 'sub': function() { + /// Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object. + /// + }, + 'support': function() { + /// A collection of properties that represent the presence of different browser features or bugs. Primarily intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. + /// + }, + 'trim': function() { + /// + /// Remove the whitespace from the beginning and end of a string. + /// The string to trim. + /// + /// + }, + 'type': function() { + /// + /// Determine the internal JavaScript [[Class]] of an object. + /// Object to get the internal JavaScript [[Class]] of. + /// + /// + }, + 'unique': function() { + /// + /// Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. + /// The Array of DOM elements. + /// + /// + }, + 'when': function() { + /// + /// Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. + /// One or more Deferred objects, or plain JavaScript objects. + /// + /// + }, +}); + +var _1228819969 = jQuery.Callbacks; +jQuery.Callbacks = function(flags) { +var _object = _1228819969(flags); +intellisense.annotate(_object, { + 'add': function() { + /// + /// Add a callback or a collection of callbacks to a callback list. + /// A function, or array of functions, that are to be added to the callback list. + /// + }, + 'disable': function() { + /// Disable a callback list from doing anything more. + }, + 'empty': function() { + /// Remove all of the callbacks from a list. + }, + 'fire': function() { + /// + /// Call all of the callbacks with the given arguments + /// The argument or list of arguments to pass back to the callback list. + /// + }, + 'fired': function() { + /// Determine if the callbacks have already been called at least once. + /// + }, + 'fireWith': function() { + /// + /// Call all callbacks in a list with the given context and arguments. + /// A reference to the context in which the callbacks in the list should be fired. + /// An argument, or array of arguments, to pass to the callbacks in the list. + /// + }, + 'has': function() { + /// + /// Determine whether a supplied callback is in a list + /// The callback to search for. + /// + /// + }, + 'lock': function() { + /// Lock a callback list in its current state. + }, + 'locked': function() { + /// Determine if the callbacks list has been locked. + /// + }, + 'remove': function() { + /// + /// Remove a callback or a collection of callbacks from a callback list. + /// A function, or array of functions, that are to be removed from the callback list. + /// + }, +}); + +return _object; +}; +intellisense.redirectDefinition(jQuery.Callbacks, _1228819969); + +var _731531622 = jQuery.Deferred; +jQuery.Deferred = function(func) { +var _object = _731531622(func); +intellisense.annotate(_object, { + 'always': function() { + /// + /// Add handlers to be called when the Deferred object is either resolved or rejected. + /// A function, or array of functions, that is called when the Deferred is resolved or rejected. + /// Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected. + /// + /// + }, + 'done': function() { + /// + /// Add handlers to be called when the Deferred object is resolved. + /// A function, or array of functions, that are called when the Deferred is resolved. + /// Optional additional functions, or arrays of functions, that are called when the Deferred is resolved. + /// + /// + }, + 'fail': function() { + /// + /// Add handlers to be called when the Deferred object is rejected. + /// A function, or array of functions, that are called when the Deferred is rejected. + /// Optional additional functions, or arrays of functions, that are called when the Deferred is rejected. + /// + /// + }, + 'isRejected': function() { + /// Determine whether a Deferred object has been rejected. + /// + }, + 'isResolved': function() { + /// Determine whether a Deferred object has been resolved. + /// + }, + 'notify': function() { + /// + /// Call the progressCallbacks on a Deferred object with the given args. + /// Optional arguments that are passed to the progressCallbacks. + /// + /// + }, + 'notifyWith': function() { + /// + /// Call the progressCallbacks on a Deferred object with the given context and args. + /// Context passed to the progressCallbacks as the this object. + /// Optional arguments that are passed to the progressCallbacks. + /// + /// + }, + 'pipe': function() { + /// + /// Utility method to filter and/or chain Deferreds. + /// An optional function that is called when the Deferred is resolved. + /// An optional function that is called when the Deferred is rejected. + /// + /// + /// + /// Utility method to filter and/or chain Deferreds. + /// An optional function that is called when the Deferred is resolved. + /// An optional function that is called when the Deferred is rejected. + /// An optional function that is called when progress notifications are sent to the Deferred. + /// + /// + }, + 'progress': function() { + /// + /// Add handlers to be called when the Deferred object generates progress notifications. + /// A function, or array of functions, that is called when the Deferred generates progress notifications. + /// + /// + }, + 'promise': function() { + /// + /// Return a Deferred's Promise object. + /// Object onto which the promise methods have to be attached + /// + /// + }, + 'reject': function() { + /// + /// Reject a Deferred object and call any failCallbacks with the given args. + /// Optional arguments that are passed to the failCallbacks. + /// + /// + }, + 'rejectWith': function() { + /// + /// Reject a Deferred object and call any failCallbacks with the given context and args. + /// Context passed to the failCallbacks as the this object. + /// An optional array of arguments that are passed to the failCallbacks. + /// + /// + }, + 'resolve': function() { + /// + /// Resolve a Deferred object and call any doneCallbacks with the given args. + /// Optional arguments that are passed to the doneCallbacks. + /// + /// + }, + 'resolveWith': function() { + /// + /// Resolve a Deferred object and call any doneCallbacks with the given context and args. + /// Context passed to the doneCallbacks as the this object. + /// An optional array of arguments that are passed to the doneCallbacks. + /// + /// + }, + 'state': function() { + /// Determine the current state of a Deferred object. + /// + }, + 'then': function() { + /// + /// Add handlers to be called when the Deferred object is resolved or rejected. + /// A function, or array of functions, called when the Deferred is resolved. + /// A function, or array of functions, called when the Deferred is rejected. + /// + /// + /// + /// Add handlers to be called when the Deferred object is resolved or rejected. + /// A function, or array of functions, called when the Deferred is resolved. + /// A function, or array of functions, called when the Deferred is rejected. + /// A function, or array of functions, called when the Deferred notifies progress. + /// + /// + }, +}); + +return _object; +}; +intellisense.redirectDefinition(jQuery.Callbacks, _731531622); + +intellisense.annotate(jQuery.Event.prototype, { + 'currentTarget': function() { + /// The current DOM element within the event bubbling phase. + /// + }, + 'data': function() { + /// An optional data map passed to an event method when the current executing handler is bound. + }, + 'delegateTarget': function() { + /// The element where the currently-called jQuery event handler was attached. + /// + }, + 'isDefaultPrevented': function() { + /// Returns whether event.preventDefault() was ever called on this event object. + /// + }, + 'isImmediatePropagationStopped': function() { + /// Returns whether event.stopImmediatePropagation() was ever called on this event object. + /// + }, + 'isPropagationStopped': function() { + /// Returns whether event.stopPropagation() was ever called on this event object. + /// + }, + 'namespace': function() { + /// The namespace specified when the event was triggered. + /// + }, + 'pageX': function() { + /// The mouse position relative to the left edge of the document. + /// + }, + 'pageY': function() { + /// The mouse position relative to the top edge of the document. + /// + }, + 'preventDefault': function() { + /// If this method is called, the default action of the event will not be triggered. + }, + 'relatedTarget': function() { + /// The other DOM element involved in the event, if any. + /// + }, + 'result': function() { + /// The last value returned by an event handler that was triggered by this event, unless the value was undefined. + /// + }, + 'stopImmediatePropagation': function() { + /// Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. + }, + 'stopPropagation': function() { + /// Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. + }, + 'target': function() { + /// The DOM element that initiated the event. + /// + }, + 'timeStamp': function() { + /// The difference in milliseconds between the time the browser created the event and January 1, 1970. + /// + }, + 'type': function() { + /// Describes the nature of the event. + /// + }, + 'which': function() { + /// For key or mouse events, this property indicates the specific key or button that was pressed. + /// + }, +}); + +intellisense.annotate(jQuery.fn, { + 'add': function() { + /// + /// Add elements to the set of matched elements. + /// A string representing a selector expression to find additional elements to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// One or more elements to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// An HTML fragment to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// An existing jQuery object to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// A string representing a selector expression to find additional elements to add to the set of matched elements. + /// The point in the document at which the selector should begin matching; similar to the context argument of the $(selector, context) method. + /// + /// + }, + 'addClass': function() { + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// One or more class names to be added to the class attribute of each matched element. + /// + /// + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// A function returning one or more space-separated class names to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'after': function() { + /// + /// Insert content, specified by the parameter, after each element in the set of matched elements. + /// HTML string, DOM element, or jQuery object to insert after each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert after each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, after each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert after each element in the set of matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, + 'ajaxComplete': function() { + /// + /// Register a handler to be called when Ajax requests complete. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxError': function() { + /// + /// Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxSend': function() { + /// + /// Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxStart': function() { + /// + /// Register a handler to be called when the first Ajax request begins. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxStop': function() { + /// + /// Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxSuccess': function() { + /// + /// Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'all': function() { + /// Selects all elements. + }, + 'andSelf': function() { + /// Add the previous set of elements on the stack to the current set. + /// + }, + 'animate': function() { + /// + /// Perform a custom animation of a set of CSS properties. + /// A map of CSS properties that the animation will move toward. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + /// + /// Perform a custom animation of a set of CSS properties. + /// A map of CSS properties that the animation will move toward. + /// A map of additional options to pass to the method. Supported keys: duration: A string or number determining how long the animation will run.easing: A string indicating which easing function to use for the transition.complete: A function to call once the animation is complete.step: A function to be called after each step of the animation.queue: A Boolean indicating whether to place the animation in the effects queue. If false, the animation will begin immediately. As of jQuery 1.7, the queue option can also accept a string, in which case the animation is added to the queue represented by that string.specialEasing: A map of one or more of the CSS properties defined by the properties argument and their corresponding easing functions (added 1.4). + /// + /// + }, + 'animated': function() { + /// Select all elements that are in the progress of an animation at the time the selector is run. + }, + 'append': function() { + /// + /// Insert content, specified by the parameter, to the end of each element in the set of matched elements. + /// DOM element, HTML string, or jQuery object to insert at the end of each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, to the end of each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert at the end of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'appendTo': function() { + /// + /// Insert every element in the set of matched elements to the end of the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the end of the element(s) specified by this parameter. + /// + /// + }, + 'attr': function() { + /// + /// Set one or more attributes for the set of matched elements. + /// The name of the attribute to set. + /// A value to set for the attribute. + /// + /// + /// + /// Set one or more attributes for the set of matched elements. + /// A map of attribute-value pairs to set. + /// + /// + /// + /// Set one or more attributes for the set of matched elements. + /// The name of the attribute to set. + /// A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old attribute value as arguments. + /// + /// + }, + 'attributeContains': function() { + /// + /// Selects elements that have the specified attribute with a value containing the a given substring. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeContainsPrefix': function() { + /// + /// Selects elements that have the specified attribute with a value either equal to a given string or starting with that string followed by a hyphen (-). + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeContainsWord': function() { + /// + /// Selects elements that have the specified attribute with a value containing a given word, delimited by spaces. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeEndsWith': function() { + /// + /// Selects elements that have the specified attribute with a value ending exactly with a given string. The comparison is case sensitive. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeEquals': function() { + /// + /// Selects elements that have the specified attribute with a value exactly equal to a certain value. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeHas': function() { + /// + /// Selects elements that have the specified attribute, with any value. + /// An attribute name. + /// + }, + 'attributeMultiple': function() { + /// + /// Matches elements that match all of the specified attribute filters. + /// An attribute filter. + /// Another attribute filter, reducing the selection even more + /// As many more attribute filters as necessary + /// + }, + 'attributeNotEqual': function() { + /// + /// Select elements that either don't have the specified attribute, or do have the specified attribute but not with a certain value. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeStartsWith': function() { + /// + /// Selects elements that have the specified attribute with a value beginning exactly with a given string. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'before': function() { + /// + /// Insert content, specified by the parameter, before each element in the set of matched elements. + /// HTML string, DOM element, or jQuery object to insert before each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert before each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, before each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert before each element in the set of matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, + 'bind': function() { + /// + /// Attach a handler to an event for the elements. + /// A string containing one or more DOM event types, such as "click" or "submit," or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Attach a handler to an event for the elements. + /// A string containing one or more DOM event types, such as "click" or "submit," or custom event names. + /// A map of data that will be passed to the event handler. + /// Setting the third argument to false will attach a function that prevents the default action from occurring and stops the event from bubbling. The default is true. + /// + /// + /// + /// Attach a handler to an event for the elements. + /// A map of one or more DOM event types and functions to execute for them. + /// + /// + }, + 'blur': function() { + /// + /// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'button': function() { + /// Selects all button elements and elements of type button. + }, + 'change': function() { + /// + /// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'checkbox': function() { + /// Selects all elements of type checkbox. + }, + 'checked': function() { + /// Matches all elements that are checked. + }, + 'child': function() { + /// + /// Selects all direct child elements specified by "child" of elements specified by "parent". + /// Any valid selector. + /// A selector to filter the child elements. + /// + }, + 'children': function() { + /// + /// Get the children of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'class': function() { + /// + /// Selects all elements with the given class. + /// A class to search for. An element can have multiple classes; only one of them must match. + /// + }, + 'clearQueue': function() { + /// + /// Remove from the queue all items that have not yet been run. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + }, + 'click': function() { + /// + /// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'clone': function() { + /// + /// Create a deep copy of the set of matched elements. + /// A Boolean indicating whether event handlers should be copied along with the elements. As of jQuery 1.4, element data will be copied as well. + /// + /// + /// + /// Create a deep copy of the set of matched elements. + /// A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. *In jQuery 1.5.0 the default value was incorrectly true; it was changed back to false in 1.5.1 and up. + /// A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false). + /// + /// + }, + 'closest': function() { + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// A string containing a selector expression to match elements against. + /// A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. + /// + /// + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// A jQuery object to match elements against. + /// + /// + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// An element to match elements against. + /// + /// + }, + 'contains': function() { + /// + /// Select all elements that contain the specified text. + /// A string of text to look for. It's case sensitive. + /// + }, + 'contents': function() { + /// Get the children of each element in the set of matched elements, including text and comment nodes. + /// + }, + 'context': function() { + /// The DOM node context originally passed to jQuery(); if none was passed then context will likely be the document. + /// + }, + 'css': function() { + /// + /// Set one or more CSS properties for the set of matched elements. + /// A CSS property name. + /// A value to set for the property. + /// + /// + /// + /// Set one or more CSS properties for the set of matched elements. + /// A CSS property name. + /// A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. + /// + /// + /// + /// Set one or more CSS properties for the set of matched elements. + /// A map of property-value pairs to set. + /// + /// + }, + 'data': function() { + /// + /// Store arbitrary data associated with the matched elements. + /// A string naming the piece of data to set. + /// The new data value; it can be any Javascript type including Array or Object. + /// + /// + /// + /// Store arbitrary data associated with the matched elements. + /// An object of key-value pairs of data to update. + /// + /// + }, + 'dblclick': function() { + /// + /// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'delay': function() { + /// + /// Set a timer to delay execution of subsequent items in the queue. + /// An integer indicating the number of milliseconds to delay execution of the next item in the queue. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + }, + 'delegate': function() { + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// A selector to filter the elements that trigger the event. + /// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// A selector to filter the elements that trigger the event. + /// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// A selector to filter the elements that trigger the event. + /// A map of one or more event types and functions to execute for them. + /// + /// + }, + 'dequeue': function() { + /// + /// Execute the next function on the queue for the matched elements. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + }, + 'descendant': function() { + /// + /// Selects all elements that are descendants of a given ancestor. + /// Any valid selector. + /// A selector to filter the descendant elements. + /// + }, + 'detach': function() { + /// + /// Remove the set of matched elements from the DOM. + /// A selector expression that filters the set of matched elements to be removed. + /// + /// + }, + 'die': function() { + /// + /// Remove an event handler previously attached using .live() from the elements. + /// A string containing a JavaScript event type, such as click or keydown. + /// The function that is no longer to be executed. + /// + /// + /// + /// Remove an event handler previously attached using .live() from the elements. + /// A map of one or more event types, such as click or keydown and their corresponding functions that are no longer to be executed. + /// + /// + }, + 'disabled': function() { + /// Selects all elements that are disabled. + }, + 'each': function() { + /// + /// Iterate over a jQuery object, executing a function for each matched element. + /// A function to execute for each matched element. + /// + /// + }, + 'element': function() { + /// + /// Selects all elements with the given tag name. + /// An element to search for. Refers to the tagName of DOM nodes. + /// + }, + 'empty': function() { + /// Select all elements that have no children (including text nodes). + }, + 'enabled': function() { + /// Selects all elements that are enabled. + }, + 'end': function() { + /// End the most recent filtering operation in the current chain and return the set of matched elements to its previous state. + /// + }, + 'eq': function() { + /// + /// Reduce the set of matched elements to the one at the specified index. + /// An integer indicating the 0-based position of the element. + /// + /// + /// + /// Reduce the set of matched elements to the one at the specified index. + /// An integer indicating the position of the element, counting backwards from the last element in the set. + /// + /// + }, + 'error': function() { + /// + /// Bind an event handler to the "error" JavaScript event. + /// A function to execute when the event is triggered. + /// + /// + /// + /// Bind an event handler to the "error" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'even': function() { + /// Selects even elements, zero-indexed. See also odd. + }, + 'fadeIn': function() { + /// + /// Display the matched elements by fading them to opaque. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display the matched elements by fading them to opaque. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'fadeOut': function() { + /// + /// Hide the matched elements by fading them to transparent. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Hide the matched elements by fading them to transparent. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'fadeTo': function() { + /// + /// Adjust the opacity of the matched elements. + /// A string or number determining how long the animation will run. + /// A number between 0 and 1 denoting the target opacity. + /// A function to call once the animation is complete. + /// + /// + /// + /// Adjust the opacity of the matched elements. + /// A string or number determining how long the animation will run. + /// A number between 0 and 1 denoting the target opacity. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'fadeToggle': function() { + /// + /// Display or hide the matched elements by animating their opacity. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'file': function() { + /// Selects all elements of type file. + }, + 'filter': function() { + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// A string containing a selector expression to match the current set of elements against. + /// + /// + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// A function used as a test for each element in the set. this is the current DOM element. + /// + /// + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// An element to match the current set of elements against. + /// + /// + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// An existing jQuery object to match the current set of elements against. + /// + /// + }, + 'find': function() { + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// A jQuery object to match elements against. + /// + /// + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// An element to match elements against. + /// + /// + }, + 'first': function() { + /// Selects the first matched element. + }, + 'first-child': function() { + /// Selects all elements that are the first child of their parent. + }, + 'focus': function() { + /// + /// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'focusin': function() { + /// + /// Bind an event handler to the "focusin" event. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "focusin" event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'focusout': function() { + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'get': function() { + /// + /// Retrieve the DOM elements matched by the jQuery object. + /// A zero-based integer indicating which element to retrieve. + /// + /// + }, + 'gt': function() { + /// + /// Select all elements at an index greater than index within the matched set. + /// Zero-based index. + /// + }, + 'has': function() { + /// + /// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. + /// A DOM element to match elements against. + /// + /// + }, + 'hasClass': function() { + /// + /// Determine whether any of the matched elements are assigned the given class. + /// The class name to search for. + /// + /// + }, + 'header': function() { + /// Selects all elements that are headers, like h1, h2, h3 and so on. + }, + 'height': function() { + /// + /// Set the CSS height of every matched element. + /// An integer representing the number of pixels, or an integer with an optional unit of measure appended (as a string). + /// + /// + /// + /// Set the CSS height of every matched element. + /// A function returning the height to set. Receives the index position of the element in the set and the old height as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'hidden': function() { + /// Selects all elements that are hidden. + }, + 'hide': function() { + /// + /// Hide the matched elements. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Hide the matched elements. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'hover': function() { + /// + /// Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. + /// A function to execute when the mouse pointer enters the element. + /// A function to execute when the mouse pointer leaves the element. + /// + /// + }, + 'html': function() { + /// + /// Set the HTML contents of each element in the set of matched elements. + /// A string of HTML to set as the content of each matched element. + /// + /// + /// + /// Set the HTML contents of each element in the set of matched elements. + /// A function returning the HTML content to set. Receives the index position of the element in the set and the old HTML value as arguments. jQuery empties the element before calling the function; use the oldhtml argument to reference the previous content. Within the function, this refers to the current element in the set. + /// + /// + }, + 'id': function() { + /// + /// Selects a single element with the given id attribute. + /// An ID to search for, specified via the id attribute of an element. + /// + }, + 'image': function() { + /// Selects all elements of type image. + }, + 'index': function() { + /// + /// Search for a given element from among the matched elements. + /// A selector representing a jQuery collection in which to look for an element. + /// + /// + /// + /// Search for a given element from among the matched elements. + /// The DOM element or first element within the jQuery object to look for. + /// + /// + }, + 'init': function() { + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A string containing a selector expression + /// A DOM Element, Document, or jQuery to use as context + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A DOM element to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A plain object to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An array containing a set of DOM elements to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An existing jQuery object to clone. + /// + /// + }, + 'innerHeight': function() { + /// Get the current computed height for the first element in the set of matched elements, including padding but not border. + /// + }, + 'innerWidth': function() { + /// Get the current computed width for the first element in the set of matched elements, including padding but not border. + /// + }, + 'input': function() { + /// Selects all input, textarea, select and button elements. + }, + 'insertAfter': function() { + /// + /// Insert every element in the set of matched elements after the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted after the element(s) specified by this parameter. + /// + /// + }, + 'insertBefore': function() { + /// + /// Insert every element in the set of matched elements before the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted before the element(s) specified by this parameter. + /// + /// + }, + 'is': function() { + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// A function used as a test for the set of elements. It accepts one argument, index, which is the element's index in the jQuery collection.Within the function, this refers to the current DOM element. + /// + /// + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// An existing jQuery object to match the current set of elements against. + /// + /// + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// An element to match the current set of elements against. + /// + /// + }, + 'jquery': function() { + /// A string containing the jQuery version number. + /// + }, + 'keydown': function() { + /// + /// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'keypress': function() { + /// + /// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'keyup': function() { + /// + /// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'last': function() { + /// Selects the last matched element. + }, + 'last-child': function() { + /// Selects all elements that are the last child of their parent. + }, + 'length': function() { + /// The number of elements in the jQuery object. + /// + }, + 'live': function() { + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// A map of one or more JavaScript event types and functions to execute for them. + /// + /// + }, + 'load': function() { + /// + /// Bind an event handler to the "load" JavaScript event. + /// A function to execute when the event is triggered. + /// + /// + /// + /// Bind an event handler to the "load" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'lt': function() { + /// + /// Select all elements at an index less than index within the matched set. + /// Zero-based index. + /// + }, + 'map': function() { + /// + /// Pass each element in the current matched set through a function, producing a new jQuery object containing the return values. + /// A function object that will be invoked for each element in the current set. + /// + /// + }, + 'mousedown': function() { + /// + /// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseenter': function() { + /// + /// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseleave': function() { + /// + /// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mousemove': function() { + /// + /// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseout': function() { + /// + /// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseover': function() { + /// + /// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseup': function() { + /// + /// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'multiple': function() { + /// + /// Selects the combined results of all the specified selectors. + /// Any valid selector. + /// Another valid selector. + /// As many more valid selectors as you like. + /// + }, + 'next': function() { + /// + /// Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'next adjacent': function() { + /// + /// Selects all next elements matching "next" that are immediately preceded by a sibling "prev". + /// Any valid selector. + /// A selector to match the element that is next to the first selector. + /// + }, + 'next siblings': function() { + /// + /// Selects all sibling elements that follow after the "prev" element, have the same parent, and match the filtering "siblings" selector. + /// Any valid selector. + /// A selector to filter elements that are the following siblings of the first selector. + /// + }, + 'nextAll': function() { + /// + /// Get all following siblings of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'nextUntil': function() { + /// + /// Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. + /// A string containing a selector expression to indicate where to stop matching following sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. + /// A DOM node or jQuery object indicating where to stop matching following sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'not': function() { + /// + /// Remove elements from the set of matched elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Remove elements from the set of matched elements. + /// One or more DOM elements to remove from the matched set. + /// + /// + /// + /// Remove elements from the set of matched elements. + /// A function used as a test for each element in the set. this is the current DOM element. + /// + /// + /// + /// Remove elements from the set of matched elements. + /// An existing jQuery object to match the current set of elements against. + /// + /// + }, + 'nth-child': function() { + /// + /// Selects all elements that are the nth-child of their parent. + /// The index of each child to match, starting with 1, the string even or odd, or an equation ( eg. :nth-child(even), :nth-child(4n) ) + /// + }, + 'odd': function() { + /// Selects odd elements, zero-indexed. See also even. + }, + 'off': function() { + /// + /// Remove an event handler. + /// One or more space-separated event types and optional namespaces, or just namespaces, such as "click", "keydown.myPlugin", or ".myPlugin". + /// A selector which should match the one originally passed to .on() when attaching event handlers. + /// A handler function previously attached for the event(s), or the special value false. + /// + /// + /// + /// Remove an event handler. + /// A map where the string keys represent one or more space-separated event types and optional namespaces, and the values represent handler functions previously attached for the event(s). + /// A selector which should match the one originally passed to .on() when attaching event handlers. + /// + /// + }, + 'offset': function() { + /// + /// Set the current coordinates of every element in the set of matched elements, relative to the document. + /// An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. + /// + /// + /// + /// Set the current coordinates of every element in the set of matched elements, relative to the document. + /// A function to return the coordinates to set. Receives the index of the element in the collection as the first argument and the current coordinates as the second argument. The function should return an object with the new top and left properties. + /// + /// + }, + 'offsetParent': function() { + /// Get the closest ancestor element that is positioned. + /// + }, + 'on': function() { + /// + /// Attach an event handler function for one or more events to the selected elements. + /// One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". + /// A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event is triggered. + /// A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. + /// + /// + /// + /// Attach an event handler function for one or more events to the selected elements. + /// A map in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). + /// A selector string to filter the descendants of the selected elements that will call the handler. If the selector is null or omitted, the handler is always called when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event occurs. + /// + /// + }, + 'one': function() { + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". + /// A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event is triggered. + /// A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. + /// + /// + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// A map in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). + /// A selector string to filter the descendants of the selected elements that will call the handler. If the selector is null or omitted, the handler is always called when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event occurs. + /// + /// + }, + 'only-child': function() { + /// Selects all elements that are the only child of their parent. + }, + 'outerHeight': function() { + /// + /// Get the current computed height for the first element in the set of matched elements, including padding, border, and optionally margin. Returns an integer (without "px") representation of the value or null if called on an empty set of elements. + /// A Boolean indicating whether to include the element's margin in the calculation. + /// + /// + }, + 'outerWidth': function() { + /// + /// Get the current computed width for the first element in the set of matched elements, including padding and border. + /// A Boolean indicating whether to include the element's margin in the calculation. + /// + /// + }, + 'parent': function() { + /// + /// Get the parent of each element in the current set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'parents': function() { + /// + /// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'parentsUntil': function() { + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A string containing a selector expression to indicate where to stop matching ancestor elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A DOM node or jQuery object indicating where to stop matching ancestor elements. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'password': function() { + /// Selects all elements of type password. + }, + 'position': function() { + /// Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. + /// + }, + 'prepend': function() { + /// + /// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. + /// DOM element, array of elements, HTML string, or jQuery object to insert at the beginning of each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the beginning of each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert at the beginning of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'prependTo': function() { + /// + /// Insert every element in the set of matched elements to the beginning of the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the beginning of the element(s) specified by this parameter. + /// + /// + }, + 'prev': function() { + /// + /// Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'prevAll': function() { + /// + /// Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'prevUntil': function() { + /// + /// Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A string containing a selector expression to indicate where to stop matching preceding sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A DOM node or jQuery object indicating where to stop matching preceding sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'promise': function() { + /// + /// Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished. + /// The type of queue that needs to be observed. + /// Object onto which the promise methods have to be attached + /// + /// + }, + 'prop': function() { + /// + /// Set one or more properties for the set of matched elements. + /// The name of the property to set. + /// A value to set for the property. + /// + /// + /// + /// Set one or more properties for the set of matched elements. + /// A map of property-value pairs to set. + /// + /// + /// + /// Set one or more properties for the set of matched elements. + /// The name of the property to set. + /// A function returning the value to set. Receives the index position of the element in the set and the old property value as arguments. Within the function, the keyword this refers to the current element. + /// + /// + }, + 'pushStack': function() { + /// + /// Add a collection of DOM elements onto the jQuery stack. + /// An array of elements to push onto the stack and make into a new jQuery object. + /// + /// + /// + /// Add a collection of DOM elements onto the jQuery stack. + /// An array of elements to push onto the stack and make into a new jQuery object. + /// The name of a jQuery method that generated the array of elements. + /// The arguments that were passed in to the jQuery method (for serialization). + /// + /// + }, + 'queue': function() { + /// + /// Manipulate the queue of functions to be executed on the matched elements. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// An array of functions to replace the current queue contents. + /// + /// + /// + /// Manipulate the queue of functions to be executed on the matched elements. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// The new function to add to the queue, with a function to call that will dequeue the next item. + /// + /// + }, + 'radio': function() { + /// Selects all elements of type radio. + }, + 'ready': function() { + /// + /// Specify a function to execute when the DOM is fully loaded. + /// A function to execute after the DOM is ready. + /// + /// + }, + 'remove': function() { + /// + /// Remove the set of matched elements from the DOM. + /// A selector expression that filters the set of matched elements to be removed. + /// + /// + }, + 'removeAttr': function() { + /// + /// Remove an attribute from each element in the set of matched elements. + /// An attribute to remove; as of version 1.7, it can be a space-separated list of attributes. + /// + /// + }, + 'removeClass': function() { + /// + /// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. + /// One or more space-separated classes to be removed from the class attribute of each matched element. + /// + /// + /// + /// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. + /// A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. + /// + /// + }, + 'removeData': function() { + /// + /// Remove a previously-stored piece of data. + /// A string naming the piece of data to delete. + /// + /// + /// + /// Remove a previously-stored piece of data. + /// An array or space-separated string naming the pieces of data to delete. + /// + /// + }, + 'removeProp': function() { + /// + /// Remove a property for the set of matched elements. + /// The name of the property to set. + /// + /// + }, + 'replaceAll': function() { + /// + /// Replace each target element with the set of matched elements. + /// A selector expression indicating which element(s) to replace. + /// + /// + }, + 'replaceWith': function() { + /// + /// Replace each element in the set of matched elements with the provided new content. + /// The content to insert. May be an HTML string, DOM element, or jQuery object. + /// + /// + /// + /// Replace each element in the set of matched elements with the provided new content. + /// A function that returns content with which to replace the set of matched elements. + /// + /// + }, + 'reset': function() { + /// Selects all elements of type reset. + }, + 'resize': function() { + /// + /// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'scroll': function() { + /// + /// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'scrollLeft': function() { + /// + /// Set the current horizontal position of the scroll bar for each of the set of matched elements. + /// An integer indicating the new position to set the scroll bar to. + /// + /// + }, + 'scrollTop': function() { + /// + /// Set the current vertical position of the scroll bar for each of the set of matched elements. + /// An integer indicating the new position to set the scroll bar to. + /// + /// + }, + 'select': function() { + /// + /// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'selected': function() { + /// Selects all elements that are selected. + }, + 'serialize': function() { + /// Encode a set of form elements as a string for submission. + /// + }, + 'serializeArray': function() { + /// Encode a set of form elements as an array of names and values. + /// + }, + 'show': function() { + /// + /// Display the matched elements. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display the matched elements. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'siblings': function() { + /// + /// Get the siblings of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'size': function() { + /// Return the number of elements in the jQuery object. + /// + }, + 'slice': function() { + /// + /// Reduce the set of matched elements to a subset specified by a range of indices. + /// An integer indicating the 0-based position at which the elements begin to be selected. If negative, it indicates an offset from the end of the set. + /// An integer indicating the 0-based position at which the elements stop being selected. If negative, it indicates an offset from the end of the set. If omitted, the range continues until the end of the set. + /// + /// + }, + 'slideDown': function() { + /// + /// Display the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'slideToggle': function() { + /// + /// Display or hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display or hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'slideUp': function() { + /// + /// Hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'stop': function() { + /// + /// Stop the currently-running animation on the matched elements. + /// A Boolean indicating whether to remove queued animation as well. Defaults to false. + /// A Boolean indicating whether to complete the current animation immediately. Defaults to false. + /// + /// + /// + /// Stop the currently-running animation on the matched elements. + /// The name of the queue in which to stop animations. + /// A Boolean indicating whether to remove queued animation as well. Defaults to false. + /// A Boolean indicating whether to complete the current animation immediately. Defaults to false. + /// + /// + }, + 'submit': function() { + /// + /// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'text': function() { + /// + /// Set the content of each element in the set of matched elements to the specified text. + /// A string of text to set as the content of each matched element. + /// + /// + /// + /// Set the content of each element in the set of matched elements to the specified text. + /// A function returning the text content to set. Receives the index position of the element in the set and the old text value as arguments. + /// + /// + }, + 'toArray': function() { + /// Retrieve all the DOM elements contained in the jQuery set, as an array. + /// + }, + 'toggle': function() { + /// + /// Display or hide the matched elements. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display or hide the matched elements. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display or hide the matched elements. + /// A Boolean indicating whether to show or hide the elements. + /// + /// + }, + 'toggleClass': function() { + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// One or more class names (separated by spaces) to be toggled for each element in the matched set. + /// + /// + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// One or more class names (separated by spaces) to be toggled for each element in the matched set. + /// A Boolean (not just truthy/falsy) value to determine whether the class should be added or removed. + /// + /// + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// A boolean value to determine whether the class should be added or removed. + /// + /// + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// A function that returns class names to be toggled in the class attribute of each element in the matched set. Receives the index position of the element in the set, the old class value, and the switch as arguments. + /// A boolean value to determine whether the class should be added or removed. + /// + /// + }, + 'trigger': function() { + /// + /// Execute all handlers and behaviors attached to the matched elements for the given event type. + /// A string containing a JavaScript event type, such as click or submit. + /// Additional parameters to pass along to the event handler. + /// + /// + /// + /// Execute all handlers and behaviors attached to the matched elements for the given event type. + /// A jQuery.Event object. + /// + /// + }, + 'triggerHandler': function() { + /// + /// Execute all handlers attached to an element for an event. + /// A string containing a JavaScript event type, such as click or submit. + /// An array of additional parameters to pass along to the event handler. + /// + /// + }, + 'unbind': function() { + /// + /// Remove a previously-attached event handler from the elements. + /// A string containing a JavaScript event type, such as click or submit. + /// The function that is to be no longer executed. + /// + /// + /// + /// Remove a previously-attached event handler from the elements. + /// A string containing a JavaScript event type, such as click or submit. + /// Unbinds the corresponding 'return false' function that was bound using .bind( eventType, false ). + /// + /// + /// + /// Remove a previously-attached event handler from the elements. + /// A JavaScript event object as passed to an event handler. + /// + /// + }, + 'undelegate': function() { + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A selector which will be used to filter the event results. + /// A string containing a JavaScript event type, such as "click" or "keydown" + /// + /// + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A selector which will be used to filter the event results. + /// A string containing a JavaScript event type, such as "click" or "keydown" + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A selector which will be used to filter the event results. + /// A map of one or more event types and previously bound functions to unbind from them. + /// + /// + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A string containing a namespace to unbind all events from. + /// + /// + }, + 'unload': function() { + /// + /// Bind an event handler to the "unload" JavaScript event. + /// A function to execute when the event is triggered. + /// + /// + /// + /// Bind an event handler to the "unload" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'unwrap': function() { + /// Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. + /// + }, + 'val': function() { + /// + /// Set the value of each element in the set of matched elements. + /// A string of text or an array of strings corresponding to the value of each matched element to set as selected/checked. + /// + /// + /// + /// Set the value of each element in the set of matched elements. + /// A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. + /// + /// + }, + 'visible': function() { + /// Selects all elements that are visible. + }, + 'width': function() { + /// + /// Set the CSS width of each element in the set of matched elements. + /// An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). + /// + /// + /// + /// Set the CSS width of each element in the set of matched elements. + /// A function returning the width to set. Receives the index position of the element in the set and the old width as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'wrap': function() { + /// + /// Wrap an HTML structure around each element in the set of matched elements. + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. + /// + /// + /// + /// Wrap an HTML structure around each element in the set of matched elements. + /// A callback function returning the HTML content or jQuery object to wrap around the matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, + 'wrapAll': function() { + /// + /// Wrap an HTML structure around all elements in the set of matched elements. + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. + /// + /// + }, + 'wrapInner': function() { + /// + /// Wrap an HTML structure around the content of each element in the set of matched elements. + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the content of the matched elements. + /// + /// + /// + /// Wrap an HTML structure around the content of each element in the set of matched elements. + /// A callback function which generates a structure to wrap around the content of the matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, +}); + +intellisense.annotate(window, { + '$': function() { + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A string containing a selector expression + /// A DOM Element, Document, or jQuery to use as context + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A DOM element to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A plain object to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An array containing a set of DOM elements to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An existing jQuery object to clone. + /// + /// + }, +}); + diff --git a/GMW-RT/Scripts/jquery-1.8.2.js b/GMW-RT/Scripts/jquery-1.8.2.js new file mode 100644 index 00000000..12c7797f --- /dev/null +++ b/GMW-RT/Scripts/jquery-1.8.2.js @@ -0,0 +1,9440 @@ +/*! + * jQuery JavaScript Library v1.8.2 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time) + */ +(function( window, undefined ) { +var + // A central reference to the root jQuery(document) + rootjQuery, + + // The deferred used on DOM ready + readyList, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + navigator = window.navigator, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // Save a reference to some core methods + core_push = Array.prototype.push, + core_slice = Array.prototype.slice, + core_indexOf = Array.prototype.indexOf, + core_toString = Object.prototype.toString, + core_hasOwn = Object.prototype.hasOwnProperty, + core_trim = String.prototype.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, + + // Used for detecting and trimming whitespace + core_rnotwhite = /\S/, + core_rspace = /\s+/, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + rquickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // The ready event handler and self cleanup method + DOMContentLoaded = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + } else if ( document.readyState === "complete" ) { + // we're here because readyState === "complete" in oldIE + // which is good enough for us to call the dom ready! + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = ( context && context.nodeType ? context.ownerDocument || context : document ); + + // scripts is true for back-compat + selector = jQuery.parseHTML( match[1], doc, true ); + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + this.attr.call( selector, context, true ); + } + + 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.8.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 core_slice.call( this ); + }, + + // 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 = jQuery.merge( this.constructor(), 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 ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + eq: function( i ) { + i = +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( core_slice.apply( this, arguments ), + "slice", core_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: core_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 ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + 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, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // 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").off("ready"); + } + }, + + // 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"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ core_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; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + 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 || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // scripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, scripts ) { + var parsed; + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + scripts = context; + context = 0; + } + context = context || document; + + // Single tag + if ( (parsed = rsingleTag.exec( data )) ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] ); + return jQuery.merge( [], + (parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes ); + }, + + parseJSON: function( data ) { + if ( !data || typeof data !== "string") { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( 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, "")) ) { + + return ( new Function( "return " + data ) )(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + 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 ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && core_rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var name, + i = 0, + length = obj.length, + isObj = length === undefined || jQuery.isFunction( obj ); + + if ( args ) { + if ( isObj ) { + for ( name in obj ) { + if ( callback.apply( obj[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( obj[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in obj ) { + if ( callback.call( obj[ name ], name, obj[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var type, + ret = results || []; + + if ( arr != null ) { + // The window, strings (and functions) also have 'length' + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + type = jQuery.type( arr ); + + if ( arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( arr ) ) { + core_push.call( ret, arr ); + } else { + jQuery.merge( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; 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 retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; 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 value, key, + ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, 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, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, pass ) { + var exec, + bulk = key == null, + i = 0, + length = elems.length; + + // Sets many values + if ( key && typeof key === "object" ) { + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], 1, emptyGet, value ); + } + chainable = 1; + + // Sets one value + } else if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = pass === undefined && jQuery.isFunction( value ); + + if ( bulk ) { + // Bulk operations only iterate when executing function values + if ( exec ) { + exec = fn; + fn = function( elem, key, value ) { + return exec.call( jQuery( elem ), value ); + }; + + // Otherwise they run against the entire set + } else { + fn.call( elems, value ); + fn = null; + } + } + + if ( fn ) { + for (; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + } + + chainable = 1; + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready, 1 ); + + // Standards-based browsers support DOMContentLoaded + } else 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 { + // 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 top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.split( core_rspace ), function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) { + list.push( arg ); + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Control if a given callback is in the list + has: function( fn ) { + return jQuery.inArray( fn, list ) > -1; + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ]( jQuery.isFunction( fn ) ? + function() { + var returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + } : + newDefer[ action ] + ); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] = list.fire + deferred[ tuple[0] ] = list.fire; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, + all, + a, + select, + opt, + input, + fragment, + eventName, + i, + isSupported, + clickFn, + div = document.createElement("div"); + + // Preliminary tests + div.setAttribute( "className", "t" ); + div.innerHTML = "
a"; + + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Can't get basic test support + if ( !all || !all.length ) { + return {}; + } + + // First batch of supports tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + 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 instead) + style: /top/.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.5/.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, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Tests for enctype support on a form(#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: ( document.compatMode === "CSS1Compat" ), + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", clickFn = function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent("onclick"); + div.detachEvent( "onclick", clickFn ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + input.setAttribute( "checked", "checked" ); + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.lastChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + fragment.removeChild( input ); + fragment.appendChild( div ); + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // 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 ( div.attachEvent ) { + for ( i in { + submit: true, + change: true, + focusin: true + }) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Run tests that need a body at doc ready + jQuery(function() { + var container, div, tds, marginDiv, + divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px"; + body.insertBefore( container, body.firstChild ); + + // Construct the test element + div = document.createElement("div"); + container.appendChild( div ); + + // 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) + div.innerHTML = "
t
"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( 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) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // NOTE: To any future maintainer, we've window.getComputedStyle + // because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // 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 + marginDiv = document.createElement("div"); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== "undefined" ) { + // 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.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = "block"; + div.style.overflow = "visible"; + div.innerHTML = "
"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + container.style.zoom = 1; + } + + // Null elements to avoid leaks in IE + body.removeChild( container ); + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + fragment.removeChild( div ); + all = a = select = opt = input = fragment = div = null; + + return support; +})(); +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + deletedIds: [], + + // Remove at next major release (1.9/2.0) + 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 thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // 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[ internalKey ] : elem[ internalKey ] && internalKey; + + // 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 || !cache[id] || (!pvt && !cache[id].data)) && 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[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // 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 ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + 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 ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = 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 ) { + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attr = elem.attributes; + for ( l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split( ".", 2 ); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + data = this.triggerHandler( "getData" + part, [ parts[0] ] ); + + // Try to fetch any internally stored data first + if ( data === undefined && elem ) { + data = jQuery.data( elem, key ); + data = dataAttr( elem, key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } + + parts[1] = value; + this.each(function() { + var self = jQuery( this ); + + self.triggerHandler( "setData" + part, parts ); + jQuery.data( this, key, value ); + self.triggerHandler( "changeData" + part, parts ); + }); + }, null, value, arguments.length > 1, null, false ); + }, + + 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 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +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; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery.removeData( elem, type + "queue", true ); + jQuery.removeData( elem, key, true ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + 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( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, fixSpecified, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea|)$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( setClass.indexOf( " " + classNames[ c ] + " " ) < 0 ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var removes, className, elem, c, cl, i, l; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + if ( (value && typeof value === "string") || value === undefined ) { + removes = ( value || "" ).split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + if ( elem.nodeType === 1 && elem.className ) { + + className = (" " + elem.className + " ").replace( rclass, " " ); + + // loop over each item in the removal list + for ( c = 0, cl = removes.length; c < cl; c++ ) { + // Remove until there is nothing to remove, + while ( className.indexOf(" " + removes[ c ] + " ") >= 0 ) { + className = className.replace( " " + removes[ c ] + " " , " " ); + } + } + elem.className = value ? jQuery.trim( className ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, 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( core_rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated 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 + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // 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 + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // 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; + } + }, + select: { + get: function( elem ) { + var value, i, max, option, + 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 + i = one ? index : 0; + max = one ? index + 1 : options.length; + for ( ; i < max; i++ ) { + 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; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + // Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9 + attrFn: {}, + + attr: function( elem, name, value, pass ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, isBool, + i = 0; + + if ( value && elem.nodeType === 1 ) { + + attrNames = value.split( core_rspace ); + + for ( ; i < attrNames.length; i++ ) { + name = attrNames[ i ]; + + if ( name ) { + propName = jQuery.propFix[ name ] || name; + isBool = rboolean.test( name ); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if ( !isBool ) { + jQuery.attr( elem, name, "" ); + } + elem.removeAttribute( getSetAttribute ? name : propName ); + + // Set corresponding property to false for boolean attributes + if ( isBool && propName in elem ) { + elem[ propName ] = false; + } + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // 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/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + fixSpecified = { + name: true, + id: true, + coords: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && ( fixSpecified[ name ] ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return ( ret.value = value + "" ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:textarea|input|select)$/i, + rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/, + rhoverHack = /(?:^|\s)hover(\.\S+|)\b/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + hoverHack = function( events ) { + return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = jQuery.trim( hoverHack(types) ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = ( tns[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // 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 to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + 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, selector, mappedTypes ) { + + var t, tns, type, origType, namespaces, origCount, + j, events, special, eventType, handleObj, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = jQuery.trim( hoverHack( types || "" ) ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = origType = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + + // Remove matching events + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !namespaces || namespaces.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, "events", true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType, + type = event.type || event, + namespaces = []; + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem, true ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode; + for ( old = elem; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old === (elem.ownerDocument || document) ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + // Note that this is a bare JS function and not a jQuery handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related, + handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = core_slice.call( arguments ), + run_all = !event.exclusive && !event.namespace, + special = jQuery.event.special[ event.type ] || {}, + handlerQueue = []; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers that should run if there are delegated events + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !(event.button && event.type === "click") ) { + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + + // Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + selMatch = {}; + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + + if ( selMatch[ sel ] === undefined ) { + selMatch[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( selMatch[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( handlers.length > delegateCount ) { + handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) }); + } + + // Run delegates first; they may want to stop propagation beneath us + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + event.currentTarget = matched.elem; + + for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = matched.matches[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8) + event.metaKey = !!event.metaKey; + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + + 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; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // 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. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Some plugins are using, but it's undocumented/deprecated and will be removed. +// The 1.7 special event interface should provide all the hooks needed now. +jQuery.event.handle = jQuery.event.dispatch; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 – + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === "undefined" ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // 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; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.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 +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "_submit_attached" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "_submit_attached", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "_change_attached" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "_change_attached", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = 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; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +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 contextmenu").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.on( name, null, data, fn ) : + this.trigger( name ); + }; + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var cachedruns, + assertGetIdNotName, + Expr, + getText, + isXML, + contains, + compile, + sortOrder, + hasDuplicate, + outermostContext, + + baseHasDuplicate = true, + strundefined = "undefined", + + expando = ( "sizcache" + Math.random() ).replace( ".", "" ), + + Token = String, + document = window.document, + docElem = document.documentElement, + dirruns = 0, + done = 0, + pop = [].pop, + push = [].push, + slice = [].slice, + // Use a stripped-down indexOf if a native one is unavailable + indexOf = [].indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + // Augment a function for special use by Sizzle + markFunction = function( fn, value ) { + fn[ expando ] = value == null || value; + return fn; + }, + + createCache = function() { + var cache = {}, + keys = []; + + return markFunction(function( key, value ) { + // Only keep the most recent entries + if ( keys.push( key ) > Expr.cacheLength ) { + delete cache[ keys.shift() ]; + } + + return (cache[ key ] = value); + }, cache ); + }, + + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // Regex + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors) + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments not in parens/brackets, + // then attribute selectors and non-pseudos (denoted by :), + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)", + + // For matchExpr.POS and matchExpr.needsContext + pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, + + rnot = /^:not/, + rsibling = /[\x20\t\r\n\f]*[+~]/, + rendsWithNot = /:not\($/, + + rheader = /h\d/i, + rinputs = /input|select|textarea|button/i, + + rbackslash = /\\(?!\\)/g, + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "POS": new RegExp( pos, "i" ), + "CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" ) + }, + + // Support + + // Used for testing something on an element + assert = function( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } + }, + + // Check if getElementsByTagName("*") returns only elements + assertTagNameNoComments = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }), + + // Check if getAttribute returns normalized href attributes + assertHrefNotNormalized = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }), + + // Check if attributes should be retrieved by attribute nodes + assertAttributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }), + + // Check if getElementsByClassName can be trusted + assertUsableClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }), + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + assertUsableName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "
"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = document.getElementsByName && + // buggy browsers will return fewer than the correct 2 + document.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + document.getElementsByName( expando + 0 ).length; + assertGetIdNotName = !document.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + +// If slice is not available, provide a backup +try { + slice.call( docElem.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + for ( ; (elem = this[i]); i++ ) { + results.push( elem ); + } + return results; + }; +} + +function Sizzle( selector, context, results, seed ) { + results = results || []; + context = context || document; + var match, elem, xml, m, + nodeType = context.nodeType; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( nodeType !== 1 && nodeType !== 9 ) { + return []; + } + + xml = isXML( context ); + + if ( !xml && !seed ) { + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // 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, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed, xml ); +} + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + return Sizzle( expr, null, null, [ elem ] ).length > 0; +}; + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + } else { + + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } + return ret; +}; + +isXML = 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).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Element contains another +contains = Sizzle.contains = docElem.contains ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) ); + } : + docElem.compareDocumentPosition ? + function( a, b ) { + return b && !!( a.compareDocumentPosition( b ) & 16 ); + } : + function( a, b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + return false; + }; + +Sizzle.attr = function( elem, name ) { + var val, + xml = isXML( elem ); + + if ( !xml ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( xml || assertAttributes ) { + return elem.getAttribute( name ); + } + val = elem.getAttributeNode( name ); + return val ? + typeof elem[ name ] === "boolean" ? + elem[ name ] ? name : null : + val.specified ? val.value : null : + null; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + // IE6/7 return a modified href + attrHandle: assertHrefNotNormalized ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }, + + find: { + "ID": assertGetIdNotName ? + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + } : + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }, + + "TAG": assertTagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + var elem, + tmp = [], + i = 0; + + for ( ; (elem = results[i]); i++ ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }, + + "NAME": assertUsableName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }, + + "CLASS": assertUsableClassName && function( className, context, xml ) { + if ( typeof context.getElementsByClassName !== strundefined && !xml ) { + return context.getElementsByClassName( className ); + } + } + }, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( rbackslash, "" ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 3 xn-component of xn+y argument ([+-]?\d*n|) + 4 sign of xn-component + 5 x of xn-component + 6 sign of y-component + 7 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1] === "nth" ) { + // nth-child requires argument + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) ); + match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" ); + + // other types prohibit arguments + } else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var unquoted, excess; + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + if ( match[3] ) { + match[2] = match[3]; + } else if ( (unquoted = match[4]) ) { + // Only check arguments that contain a pseudo + if ( rpseudo.test(unquoted) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + unquoted = unquoted.slice( 0, excess ); + match[0] = match[0].slice( 0, excess ); + } + match[2] = unquoted; + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + "ID": assertGetIdNotName ? + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + return elem.getAttribute("id") === id; + }; + } : + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === id; + }; + }, + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + nodeName = nodeName.replace( rbackslash, "" ).toLowerCase(); + + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ expando ][ className ]; + if ( !pattern ) { + pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") ); + } + return function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }; + }, + + "ATTR": function( name, operator, check ) { + return function( elem, context ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.substr( result.length - check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, argument, first, last ) { + + if ( type === "nth" ) { + return function( elem ) { + var node, diff, + parent = elem.parentNode; + + if ( first === 1 && last === 0 ) { + return true; + } + + if ( parent ) { + diff = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + diff++; + if ( elem === node ) { + break; + } + } + } + } + + // Incorporate the offset (or cast to NaN), then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + }; + } + + return function( elem ) { + var 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; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "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 !Expr.pseudos["empty"]( elem ); + }, + + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + var nodeType; + elem = elem.firstChild; + while ( elem ) { + if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) { + return false; + } + elem = elem.nextSibling; + } + return true; + }, + + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "text": function( elem ) { + var type, attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + (type = elem.type) === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type ); + }, + + // Input types + "radio": createInputPseudo("radio"), + "checkbox": createInputPseudo("checkbox"), + "file": createInputPseudo("file"), + "password": createInputPseudo("password"), + "image": createInputPseudo("image"), + + "submit": createButtonPseudo("submit"), + "reset": createButtonPseudo("reset"), + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "focus": function( elem ) { + var doc = elem.ownerDocument; + return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href); + }, + + "active": function( elem ) { + return elem === elem.ownerDocument.activeElement; + }, + + // Positional types + "first": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 0; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 1; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +function siblingCheck( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; +} + +sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + return ( !a.compareDocumentPosition || !b.compareDocumentPosition ? + a.compareDocumentPosition : + a.compareDocumentPosition(b) & 4 + ) ? -1 : 1; + } : + function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + 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 ); + }; + +// Always assume the presence of duplicates if sort doesn't +// pass them to our comparison function (as in Google Chrome). +[0, 0].sort( sortOrder ); +baseHasDuplicate = !hasDuplicate; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + i = 1; + + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + + return results; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, soFar, groups, preFilters, + cached = tokenCache[ expando ][ selector ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + soFar = soFar.slice( match[0].length ); + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + + // Cast descendant combinators to space + matched.type = match[0].replace( rtrim, " " ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + // The last two arguments here are (context, xml) for backCompat + (match = preFilters[ type ]( match, document, true ))) ) { + + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + matched.type = type; + matched.matches = match; + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && combinator.dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( !xml ) { + var cache, + dirkey = dirruns + " " + doneName + " ", + cachedkey = dirkey + cachedruns; + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( (cache = elem[ expando ]) === cachedkey ) { + return elem.sizset; + } else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) { + if ( elem.sizset ) { + return elem; + } + } else { + elem[ expando ] = cachedkey; + if ( matcher( elem, context, xml ) ) { + elem.sizset = true; + return elem; + } + elem.sizset = false; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( matcher( elem, context, xml ) ) { + return elem; + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones + if ( seed && postFinder ) { + return; + } + + var i, elem, postFilterIn, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + postFilterIn = condense( matcherOut, postMap ); + postFilter( postFilterIn, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = postFilterIn.length; + while ( i-- ) { + if ( (elem = postFilterIn[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + // Keep seed and results synchronized + if ( seed ) { + // Ignore postFinder because it can't coexist with seed + i = preFilter && matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + seed[ preMap[i] ] = !(results[ preMap[i] ] = elem); + } + } + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + // The concatenated values are (context, xml) for backCompat + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && tokens.join("") + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Nested matchers should use non-integer dirruns + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = superMatcher.el; + } + + // Add elements passing elementMatchers directly to results + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + for ( j = 0; (matcher = elementMatchers[j]); j++ ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++superMatcher.el; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + for ( j = 0; (matcher = setMatchers[j]); j++ ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + superMatcher.el = 0; + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ expando ][ selector ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results, seed ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results, seed ); + } + return results; +} + +function select( selector, context, results, seed, xml ) { + var i, tokens, token, type, find, + match = tokenize( selector ), + j = match.length; + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !xml && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().length ); + } + + // Fetch a seed set for right-to-left matching + for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( rbackslash, "" ), + rsibling.test( tokens[0].type ) && context.parentNode || context, + xml + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && tokens.join(""); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + xml, + results, + rsibling.test( selector ) + ); + return results; +} + +if ( document.querySelectorAll ) { + (function() { + var disconnectedMatch, + oldSelect = select, + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // qSa(:focus) reports false when true (Chrome 21), + // A support test would require too much code (would include document ready) + rbuggyQSA = [":focus"], + + // matchesSelector(:focus) reports false when true (Chrome 21), + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + // A support test would require too much code (would include document ready) + // just skip matchesSelector for :active + rbuggyMatches = [ ":active", ":focus" ], + matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here (do not put tests after this one) + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE9 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "

"; + if ( div.querySelectorAll("[test^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here (do not put tests after this one) + div.innerHTML = ""; + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push(":enabled", ":disabled"); + } + }); + + // rbuggyQSA always contains :focus, so no need for a length check + rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") ); + + select = function( selector, context, results, seed, xml ) { + // Only use querySelectorAll when not filtering, + // when this is not xml, + // and when no QSA bugs apply + if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + var groups, i, + old = true, + nid = expando, + newContext = context, + newSelector = context.nodeType === 9 && selector; + + // 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 + if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + groups[i].join(""); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + + return oldSelect( selector, context, results, seed, xml ); + }; + + if ( matches ) { + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + try { + matches.call( div, "[test!='']:sizzle" ); + rbuggyMatches.push( "!=", pseudos ); + } catch ( e ) {} + }); + + // rbuggyMatches always contains :active and :focus, so no need for a length check + rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") ); + + Sizzle.matchesSelector = function( elem, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyMatches always contains :active, so no need for an existence check + if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) { + try { + var ret = matches.call( elem, 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 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, null, null, [ elem ] ).length > 0; + }; + } + })(); +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Back-compat +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // 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 i, l, length, n, r, ret, + self = this; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + ret = this.pushStack( "", "find", selector ); + + for ( 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 ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; 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 && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + 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 ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // 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 && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +// 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; +} + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +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 sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "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.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + 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 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, core_slice.call( arguments ).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; + }, + + 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 ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + 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; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /]", "i"), + rcheckableType = /^(?:checkbox|radio)$/, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*\s*$/g, + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, +// unless wrapped in a div with non-breaking characters in front of it. +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "X
", "
" ]; +} + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( set, this ), "before", this.selector ); + } + }, + + after: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( this, set ), "after", this.selector ); + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName( "*" ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + if ( !isDisconnected( this[0] ) ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery( value ).detach(); + } + + return this.each(function() { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery( this ).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } + + return this.length ? + this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : + this; + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = [].concat.apply( [], args ); + + var results, first, fragment, iNoClone, + i = 0, + value = args[0], + scripts = [], + l = this.length; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call( this, i, table ? self.html() : undefined ); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + results = jQuery.buildFragment( args, this, scripts ); + fragment = results.fragment; + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + // Fragments from the fragment cache must always be cloned and never used in place. + for ( iNoClone = results.cacheable || l - 1; i < l; i++ ) { + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + i === iNoClone ? + fragment : + jQuery.clone( fragment, true, true ) + ); + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + + if ( scripts.length ) { + jQuery.each( scripts, function( i, elem ) { + if ( elem.src ) { + if ( jQuery.ajax ) { + jQuery.ajax({ + url: elem.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.error("no ajax"); + } + } else { + jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + }); + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function cloneFixAttributes( src, dest ) { + var nodeName; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + // clearAttributes removes the attributes, which we don't want, + // but also removes the attachEvent events, which we *do* want + if ( dest.clearAttributes ) { + dest.clearAttributes(); + } + + // mergeAttributes, in contrast, only merges back on the + // original attributes, not the events + if ( dest.mergeAttributes ) { + dest.mergeAttributes( src ); + } + + nodeName = dest.nodeName.toLowerCase(); + + if ( nodeName === "object" ) { + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + + // IE blanks contents when cloning scripts + } else if ( nodeName === "script" && dest.text !== src.text ) { + dest.text = src.text; + } + + // Event data gets referenced instead of copied if the expando + // gets copied too + dest.removeAttribute( jQuery.expando ); +} + +jQuery.buildFragment = function( args, context, scripts ) { + var fragment, cacheable, cachehit, + first = args[ 0 ]; + + // Set context from what may come in as undefined or a jQuery collection or a node + // Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 & + // also doubles as fix for #8950 where plain objects caused createDocumentFragment exception + context = context || document; + context = !context.nodeType && context[0] || context; + context = context.ownerDocument || context; + + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put or elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501 + if ( args.length === 1 && typeof first === "string" && first.length < 512 && context === document && + first.charAt(0) === "<" && !rnocache.test( first ) && + (jQuery.support.checkClone || !rchecked.test( first )) && + (jQuery.support.html5Clone || !rnoshimcache.test( first )) ) { + + // Mark cacheable and look for a hit + cacheable = true; + fragment = jQuery.fragments[ first ]; + cachehit = fragment !== undefined; + } + + if ( !fragment ) { + fragment = context.createDocumentFragment(); + jQuery.clean( args, context, fragment, scripts ); + + // Update the cache, but only store false + // unless this is a second parsing of the same content + if ( cacheable ) { + jQuery.fragments[ first ] = cachehit && fragment; + } + } + + return { fragment: fragment, cacheable: cacheable }; +}; + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) { + insert[ original ]( this[0] ); + return this; + } else { + for ( ; i < l; i++ ) { + elems = ( i > 0 ? this.clone(true) : this ).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +function getAll( elem ) { + if ( typeof elem.getElementsByTagName !== "undefined" ) { + return elem.getElementsByTagName( "*" ); + + } else if ( typeof elem.querySelectorAll !== "undefined" ) { + return elem.querySelectorAll( "*" ); + + } else { + return []; + } +} + +// Used in clean, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var srcElements, + destElements, + i, + clone; + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + // IE copies events bound via attachEvent when using cloneNode. + // Calling detachEvent on the clone will also remove the events + // from the original. In order to get around this, we use some + // proprietary methods to clear the events. Thanks to MooTools + // guys for this hotness. + + cloneFixAttributes( elem, clone ); + + // Using Sizzle here is crazy slow, so we use getElementsByTagName instead + srcElements = getAll( elem ); + destElements = getAll( clone ); + + // Weird iteration because IE will replace the length property + // with an element if you are cloning the body and one of the + // elements on the page has a name or id of "length" + for ( i = 0; srcElements[i]; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + cloneFixAttributes( srcElements[i], destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + cloneCopyEvent( elem, clone ); + + if ( deepDataAndEvents ) { + srcElements = getAll( elem ); + destElements = getAll( clone ); + + for ( i = 0; srcElements[i]; ++i ) { + cloneCopyEvent( srcElements[i], destElements[i] ); + } + } + } + + srcElements = destElements = null; + + // Return the cloned set + return clone; + }, + + clean: function( elems, context, fragment, scripts ) { + var i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags, + safe = context === document && safeFragment, + ret = []; + + // Ensure that context is a document + if ( !context || typeof context.createDocumentFragment === "undefined" ) { + context = document; + } + + // Use the already-created safe fragment if context permits + for ( i = 0; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" ) { + if ( !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + } else { + // Ensure a safe container in which to render the html + safe = safe || createSafeFragment( context ); + div = context.createElement("div"); + safe.appendChild( div ); + + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); + + // Go to html and back, then peel off extra wrappers + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + depth = wrap[0]; + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + hasBody = rtbody.test(elem); + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare or + wrap[1] === "
" && !hasBody ? + div.childNodes : + []; + + for ( j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + + // Take out of fragment container (we need a fresh div each time) + div.parentNode.removeChild( div ); + } + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + jQuery.merge( ret, elem ); + } + } + + // Fix #11356: Clear elements from safeFragment + if ( div ) { + elem = div = safe = null; + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + for ( i = 0; (elem = ret[i]) != null; i++ ) { + if ( jQuery.nodeName( elem, "input" ) ) { + fixDefaultChecked( elem ); + } else if ( typeof elem.getElementsByTagName !== "undefined" ) { + jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked ); + } + } + } + + // Append elements to a provided document fragment + if ( fragment ) { + // Special handling of each script element + handleScript = function( elem ) { + // Check if we consider it executable + if ( !elem.type || rscriptType.test( elem.type ) ) { + // Detach the script and store it in the scripts array (if provided) or the fragment + // Return truthy to indicate that it has been handled + return scripts ? + scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) : + fragment.appendChild( elem ); + } + }; + + for ( i = 0; (elem = ret[i]) != null; i++ ) { + // Check if we're done after handling an executable script + if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) { + // Append to fragment and handle embedded scripts + fragment.appendChild( elem ); + if ( typeof elem.getElementsByTagName !== "undefined" ) { + // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration + jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript ); + + // Splice the scripts into ret after their former ancestor and advance our index beyond them + ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); + i += jsTags.length; + } + } + } + } + + return ret; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var data, id, elem, type, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // 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 ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + jQuery.deletedIds.push( id ); + } + } + } + } + } +}); +// Limit scope pollution from any deprecated API +(function() { + +var matched, browser; + +// Use of jQuery.browser is frowned upon. +// More details: http://api.jquery.com/jQuery.browser +// jQuery.uaMatch maintained for back-compat +jQuery.uaMatch = function( ua ) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; +}; + +matched = jQuery.uaMatch( navigator.userAgent ); +browser = {}; + +if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; +} + +// Chrome is Webkit, but Webkit is also Safari. +if ( browser.chrome ) { + browser.webkit = true; +} else if ( browser.webkit ) { + browser.safari = true; +} + +jQuery.browser = browser; + +jQuery.sub = function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; +}; + +})(); +var curCSS, iframe, iframeDoc, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity=([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ), + elemdisplay = {}, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ], + + eventsToggle = jQuery.fn.toggle; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var elem, display, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + values[ index ] = jQuery._data( elem, "olddisplay" ); + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && elem.style.display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + display = curCSS( elem, "display" ); + + if ( !values[ index ] && display !== "none" ) { + jQuery._data( elem, "olddisplay", display ); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state, fn2 ) { + var bool = typeof state === "boolean"; + + if ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) { + return eventsToggle.apply( this, arguments ); + } + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, numeric, extra ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( numeric || extra !== undefined ) { + num = parseFloat( val ); + return numeric || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: To any future maintainer, we've window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + curCSS = function( elem, name ) { + var ret, width, minWidth, maxWidth, + computed = window.getComputedStyle( elem, null ), + style = elem.style; + + if ( computed ) { + + ret = computed[ name ]; + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + curCSS = function( elem, name ) { + var left, rsLeft, + ret = elem.currentStyle && elem.currentStyle[ name ], + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rsLeft = elem.runtimeStyle && elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + elem.runtimeStyle.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + elem.runtimeStyle.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + // we use jQuery.css instead of curCSS here + // because of the reliableMarginRight CSS hook! + val += jQuery.css( elem, extra + cssExpand[ i ], true ); + } + + // From this point on we use curCSS for maximum performance (relevant in animations) + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } else { + // at this point, extra isn't content, so add padding + val += parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + valueIsBorderBox = true, + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox + ) + ) + "px"; +} + + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + if ( elemdisplay[ nodeName ] ) { + return elemdisplay[ nodeName ]; + } + + var elem = jQuery( "<" + nodeName + ">" ).appendTo( document.body ), + display = elem.css("display"); + elem.remove(); + + // If the simple way fails, + // get element's real default display by attaching it to a temp iframe + if ( display === "none" || display === "" ) { + // Use the already-created iframe if possible + iframe = document.body.appendChild( + iframe || jQuery.extend( document.createElement("iframe"), { + frameBorder: 0, + width: 0, + height: 0 + }) + ); + + // Create a cacheable copy of the iframe document on first call. + // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML + // document to it; WebKit & Firefox won't allow reusing the iframe document. + if ( !iframeDoc || !iframe.createElement ) { + iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document; + iframeDoc.write(""); + iframeDoc.close(); + } + + elem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) ); + + display = curCSS( elem, "display" ); + document.body.removeChild( iframe ); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + if ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, "display" ) ) ) { + return jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }); + } else { + return getWidthOrHeight( elem, name, extra ); + } + } + }, + + set: function( elem, value, extra ) { + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box" + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there there is no filter style applied in a css rule, we are done + if ( currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, function() { + if ( computed ) { + return curCSS( elem, "marginRight" ); + } + }); + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + var ret = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + "px" : ret; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + return ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ], + expanded = {}; + + for ( i = 0; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + rselectTextarea = /^(?:select|textarea)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + return this.elements ? jQuery.makeArray( this.elements ) : this; + }) + .filter(function(){ + return this.name && !this.disabled && + ( this.checked || rselectTextarea.test( this.nodeName ) || + rinput.test( this.type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val, i ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +var + // Document location + ajaxLocParts, + ajaxLocation, + + rhash = /#.*$/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rquery = /\?/, + rscript = /)<[^<]*)*<\/script>/gi, + rts = /([?&])_=[^&]*/, + rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = ["*/"] + ["*"]; + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, list, placeBefore, + dataTypes = dataTypeExpression.toLowerCase().split( core_rspace ), + i = 0, + length = dataTypes.length; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + for ( ; i < length; i++ ) { + dataType = dataTypes[ i ]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test( dataType ); + if ( placeBefore ) { + dataType = dataType.substr( 1 ) || "*"; + } + list = structure[ dataType ] = structure[ dataType ] || []; + // then we add to the structure accordingly + list[ placeBefore ? "unshift" : "push" ]( func ); + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, + dataType /* internal */, inspected /* internal */ ) { + + dataType = dataType || options.dataTypes[ 0 ]; + inspected = inspected || {}; + + inspected[ dataType ] = true; + + var selection, + list = structure[ dataType ], + i = 0, + length = list ? list.length : 0, + executeOnly = ( structure === prefilters ); + + for ( ; i < length && ( executeOnly || !selection ); i++ ) { + selection = list[ i ]( options, originalOptions, jqXHR ); + // If we got redirected to another dataType + // we try there if executing only and not done already + if ( typeof selection === "string" ) { + if ( !executeOnly || inspected[ selection ] ) { + selection = undefined; + } else { + options.dataTypes.unshift( selection ); + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, selection, inspected ); + } + } + } + // If we're only executing or nothing was selected + // we try the catchall dataType if not done already + if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) { + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, "*", inspected ); + } + // unnecessary when only executing (prefilters) + // but it'll be ignored by the caller in that case + return selection; +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + // Don't do a request if no elements are being requested + if ( !this.length ) { + return this; + } + + var selector, type, response, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // Request the remote document + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params, + complete: function( jqXHR, status ) { + if ( callback ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + } + } + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + // See if a selector was specified + self.html( selector ? + + // Create a dummy div to hold the results + jQuery("
") + + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append( responseText.replace( rscript, "" ) ) + + // Locate the specified elements + .find( selector ) : + + // If not, just inject the full result + responseText ); + + }); + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){ + jQuery.fn[ o ] = function( f ){ + return this.on( o, f ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; +}); + +jQuery.extend({ + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + if ( settings ) { + // Building a settings object + ajaxExtend( target, jQuery.ajaxSettings ); + } else { + // Extending ajaxSettings + settings = target; + target = jQuery.ajaxSettings; + } + ajaxExtend( target, settings ); + return target; + }, + + ajaxSettings: { + url: ajaxLocation, + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + processData: true, + async: true, + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": allTypes + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // List of data converters + // 1) key format is "source_type destination_type" (a single space in-between) + // 2) the catchall symbol "*" can be used for source_type + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + context: true, + url: true + } + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // ifModified key + ifModifiedKey, + // Response headers + responseHeadersString, + responseHeaders, + // transport + transport, + // timeout handle + timeoutTimer, + // Cross-domain detection vars + parts, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? + jQuery( callbackContext ) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + + readyState: 0, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( !state ) { + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + statusText = statusText || strAbort; + if ( transport ) { + transport.abort( statusText ); + } + done( 0, statusText ); + return this; + } + }; + + // Callback for when everything is done + // It is defined here because jslint complains if it is declared + // at the end of the function (which would be more logical and readable) + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ ifModifiedKey ] = modified; + } + modified = jqXHR.getResponseHeader("Etag"); + if ( modified ) { + jQuery.etag[ ifModifiedKey ] = modified; + } + } + + // If not modified + if ( status === 304 ) { + + statusText = "notmodified"; + isSuccess = true; + + // If we have data + } else { + + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( !statusText || status ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + // Attach deferreds + deferred.promise( jqXHR ); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.add; + + // Status-dependent callbacks + jqXHR.statusCode = function( map ) { + if ( map ) { + var tmp; + if ( state < 2 ) { + for ( tmp in map ) { + statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; + } + } else { + tmp = map[ jqXHR.status ]; + jqXHR.always( tmp ); + } + } + return this; + }; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // We also use the url parameter if available + s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace ); + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ) || false; + s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !== + ( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + + // Add anti-cache in url if needed + if ( s.cache === false ) { + + var ts = jQuery.now(), + // try replacing _= if it is there + ret = s.url.replace( rts, "$1_=" + ts ); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + ifModifiedKey = ifModifiedKey || s.url; + if ( jQuery.lastModified[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); + } + if ( jQuery.etag[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); + } + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout( function(){ + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch (e) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + return jqXHR; + }, + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {} + +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "content-type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + + var conv, conv2, current, tmp, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ], + converters = {}, + i = 0; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +var oldCallbacks = [], + rquestion = /\?/, + rjsonp = /(=)\?(?=&|$)|\?\?/, + nonce = jQuery.now(); + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + data = s.data, + url = s.url, + hasCallback = s.jsonp !== false, + replaceInUrl = hasCallback && rjsonp.test( url ), + replaceInData = hasCallback && !replaceInUrl && typeof data === "string" && + !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && + rjsonp.test( data ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( s.dataTypes[ 0 ] === "jsonp" || replaceInUrl || replaceInData ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + overwritten = window[ callbackName ]; + + // Insert callback into url or form data + if ( replaceInUrl ) { + s.url = url.replace( rjsonp, "$1" + callbackName ); + } else if ( replaceInData ) { + s.data = data.replace( rjsonp, "$1" + callbackName ); + } else if ( hasCallback ) { + s.url += ( rquestion.test( url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement( "script" ); + + script.async = "async"; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( head && script.parentNode ) { + head.removeChild( script ); + } + + // Dereference the script + script = undefined; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( 0, 1 ); + } + } + }; + } +}); +var xhrCallbacks, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject ? function() { + // Abort all pending requests + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( 0, 1 ); + } + } : false, + xhrId = 0; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +(function( xhr ) { + jQuery.extend( jQuery.support, { + ajax: !!xhr, + cors: !!xhr && ( "withCredentials" in xhr ) + }); +})( jQuery.ajaxSettings.xhr() ); + +// Create transport if the browser can provide an xhr +if ( jQuery.support.ajax ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( _ ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + + var status, + statusText, + responseHeaders, + responses, + xml; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + responses = {}; + xml = xhr.responseXML; + + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + try { + responses.text = xhr.responseText; + } catch( _ ) { + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback, 0 ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback(0,1); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1, + maxIterations = 20; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }, 0 ); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + index = 0, + tweenerIndex = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + percent = 1 - ( remaining / animation.duration || 0 ), + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end, easing ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + anim: animation, + queue: animation.opts.queue, + elem: elem + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + var index, prop, value, length, dataShow, tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.done(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery.removeData( elem, "fxshow", true ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing any value as a 4th parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, false, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + ( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations resolve immediately + if ( empty ) { + anim.stop( true ); + } + }; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth? 1 : 0; + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) && !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +var rroot = /^(?:body|html)$/i; + +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + if ( (body = doc.body) === elem ) { + return jQuery.offset.bodyOffset( elem ); + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== "undefined" ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + clientTop = docElem.clientTop || body.clientTop || 0; + clientLeft = docElem.clientLeft || body.clientLeft || 0; + scrollTop = win.pageYOffset || docElem.scrollTop; + scrollLeft = win.pageXOffset || docElem.scrollLeft; + return { + top: box.top + scrollTop - clientTop, + left: box.left + scrollLeft - clientLeft + }; +}; + +jQuery.offset = { + + bodyOffset: function( body ) { + var top = body.offsetTop, + left = body.offsetLeft; + + if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.css(body, "marginTop") ) || 0; + left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[0] ) { + return; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; + offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; + parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.body; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, value, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); diff --git a/GMW-RT/Scripts/jquery-1.8.2.min.js b/GMW-RT/Scripts/jquery-1.8.2.min.js new file mode 100644 index 00000000..bc3fbc81 --- /dev/null +++ b/GMW-RT/Scripts/jquery-1.8.2.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/GMW-RT/Scripts/jquery.signalR-2.0.3.js b/GMW-RT/Scripts/jquery.signalR-2.0.3.js new file mode 100644 index 00000000..6bbfc149 --- /dev/null +++ b/GMW-RT/Scripts/jquery.signalR-2.0.3.js @@ -0,0 +1,2693 @@ +/* jquery.signalR.core.js */ +/*global window:false */ +/*! + * ASP.NET SignalR JavaScript Library v2.0.3 + * http://signalr.net/ + * + * Copyright (C) Microsoft Corporation. All rights reserved. + * + */ + +/// +/// +(function ($, window, undefined) { + "use strict"; + + var resources = { + nojQuery: "jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.", + noTransportOnInit: "No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.", + errorOnNegotiate: "Error during negotiation request.", + stoppedWhileLoading: "The connection was stopped during page load.", + stoppedWhileNegotiating: "The connection was stopped during the negotiate request.", + errorParsingNegotiateResponse: "Error parsing negotiate response.", + protocolIncompatible: "You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.", + sendFailed: "Send failed.", + parseFailed: "Failed at parsing response: {0}", + longPollFailed: "Long polling request failed.", + eventSourceFailedToConnect: "EventSource failed to connect.", + eventSourceError: "Error raised by EventSource", + webSocketClosed: "WebSocket closed.", + pingServerFailedInvalidResponse: "Invalid ping response when pinging server: '{0}'.", + pingServerFailed: "Failed to ping server.", + pingServerFailedStatusCode: "Failed to ping server. Server responded with status code {0}, stopping the connection.", + pingServerFailedParse: "Failed to parse ping server response, stopping the connection.", + noConnectionTransport: "Connection is in an invalid state, there is no transport active.", + webSocketsInvalidState: "The Web Socket transport is in an invalid state, transitioning into reconnecting." + }; + + if (typeof ($) !== "function") { + // no jQuery! + throw new Error(resources.nojQuery); + } + + var signalR, + _connection, + _pageLoaded = (window.document.readyState === "complete"), + _pageWindow = $(window), + _negotiateAbortText = "__Negotiate Aborted__", + events = { + onStart: "onStart", + onStarting: "onStarting", + onReceived: "onReceived", + onError: "onError", + onConnectionSlow: "onConnectionSlow", + onReconnecting: "onReconnecting", + onReconnect: "onReconnect", + onStateChanged: "onStateChanged", + onDisconnect: "onDisconnect" + }, + ajaxDefaults = { + processData: true, + timeout: null, + async: true, + global: false, + cache: false + }, + log = function (msg, logging) { + if (logging === false) { + return; + } + var m; + if (typeof (window.console) === "undefined") { + return; + } + m = "[" + new Date().toTimeString() + "] SignalR: " + msg; + if (window.console.debug) { + window.console.debug(m); + } else if (window.console.log) { + window.console.log(m); + } + }, + + changeState = function (connection, expectedState, newState) { + if (expectedState === connection.state) { + connection.state = newState; + + $(connection).triggerHandler(events.onStateChanged, [{ oldState: expectedState, newState: newState }]); + return true; + } + + return false; + }, + + isDisconnecting = function (connection) { + return connection.state === signalR.connectionState.disconnected; + }, + + configureStopReconnectingTimeout = function (connection) { + var stopReconnectingTimeout, + onReconnectTimeout; + + // Check if this connection has already been configured to stop reconnecting after a specified timeout. + // Without this check if a connection is stopped then started events will be bound multiple times. + if (!connection._.configuredStopReconnectingTimeout) { + onReconnectTimeout = function (connection) { + connection.log("Couldn't reconnect within the configured timeout (" + connection.disconnectTimeout + "ms), disconnecting."); + connection.stop(/* async */ false, /* notifyServer */ false); + }; + + connection.reconnecting(function () { + var connection = this; + + // Guard against state changing in a previous user defined even handler + if (connection.state === signalR.connectionState.reconnecting) { + stopReconnectingTimeout = window.setTimeout(function () { onReconnectTimeout(connection); }, connection.disconnectTimeout); + } + }); + + connection.stateChanged(function (data) { + if (data.oldState === signalR.connectionState.reconnecting) { + // Clear the pending reconnect timeout check + window.clearTimeout(stopReconnectingTimeout); + } + }); + + connection._.configuredStopReconnectingTimeout = true; + } + }; + + signalR = function (url, qs, logging) { + /// Creates a new SignalR connection for the given url + /// The URL of the long polling endpoint + /// + /// [Optional] Custom querystring parameters to add to the connection URL. + /// If an object, every non-function member will be added to the querystring. + /// If a string, it's added to the QS as specified. + /// + /// + /// [Optional] A flag indicating whether connection logging is enabled to the browser + /// console/log. Defaults to false. + /// + + return new signalR.fn.init(url, qs, logging); + }; + + signalR._ = { + defaultContentType: "application/x-www-form-urlencoded; charset=UTF-8", + + ieVersion: (function () { + var version, + matches; + + if (window.navigator.appName === 'Microsoft Internet Explorer') { + // Check if the user agent has the pattern "MSIE (one or more numbers).(one or more numbers)"; + matches = /MSIE ([0-9]+\.[0-9]+)/.exec(window.navigator.userAgent); + + if (matches) { + version = window.parseFloat(matches[1]); + } + } + + // undefined value means not IE + return version; + })(), + + error: function (message, source, context) { + var e = new Error(message); + e.source = source; + + if (typeof context !== "undefined") { + e.context = context; + } + + return e; + }, + + transportError: function (message, transport, source, context) { + var e = this.error(message, source, context); + e.transport = transport ? transport.name : undefined; + return e; + }, + + format: function () { + /// Usage: format("Hi {0}, you are {1}!", "Foo", 100) + var s = arguments[0]; + for (var i = 0; i < arguments.length - 1; i++) { + s = s.replace("{" + i + "}", arguments[i + 1]); + } + return s; + }, + + firefoxMajorVersion: function (userAgent) { + // Firefox user agents: http://useragentstring.com/pages/Firefox/ + var matches = userAgent.match(/Firefox\/(\d+)/); + if (!matches || !matches.length || matches.length < 2) { + return 0; + } + return parseInt(matches[1], 10 /* radix */); + }, + + configurePingInterval: function (connection) { + var config = connection._.config, + onFail = function (error) { + $(connection).triggerHandler(events.onError, [error]); + }; + + if (config && !connection._.pingIntervalId && config.pingInterval) { + connection._.pingIntervalId = window.setInterval(function () { + signalR.transports._logic.pingServer(connection).fail(onFail); + }, config.pingInterval); + } + } + }; + + signalR.events = events; + + signalR.resources = resources; + + signalR.ajaxDefaults = ajaxDefaults; + + signalR.changeState = changeState; + + signalR.isDisconnecting = isDisconnecting; + + signalR.connectionState = { + connecting: 0, + connected: 1, + reconnecting: 2, + disconnected: 4 + }; + + signalR.hub = { + start: function () { + // This will get replaced with the real hub connection start method when hubs is referenced correctly + throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. ."); + } + }; + + _pageWindow.load(function () { _pageLoaded = true; }); + + function validateTransport(requestedTransport, connection) { + /// Validates the requested transport by cross checking it with the pre-defined signalR.transports + /// The designated transports that the user has specified. + /// The connection that will be using the requested transports. Used for logging purposes. + /// + + if ($.isArray(requestedTransport)) { + // Go through transport array and remove an "invalid" tranports + for (var i = requestedTransport.length - 1; i >= 0; i--) { + var transport = requestedTransport[i]; + if ($.type(transport) !== "string" || !signalR.transports[transport]) { + connection.log("Invalid transport: " + transport + ", removing it from the transports list."); + requestedTransport.splice(i, 1); + } + } + + // Verify we still have transports left, if we dont then we have invalid transports + if (requestedTransport.length === 0) { + connection.log("No transports remain within the specified transport array."); + requestedTransport = null; + } + } else if (!signalR.transports[requestedTransport] && requestedTransport !== "auto") { + connection.log("Invalid transport: " + requestedTransport.toString() + "."); + requestedTransport = null; + } else if (requestedTransport === "auto" && signalR._.ieVersion <= 8) { + // If we're doing an auto transport and we're IE8 then force longPolling, #1764 + return ["longPolling"]; + + } + + return requestedTransport; + } + + function getDefaultPort(protocol) { + if (protocol === "http:") { + return 80; + } else if (protocol === "https:") { + return 443; + } + } + + function addDefaultPort(protocol, url) { + // Remove ports from url. We have to check if there's a / or end of line + // following the port in order to avoid removing ports such as 8080. + if (url.match(/:\d+$/)) { + return url; + } else { + return url + ":" + getDefaultPort(protocol); + } + } + + function ConnectingMessageBuffer(connection, drainCallback) { + var that = this, + buffer = []; + + that.tryBuffer = function (message) { + if (connection.state === $.signalR.connectionState.connecting) { + buffer.push(message); + + return true; + } + + return false; + }; + + that.drain = function () { + // Ensure that the connection is connected when we drain (do not want to drain while a connection is not active) + if (connection.state === $.signalR.connectionState.connected) { + while (buffer.length > 0) { + drainCallback(buffer.shift()); + } + } + }; + + that.clear = function () { + buffer = []; + }; + } + + signalR.fn = signalR.prototype = { + init: function (url, qs, logging) { + var $connection = $(this); + + this.url = url; + this.qs = qs; + this._ = { + keepAliveData: {}, + connectingMessageBuffer: new ConnectingMessageBuffer(this, function (message) { + $connection.triggerHandler(events.onReceived, [message]); + }), + onFailedTimeoutHandle: null, + lastMessageAt: new Date().getTime(), + lastActiveAt: new Date().getTime(), + beatInterval: 5000, // Default value, will only be overridden if keep alive is enabled, + beatHandle: null, + totalTransportConnectTimeout: 0 // This will be the sum of the TransportConnectTimeout sent in response to negotiate and connection.transportConnectTimeout + }; + if (typeof (logging) === "boolean") { + this.logging = logging; + } + }, + + _parseResponse: function (response) { + var that = this; + + if (!response) { + return response; + } else if (typeof response === "string") { + return that.json.parse(response); + } else { + return response; + } + }, + + json: window.JSON, + + isCrossDomain: function (url, against) { + /// Checks if url is cross domain + /// The base URL + /// + /// An optional argument to compare the URL against, if not specified it will be set to window.location. + /// If specified it must contain a protocol and a host property. + /// + var link; + + url = $.trim(url); + + against = against || window.location; + + if (url.indexOf("http") !== 0) { + return false; + } + + // Create an anchor tag. + link = window.document.createElement("a"); + link.href = url; + + // When checking for cross domain we have to special case port 80 because the window.location will remove the + return link.protocol + addDefaultPort(link.protocol, link.host) !== against.protocol + addDefaultPort(against.protocol, against.host); + }, + + ajaxDataType: "text", + + contentType: "application/json; charset=UTF-8", + + logging: false, + + state: signalR.connectionState.disconnected, + + clientProtocol: "1.3", + + reconnectDelay: 2000, + + transportConnectTimeout: 0, + + disconnectTimeout: 30000, // This should be set by the server in response to the negotiate request (30s default) + + reconnectWindow: 30000, // This should be set by the server in response to the negotiate request + + keepAliveWarnAt: 2 / 3, // Warn user of slow connection if we breach the X% mark of the keep alive timeout + + start: function (options, callback) { + /// Starts the connection + /// Options map + /// A callback function to execute when the connection has started + var connection = this, + config = { + pingInterval: 300000, + waitForPageLoad: true, + transport: "auto", + jsonp: false + }, + initialize, + deferred = connection._deferral || $.Deferred(), // Check to see if there is a pre-existing deferral that's being built on, if so we want to keep using it + parser = window.document.createElement("a"); + + // Persist the deferral so that if start is called multiple times the same deferral is used. + connection._deferral = deferred; + + if (!connection.json) { + // no JSON! + throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8."); + } + + if ($.type(options) === "function") { + // Support calling with single callback parameter + callback = options; + } else if ($.type(options) === "object") { + $.extend(config, options); + if ($.type(config.callback) === "function") { + callback = config.callback; + } + } + + config.transport = validateTransport(config.transport, connection); + + // If the transport is invalid throw an error and abort start + if (!config.transport) { + throw new Error("SignalR: Invalid transport(s) specified, aborting start."); + } + + connection._.config = config; + + // Check to see if start is being called prior to page load + // If waitForPageLoad is true we then want to re-direct function call to the window load event + if (!_pageLoaded && config.waitForPageLoad === true) { + connection._.deferredStartHandler = function () { + connection.start(options, callback); + }; + _pageWindow.bind("load", connection._.deferredStartHandler); + + return deferred.promise(); + } + + // If we're already connecting just return the same deferral as the original connection start + if (connection.state === signalR.connectionState.connecting) { + return deferred.promise(); + } else if (changeState(connection, + signalR.connectionState.disconnected, + signalR.connectionState.connecting) === false) { + // We're not connecting so try and transition into connecting. + // If we fail to transition then we're either in connected or reconnecting. + + deferred.resolve(connection); + return deferred.promise(); + } + + configureStopReconnectingTimeout(connection); + + // Resolve the full url + parser.href = connection.url; + if (!parser.protocol || parser.protocol === ":") { + connection.protocol = window.document.location.protocol; + connection.host = window.document.location.host; + connection.baseUrl = connection.protocol + "//" + connection.host; + } else { + connection.protocol = parser.protocol; + connection.host = parser.host; + connection.baseUrl = parser.protocol + "//" + parser.host; + } + + // Set the websocket protocol + connection.wsProtocol = connection.protocol === "https:" ? "wss://" : "ws://"; + + // If jsonp with no/auto transport is specified, then set the transport to long polling + // since that is the only transport for which jsonp really makes sense. + // Some developers might actually choose to specify jsonp for same origin requests + // as demonstrated by Issue #623. + if (config.transport === "auto" && config.jsonp === true) { + config.transport = "longPolling"; + } + + // If the url is protocol relative, prepend the current windows protocol to the url. + if (connection.url.indexOf("//") === 0) { + connection.url = window.location.protocol + connection.url; + connection.log("Protocol relative URL detected, normalizing it to '" + connection.url + "'."); + } + + if (this.isCrossDomain(connection.url)) { + connection.log("Auto detected cross domain url."); + + if (config.transport === "auto") { + // TODO: Support XDM with foreverFrame + config.transport = ["webSockets", "serverSentEvents", "longPolling"]; + } + + if (typeof (config.withCredentials) === "undefined") { + config.withCredentials = true; + } + + // Determine if jsonp is the only choice for negotiation, ajaxSend and ajaxAbort. + // i.e. if the browser doesn't supports CORS + // If it is, ignore any preference to the contrary, and switch to jsonp. + if (!config.jsonp) { + config.jsonp = !$.support.cors; + + if (config.jsonp) { + connection.log("Using jsonp because this browser doesn't support CORS."); + } + } + + connection.contentType = signalR._.defaultContentType; + } + + connection.withCredentials = config.withCredentials; + + connection.ajaxDataType = config.jsonp ? "jsonp" : "text"; + + $(connection).bind(events.onStart, function (e, data) { + if ($.type(callback) === "function") { + callback.call(connection); + } + deferred.resolve(connection); + }); + + initialize = function (transports, index) { + var noTransportError = signalR._.error(resources.noTransportOnInit); + + index = index || 0; + if (index >= transports.length) { + // No transport initialized successfully + $(connection).triggerHandler(events.onError, [noTransportError]); + deferred.reject(noTransportError); + // Stop the connection if it has connected and move it into the disconnected state + connection.stop(); + return; + } + + // The connection was aborted + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + var transportName = transports[index], + transport = signalR.transports[transportName], + initializationComplete = false, + onFailed = function () { + // Check if we've already triggered onFailed, onStart + if (!initializationComplete) { + initializationComplete = true; + window.clearTimeout(connection._.onFailedTimeoutHandle); + transport.stop(connection); + initialize(transports, index + 1); + } + }; + + connection.transport = transport; + + try { + connection._.onFailedTimeoutHandle = window.setTimeout(function () { + connection.log(transport.name + " timed out when trying to connect."); + onFailed(); + }, connection._.totalTransportConnectTimeout); + + transport.start(connection, function () { // success + // Firefox 11+ doesn't allow sync XHR withCredentials: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#withCredentials + var isFirefox11OrGreater = signalR._.firefoxMajorVersion(window.navigator.userAgent) >= 11, + asyncAbort = !!connection.withCredentials && isFirefox11OrGreater; + + // The connection was aborted while initializing transports + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + if (!initializationComplete) { + initializationComplete = true; + + window.clearTimeout(connection._.onFailedTimeoutHandle); + + if (transport.supportsKeepAlive && connection._.keepAliveData.activated) { + signalR.transports._logic.monitorKeepAlive(connection); + } + + signalR.transports._logic.startHeartbeat(connection); + + // Used to ensure low activity clients maintain their authentication. + // Must be configured once a transport has been decided to perform valid ping requests. + signalR._.configurePingInterval(connection); + + changeState(connection, + signalR.connectionState.connecting, + signalR.connectionState.connected); + + // Drain any incoming buffered messages (messages that came in prior to connect) + connection._.connectingMessageBuffer.drain(); + + $(connection).triggerHandler(events.onStart); + + // wire the stop handler for when the user leaves the page + _pageWindow.bind("unload", function () { + connection.log("Window unloading, stopping the connection."); + + connection.stop(asyncAbort); + }); + + if (isFirefox11OrGreater) { + // Firefox does not fire cross-domain XHRs in the normal unload handler on tab close. + // #2400 + _pageWindow.bind("beforeunload", function () { + // If connection.stop() runs runs in beforeunload and fails, it will also fail + // in unload unless connection.stop() runs after a timeout. + window.setTimeout(function () { + connection.stop(asyncAbort); + }, 0); + }); + } + } + }, onFailed); + } + catch (error) { + connection.log(transport.name + " transport threw '" + error.message + "' when attempting to start."); + onFailed(); + } + }; + + var url = connection.url + "/negotiate", + onFailed = function (error, connection) { + var err = signalR._.error(resources.errorOnNegotiate, error, connection._.negotiateRequest); + + $(connection).triggerHandler(events.onError, err); + deferred.reject(err); + // Stop the connection if negotiate failed + connection.stop(); + }; + + $(connection).triggerHandler(events.onStarting); + + url = signalR.transports._logic.prepareQueryString(connection, url); + + // Add the client version to the negotiate request. We utilize the same addQs method here + // so that it can append the clientVersion appropriately to the URL + url = signalR.transports._logic.addQs(url, { + clientProtocol: connection.clientProtocol + }); + + connection.log("Negotiating with '" + url + "'."); + + // Save the ajax negotiate request object so we can abort it if stop is called while the request is in flight. + connection._.negotiateRequest = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: "GET", + contentType: connection.contentType, + data: {}, + dataType: connection.ajaxDataType, + error: function (error, statusText) { + // We don't want to cause any errors if we're aborting our own negotiate request. + if (statusText !== _negotiateAbortText) { + onFailed(error, connection); + } else { + // This rejection will noop if the deferred has already been resolved or rejected. + deferred.reject(signalR._.error(resources.stoppedWhileNegotiating, null /* error */, connection._.negotiateRequest)); + } + }, + success: function (result) { + var res, + keepAliveData, + protocolError, + transports = [], + supportedTransports = []; + + try { + res = connection._parseResponse(result); + } catch (error) { + onFailed(signalR._.error(resources.errorParsingNegotiateResponse, error), connection); + return; + } + + keepAliveData = connection._.keepAliveData; + connection.appRelativeUrl = res.Url; + connection.id = res.ConnectionId; + connection.token = res.ConnectionToken; + connection.webSocketServerUrl = res.WebSocketServerUrl; + + // Once the server has labeled the PersistentConnection as Disconnected, we should stop attempting to reconnect + // after res.DisconnectTimeout seconds. + connection.disconnectTimeout = res.DisconnectTimeout * 1000; // in ms + + // Add the TransportConnectTimeout from the response to the transportConnectTimeout from the client to calculate the total timeout + connection._.totalTransportConnectTimeout = connection.transportConnectTimeout + res.TransportConnectTimeout * 1000; + + // If we have a keep alive + if (res.KeepAliveTimeout) { + // Register the keep alive data as activated + keepAliveData.activated = true; + + // Timeout to designate when to force the connection into reconnecting converted to milliseconds + keepAliveData.timeout = res.KeepAliveTimeout * 1000; + + // Timeout to designate when to warn the developer that the connection may be dead or is not responding. + keepAliveData.timeoutWarning = keepAliveData.timeout * connection.keepAliveWarnAt; + + // Instantiate the frequency in which we check the keep alive. It must be short in order to not miss/pick up any changes + connection._.beatInterval = (keepAliveData.timeout - keepAliveData.timeoutWarning) / 3; + } else { + keepAliveData.activated = false; + } + + connection.reconnectWindow = connection.disconnectTimeout + (keepAliveData.timeout || 0); + + if (!res.ProtocolVersion || res.ProtocolVersion !== connection.clientProtocol) { + protocolError = signalR._.error(signalR._.format(resources.protocolIncompatible, connection.clientProtocol, res.ProtocolVersion)); + $(connection).triggerHandler(events.onError, [protocolError]); + deferred.reject(protocolError); + + return; + } + + $.each(signalR.transports, function (key) { + if ((key.indexOf("_") === 0) || (key === "webSockets" && !res.TryWebSockets)) { + return true; + } + supportedTransports.push(key); + }); + + if ($.isArray(config.transport)) { + $.each(config.transport, function (_, transport) { + if ($.inArray(transport, supportedTransports) >= 0) { + transports.push(transport); + } + }); + } else if (config.transport === "auto") { + transports = supportedTransports; + } else if ($.inArray(config.transport, supportedTransports) >= 0) { + transports.push(config.transport); + } + + initialize(transports); + } + } + )); + + return deferred.promise(); + }, + + starting: function (callback) { + /// Adds a callback that will be invoked before anything is sent over the connection + /// A callback function to execute before the connection is fully instantiated. + /// + var connection = this; + $(connection).bind(events.onStarting, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + send: function (data) { + /// Sends data over the connection + /// The data to send over the connection + /// + var connection = this; + + if (connection.state === signalR.connectionState.disconnected) { + // Connection hasn't been started yet + throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()"); + } + + if (connection.state === signalR.connectionState.connecting) { + // Connection hasn't been started yet + throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started."); + } + + connection.transport.send(connection, data); + // REVIEW: Should we return deferred here? + return connection; + }, + + received: function (callback) { + /// Adds a callback that will be invoked after anything is received over the connection + /// A callback function to execute when any data is received on the connection + /// + var connection = this; + $(connection).bind(events.onReceived, function (e, data) { + callback.call(connection, data); + }); + return connection; + }, + + stateChanged: function (callback) { + /// Adds a callback that will be invoked when the connection state changes + /// A callback function to execute when the connection state changes + /// + var connection = this; + $(connection).bind(events.onStateChanged, function (e, data) { + callback.call(connection, data); + }); + return connection; + }, + + error: function (callback) { + /// Adds a callback that will be invoked after an error occurs with the connection + /// A callback function to execute when an error occurs on the connection + /// + var connection = this; + $(connection).bind(events.onError, function (e, errorData, sendData) { + // In practice 'errorData' is the SignalR built error object. + // In practice 'sendData' is undefined for all error events except those triggered by + // 'ajaxSend' and 'webSockets.send'.'sendData' is the original send payload. + callback.call(connection, errorData, sendData); + }); + return connection; + }, + + disconnected: function (callback) { + /// Adds a callback that will be invoked when the client disconnects + /// A callback function to execute when the connection is broken + /// + var connection = this; + $(connection).bind(events.onDisconnect, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + connectionSlow: function (callback) { + /// Adds a callback that will be invoked when the client detects a slow connection + /// A callback function to execute when the connection is slow + /// + var connection = this; + $(connection).bind(events.onConnectionSlow, function (e, data) { + callback.call(connection); + }); + + return connection; + }, + + reconnecting: function (callback) { + /// Adds a callback that will be invoked when the underlying transport begins reconnecting + /// A callback function to execute when the connection enters a reconnecting state + /// + var connection = this; + $(connection).bind(events.onReconnecting, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + reconnected: function (callback) { + /// Adds a callback that will be invoked when the underlying transport reconnects + /// A callback function to execute when the connection is restored + /// + var connection = this; + $(connection).bind(events.onReconnect, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + stop: function (async, notifyServer) { + /// Stops listening + /// Whether or not to asynchronously abort the connection + /// Whether we want to notify the server that we are aborting the connection + /// + var connection = this, + // Save deferral because this is always cleaned up + deferral = connection._deferral; + + // Verify that we've bound a load event. + if (connection._.deferredStartHandler) { + // Unbind the event. + _pageWindow.unbind("load", connection._.deferredStartHandler); + } + + // Always clean up private non-timeout based state. + delete connection._deferral; + delete connection._.config; + delete connection._.deferredStartHandler; + + // This needs to be checked despite the connection state because a connection start can be deferred until page load. + // If we've deferred the start due to a page load we need to unbind the "onLoad" -> start event. + if (!_pageLoaded && (!connection._.config || connection._.config.waitForPageLoad === true)) { + connection.log("Stopping connection prior to negotiate."); + + // If we have a deferral we should reject it + if (deferral) { + deferral.reject(signalR._.error(resources.stoppedWhileLoading)); + } + + // Short-circuit because the start has not been fully started. + return; + } + + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + connection.log("Stopping connection."); + + changeState(connection, connection.state, signalR.connectionState.disconnected); + + // Clear this no matter what + window.clearTimeout(connection._.beatHandle); + window.clearTimeout(connection._.onFailedTimeoutHandle); + window.clearInterval(connection._.pingIntervalId); + + if (connection.transport) { + connection.transport.stop(connection); + + if (notifyServer !== false) { + connection.transport.abort(connection, async); + } + + if (connection.transport.supportsKeepAlive && connection._.keepAliveData.activated) { + signalR.transports._logic.stopMonitoringKeepAlive(connection); + } + + connection.transport = null; + } + + if (connection._.negotiateRequest) { + // If the negotiation request has already completed this will noop. + connection._.negotiateRequest.abort(_negotiateAbortText); + delete connection._.negotiateRequest; + } + + // Trigger the disconnect event + $(connection).triggerHandler(events.onDisconnect); + + delete connection.messageId; + delete connection.groupsToken; + delete connection.id; + delete connection._.pingIntervalId; + delete connection._.lastMessageAt; + delete connection._.lastActiveAt; + + // Clear out our message buffer + connection._.connectingMessageBuffer.clear(); + + return connection; + }, + + log: function (msg) { + log(msg, this.logging); + } + }; + + signalR.fn.init.prototype = signalR.fn; + + signalR.noConflict = function () { + /// Reinstates the original value of $.connection and returns the signalR object for manual assignment + /// + if ($.connection === signalR) { + $.connection = _connection; + } + return signalR; + }; + + if ($.connection) { + _connection = $.connection; + } + + $.connection = $.signalR = signalR; + +}(window.jQuery, window)); +/* jquery.signalR.transports.common.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic; + + signalR.transports = {}; + + function beat(connection) { + if (connection._.keepAliveData.monitoring) { + checkIfAlive(connection); + } + + // Ensure that we successfully marked active before continuing the heartbeat. + if (transportLogic.markActive(connection)) { + connection._.beatHandle = window.setTimeout(function () { + beat(connection); + }, connection._.beatInterval); + } + } + + function checkIfAlive(connection) { + var keepAliveData = connection._.keepAliveData, + timeElapsed; + + // Only check if we're connected + if (connection.state === signalR.connectionState.connected) { + timeElapsed = new Date().getTime() - connection._.lastMessageAt; + + // Check if the keep alive has completely timed out + if (timeElapsed >= keepAliveData.timeout) { + connection.log("Keep alive timed out. Notifying transport that connection has been lost."); + + // Notify transport that the connection has been lost + connection.transport.lostConnection(connection); + } else if (timeElapsed >= keepAliveData.timeoutWarning) { + // This is to assure that the user only gets a single warning + if (!keepAliveData.userNotified) { + connection.log("Keep alive has been missed, connection may be dead/slow."); + $(connection).triggerHandler(events.onConnectionSlow); + keepAliveData.userNotified = true; + } + } else { + keepAliveData.userNotified = false; + } + } + } + + function addConnectionData(url, connectionData) { + var appender = url.indexOf("?") !== -1 ? "&" : "?"; + + if (connectionData) { + url += appender + "connectionData=" + window.encodeURIComponent(connectionData); + } + + return url; + } + + transportLogic = signalR.transports._logic = { + pingServer: function (connection) { + /// Pings the server + /// Connection associated with the server ping + /// + var url, deferral = $.Deferred(), xhr; + + if (connection.transport) { + url = connection.url + "/ping"; + + url = transportLogic.addQs(url, connection.qs); + + xhr = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: "GET", + contentType: connection.contentType, + data: {}, + dataType: connection.ajaxDataType, + success: function (result) { + var data; + + try { + data = connection._parseResponse(result); + } + catch (error) { + deferral.reject( + signalR._.transportError( + signalR.resources.pingServerFailedParse, + connection.transport, + error, + xhr + ) + ); + connection.stop(); + return; + } + + if (data.Response === "pong") { + deferral.resolve(); + } + else { + deferral.reject( + signalR._.transportError( + signalR._.format(signalR.resources.pingServerFailedInvalidResponse, result.responseText), + connection.transport, + null /* error */, + xhr + ) + ); + } + }, + error: function (error) { + if (error.status === 401 || error.status === 403) { + deferral.reject( + signalR._.transportError( + signalR._.format(signalR.resources.pingServerFailedStatusCode, error.status), + connection.transport, + error, + xhr + ) + ); + connection.stop(); + } + else { + deferral.reject( + signalR._.transportError( + signalR.resources.pingServerFailed, + connection.transport, + error, + xhr + ) + ); + } + } + } + )); + + } + else { + deferral.reject( + signalR._.transportError( + signalR.resources.noConnectionTransport, + connection.transport + ) + ); + } + + return deferral.promise(); + }, + + prepareQueryString: function (connection, url) { + url = transportLogic.addQs(url, connection.qs); + + return addConnectionData(url, connection.data); + }, + + addQs: function (url, qs) { + var appender = url.indexOf("?") !== -1 ? "&" : "?", + firstChar; + + if (!qs) { + return url; + } + + if (typeof (qs) === "object") { + return url + appender + $.param(qs); + } + + if (typeof (qs) === "string") { + firstChar = qs.charAt(0); + + if (firstChar === "?" || firstChar === "&") { + appender = ""; + } + + return url + appender + qs; + } + + throw new Error("Query string property must be either a string or object."); + }, + + getUrl: function (connection, transport, reconnecting, poll) { + /// Gets the url for making a GET based connect request + var baseUrl = transport === "webSockets" ? "" : connection.baseUrl, + url = baseUrl + connection.appRelativeUrl, + qs = "transport=" + transport + "&connectionToken=" + window.encodeURIComponent(connection.token); + + if (connection.groupsToken) { + qs += "&groupsToken=" + window.encodeURIComponent(connection.groupsToken); + } + + if (!reconnecting) { + url += "/connect"; + } else { + if (poll) { + // longPolling transport specific + url += "/poll"; + } else { + url += "/reconnect"; + } + + if (connection.messageId) { + qs += "&messageId=" + window.encodeURIComponent(connection.messageId); + } + } + url += "?" + qs; + url = transportLogic.prepareQueryString(connection, url); + url += "&tid=" + Math.floor(Math.random() * 11); + return url; + }, + + maximizePersistentResponse: function (minPersistentResponse) { + return { + MessageId: minPersistentResponse.C, + Messages: minPersistentResponse.M, + Initialized: typeof (minPersistentResponse.S) !== "undefined" ? true : false, + Disconnect: typeof (minPersistentResponse.D) !== "undefined" ? true : false, + ShouldReconnect: typeof (minPersistentResponse.T) !== "undefined" ? true : false, + LongPollDelay: minPersistentResponse.L, + GroupsToken: minPersistentResponse.G + }; + }, + + updateGroups: function (connection, groupsToken) { + if (groupsToken) { + connection.groupsToken = groupsToken; + } + }, + + stringifySend: function (connection, message) { + if (typeof (message) === "string" || typeof (message) === "undefined" || message === null) { + return message; + } + return connection.json.stringify(message); + }, + + ajaxSend: function (connection, data) { + var payload = transportLogic.stringifySend(connection, data), + url = connection.url + "/send" + "?transport=" + connection.transport.name + "&connectionToken=" + window.encodeURIComponent(connection.token), + xhr, + onFail = function (error, connection) { + $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.sendFailed, connection.transport, error, xhr), data]); + }; + + url = transportLogic.prepareQueryString(connection, url); + + xhr = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: connection.ajaxDataType === "jsonp" ? "GET" : "POST", + contentType: signalR._.defaultContentType, + dataType: connection.ajaxDataType, + data: { + data: payload + }, + success: function (result) { + var res; + + if (result) { + try { + res = connection._parseResponse(result); + } + catch (error) { + onFail(error, connection); + connection.stop(); + return; + } + + transportLogic.triggerReceived(connection, res); + } + }, + error: function (error, textStatus) { + if (textStatus === "abort" || textStatus === "parsererror") { + // The parsererror happens for sends that don't return any data, and hence + // don't write the jsonp callback to the response. This is harder to fix on the server + // so just hack around it on the client for now. + return; + } + + onFail(error, connection); + } + } + )); + + return xhr; + }, + + ajaxAbort: function (connection, async) { + if (typeof (connection.transport) === "undefined") { + return; + } + + // Async by default unless explicitly overidden + async = typeof async === "undefined" ? true : async; + + var url = connection.url + "/abort" + "?transport=" + connection.transport.name + "&connectionToken=" + window.encodeURIComponent(connection.token); + url = transportLogic.prepareQueryString(connection, url); + + $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + async: async, + timeout: 1000, + type: "POST", + contentType: connection.contentType, + dataType: connection.ajaxDataType, + data: {} + } + )); + + connection.log("Fired ajax abort async = " + async + "."); + }, + + tryInitialize: function (persistentResponse, onInitialized) { + if (persistentResponse.Initialized) { + onInitialized(); + } + }, + + triggerReceived: function (connection, data) { + if (!connection._.connectingMessageBuffer.tryBuffer(data)) { + $(connection).triggerHandler(events.onReceived, [data]); + } + }, + + processMessages: function (connection, minData, onInitialized) { + var data; + + // Update the last message time stamp + transportLogic.markLastMessage(connection); + + if (minData) { + data = transportLogic.maximizePersistentResponse(minData); + + if (data.Disconnect) { + connection.log("Disconnect command received from server."); + + // Disconnected by the server + connection.stop(false, false); + return; + } + + transportLogic.updateGroups(connection, data.GroupsToken); + + if (data.MessageId) { + connection.messageId = data.MessageId; + } + + if (data.Messages) { + $.each(data.Messages, function (index, message) { + transportLogic.triggerReceived(connection, message); + }); + + transportLogic.tryInitialize(data, onInitialized); + } + } + }, + + monitorKeepAlive: function (connection) { + var keepAliveData = connection._.keepAliveData; + + // If we haven't initiated the keep alive timeouts then we need to + if (!keepAliveData.monitoring) { + keepAliveData.monitoring = true; + + transportLogic.markLastMessage(connection); + + // Save the function so we can unbind it on stop + connection._.keepAliveData.reconnectKeepAliveUpdate = function () { + // Mark a new message so that keep alive doesn't time out connections + transportLogic.markLastMessage(connection); + }; + + // Update Keep alive on reconnect + $(connection).bind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate); + + connection.log("Now monitoring keep alive with a warning timeout of " + keepAliveData.timeoutWarning + " and a connection lost timeout of " + keepAliveData.timeout + "."); + } else { + connection.log("Tried to monitor keep alive but it's already being monitored."); + } + }, + + stopMonitoringKeepAlive: function (connection) { + var keepAliveData = connection._.keepAliveData; + + // Only attempt to stop the keep alive monitoring if its being monitored + if (keepAliveData.monitoring) { + // Stop monitoring + keepAliveData.monitoring = false; + + // Remove the updateKeepAlive function from the reconnect event + $(connection).unbind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate); + + // Clear all the keep alive data + connection._.keepAliveData = {}; + connection.log("Stopping the monitoring of the keep alive."); + } + }, + + startHeartbeat: function (connection) { + connection._.lastActiveAt = new Date().getTime(); + beat(connection); + }, + + markLastMessage: function (connection) { + connection._.lastMessageAt = new Date().getTime(); + }, + + markActive: function (connection) { + if (transportLogic.verifyLastActive(connection)) { + connection._.lastActiveAt = new Date().getTime(); + return true; + } + + return false; + }, + + isConnectedOrReconnecting: function (connection) { + return connection.state === signalR.connectionState.connected || + connection.state === signalR.connectionState.reconnecting; + }, + + ensureReconnectingState: function (connection) { + if (changeState(connection, + signalR.connectionState.connected, + signalR.connectionState.reconnecting) === true) { + $(connection).triggerHandler(events.onReconnecting); + } + return connection.state === signalR.connectionState.reconnecting; + }, + + clearReconnectTimeout: function (connection) { + if (connection && connection._.reconnectTimeout) { + window.clearTimeout(connection._.reconnectTimeout); + delete connection._.reconnectTimeout; + } + }, + + verifyLastActive: function (connection) { + if (new Date().getTime() - connection._.lastActiveAt >= connection.reconnectWindow) { + connection.log("There has not been an active server connection for an extended period of time. Stopping connection."); + connection.stop(); + return false; + } + + return true; + }, + + reconnect: function (connection, transportName) { + var transport = signalR.transports[transportName]; + + // We should only set a reconnectTimeout if we are currently connected + // and a reconnectTimeout isn't already set. + if (transportLogic.isConnectedOrReconnecting(connection) && !connection._.reconnectTimeout) { + // Need to verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration. + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + connection._.reconnectTimeout = window.setTimeout(function () { + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + transport.stop(connection); + + if (transportLogic.ensureReconnectingState(connection)) { + connection.log(transportName + " reconnecting."); + transport.start(connection); + } + }, connection.reconnectDelay); + } + }, + + handleParseFailure: function (connection, result, error, onFailed, context) { + // If we're in the initialization phase trigger onFailed, otherwise stop the connection. + if (connection.state === signalR.connectionState.connecting) { + connection.log("Failed to parse server response while attempting to connect."); + onFailed(); + } else { + $(connection).triggerHandler(events.onError, [ + signalR._.transportError( + signalR._.format(signalR.resources.parseFailed, result), + connection.transport, + error, + context)]); + connection.stop(); + } + }, + + foreverFrame: { + count: 0, + connections: {} + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.webSockets.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic; + + signalR.transports.webSockets = { + name: "webSockets", + + supportsKeepAlive: true, + + send: function (connection, data) { + var payload = transportLogic.stringifySend(connection, data); + + try { + connection.socket.send(payload); + } catch (ex) { + $(connection).triggerHandler(events.onError, + [signalR._.transportError( + signalR.resources.webSocketsInvalidState, + connection.transport, + ex, + connection.socket + ), + data]); + } + }, + + start: function (connection, onSuccess, onFailed) { + var url, + opened = false, + that = this, + reconnecting = !onSuccess, + $connection = $(connection); + + if (!window.WebSocket) { + onFailed(); + return; + } + + if (!connection.socket) { + if (connection.webSocketServerUrl) { + url = connection.webSocketServerUrl; + } else { + url = connection.wsProtocol + connection.host; + } + + url += transportLogic.getUrl(connection, this.name, reconnecting); + + connection.log("Connecting to websocket endpoint '" + url + "'."); + connection.socket = new window.WebSocket(url); + + connection.socket.onopen = function () { + opened = true; + connection.log("Websocket opened."); + + transportLogic.clearReconnectTimeout(connection); + + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + $connection.triggerHandler(events.onReconnect); + } + }; + + connection.socket.onclose = function (event) { + // Only handle a socket close if the close is from the current socket. + // Sometimes on disconnect the server will push down an onclose event + // to an expired socket. + + if (this === connection.socket) { + if (!opened) { + if (onFailed) { + onFailed(); + } else if (reconnecting) { + that.reconnect(connection); + } + return; + } else if (typeof event.wasClean !== "undefined" && event.wasClean === false) { + // Ideally this would use the websocket.onerror handler (rather than checking wasClean in onclose) but + // I found in some circumstances Chrome won't call onerror. This implementation seems to work on all browsers. + $(connection).triggerHandler(events.onError, [signalR._.transportError( + signalR.resources.webSocketClosed, + connection.transport, + event)]); + connection.log("Unclean disconnect from websocket: " + event.reason || "[no reason given]."); + } else { + connection.log("Websocket closed."); + } + + that.reconnect(connection); + } + }; + + connection.socket.onmessage = function (event) { + var data; + + try { + data = connection._parseResponse(event.data); + } + catch (error) { + transportLogic.handleParseFailure(connection, event.data, error, onFailed, event); + return; + } + + if (data) { + // data.M is PersistentResponse.Messages + if ($.isEmptyObject(data) || data.M) { + transportLogic.processMessages(connection, data, onSuccess); + } else { + // For websockets we need to trigger onReceived + // for callbacks to outgoing hub calls. + transportLogic.triggerReceived(connection, data); + } + } + }; + } + }, + + reconnect: function (connection) { + transportLogic.reconnect(connection, this.name); + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + stop: function (connection) { + // Don't trigger a reconnect after stopping + transportLogic.clearReconnectTimeout(connection); + + if (connection.socket) { + connection.log("Closing the Websocket."); + connection.socket.close(); + connection.socket = null; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.serverSentEvents.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic; + + signalR.transports.serverSentEvents = { + name: "serverSentEvents", + + supportsKeepAlive: true, + + timeOut: 3000, + + start: function (connection, onSuccess, onFailed) { + var that = this, + opened = false, + $connection = $(connection), + reconnecting = !onSuccess, + url, + reconnectTimeout; + + if (connection.eventSource) { + connection.log("The connection already has an event source. Stopping it."); + connection.stop(); + } + + if (!window.EventSource) { + if (onFailed) { + connection.log("This browser doesn't support SSE."); + onFailed(); + } + return; + } + + url = transportLogic.getUrl(connection, this.name, reconnecting); + + try { + connection.log("Attempting to connect to SSE endpoint '" + url + "'."); + connection.eventSource = new window.EventSource(url, { withCredentials: connection.withCredentials }); + } + catch (e) { + connection.log("EventSource failed trying to connect with error " + e.Message + "."); + if (onFailed) { + // The connection failed, call the failed callback + onFailed(); + } else { + $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceFailedToConnect, connection.transport, e)]); + if (reconnecting) { + // If we were reconnecting, rather than doing initial connect, then try reconnect again + that.reconnect(connection); + } + } + return; + } + + if (reconnecting) { + reconnectTimeout = window.setTimeout(function () { + if (opened === false) { + // If we're reconnecting and the event source is attempting to connect, + // don't keep retrying. This causes duplicate connections to spawn. + if (connection.eventSource.readyState !== window.EventSource.OPEN) { + // If we were reconnecting, rather than doing initial connect, then try reconnect again + that.reconnect(connection); + } + } + }, + that.timeOut); + } + + connection.eventSource.addEventListener("open", function (e) { + connection.log("EventSource connected."); + + if (reconnectTimeout) { + window.clearTimeout(reconnectTimeout); + } + + transportLogic.clearReconnectTimeout(connection); + + if (opened === false) { + opened = true; + + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + $connection.triggerHandler(events.onReconnect); + } + } + }, false); + + connection.eventSource.addEventListener("message", function (e) { + var res; + + // process messages + if (e.data === "initialized") { + return; + } + + try { + res = connection._parseResponse(e.data); + } + catch (error) { + transportLogic.handleParseFailure(connection, e.data, error, onFailed, e); + return; + } + + transportLogic.processMessages(connection, res, onSuccess); + }, false); + + connection.eventSource.addEventListener("error", function (e) { + // Only handle an error if the error is from the current Event Source. + // Sometimes on disconnect the server will push down an error event + // to an expired Event Source. + if (this !== connection.eventSource) { + return; + } + + if (!opened) { + if (onFailed) { + onFailed(); + } + + return; + } + + connection.log("EventSource readyState: " + connection.eventSource.readyState + "."); + + if (e.eventPhase === window.EventSource.CLOSED) { + // We don't use the EventSource's native reconnect function as it + // doesn't allow us to change the URL when reconnecting. We need + // to change the URL to not include the /connect suffix, and pass + // the last message id we received. + connection.log("EventSource reconnecting due to the server connection ending."); + that.reconnect(connection); + } else { + // connection error + connection.log("EventSource error."); + $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceError, connection.transport, e)]); + } + }, false); + }, + + reconnect: function (connection) { + transportLogic.reconnect(connection, this.name); + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + stop: function (connection) { + // Don't trigger a reconnect after stopping + transportLogic.clearReconnectTimeout(connection); + + if (connection && connection.eventSource) { + connection.log("EventSource calling close()."); + connection.eventSource.close(); + connection.eventSource = null; + delete connection.eventSource; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.foreverFrame.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic, + createFrame = function () { + var frame = window.document.createElement("iframe"); + frame.setAttribute("style", "position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"); + return frame; + }, + // Used to prevent infinite loading icon spins in older versions of ie + // We build this object inside a closure so we don't pollute the rest of + // the foreverFrame transport with unnecessary functions/utilities. + loadPreventer = (function () { + var loadingFixIntervalId = null, + loadingFixInterval = 1000, + attachedTo = 0; + + return { + prevent: function () { + // Prevent additional iframe removal procedures from newer browsers + if (signalR._.ieVersion <= 8) { + // We only ever want to set the interval one time, so on the first attachedTo + if (attachedTo === 0) { + // Create and destroy iframe every 3 seconds to prevent loading icon, super hacky + loadingFixIntervalId = window.setInterval(function () { + var tempFrame = createFrame(); + + window.document.body.appendChild(tempFrame); + window.document.body.removeChild(tempFrame); + + tempFrame = null; + }, loadingFixInterval); + } + + attachedTo++; + } + }, + cancel: function () { + // Only clear the interval if there's only one more object that the loadPreventer is attachedTo + if (attachedTo === 1) { + window.clearInterval(loadingFixIntervalId); + } + + if (attachedTo > 0) { + attachedTo--; + } + } + }; + })(); + + signalR.transports.foreverFrame = { + name: "foreverFrame", + + supportsKeepAlive: true, + + // Added as a value here so we can create tests to verify functionality + iframeClearThreshold: 50, + + start: function (connection, onSuccess, onFailed) { + var that = this, + frameId = (transportLogic.foreverFrame.count += 1), + url, + frame = createFrame(), + frameLoadHandler = function () { + connection.log("Forever frame iframe finished loading and is no longer receiving messages."); + that.reconnect(connection); + }; + + if (window.EventSource) { + // If the browser supports SSE, don't use Forever Frame + if (onFailed) { + connection.log("This browser supports SSE, skipping Forever Frame."); + onFailed(); + } + return; + } + + frame.setAttribute("data-signalr-connection-id", connection.id); + + // Start preventing loading icon + // This will only perform work if the loadPreventer is not attached to another connection. + loadPreventer.prevent(); + + // Build the url + url = transportLogic.getUrl(connection, this.name); + url += "&frameId=" + frameId; + + // Set body prior to setting URL to avoid caching issues. + window.document.body.appendChild(frame); + + connection.log("Binding to iframe's load event."); + + if (frame.addEventListener) { + frame.addEventListener("load", frameLoadHandler, false); + } else if (frame.attachEvent) { + frame.attachEvent("onload", frameLoadHandler); + } + + frame.src = url; + transportLogic.foreverFrame.connections[frameId] = connection; + + connection.frame = frame; + connection.frameId = frameId; + + if (onSuccess) { + connection.onSuccess = function () { + connection.log("Iframe transport started."); + onSuccess(); + }; + } + }, + + reconnect: function (connection) { + var that = this; + + // Need to verify connection state and verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration. + if (transportLogic.isConnectedOrReconnecting(connection) && transportLogic.verifyLastActive(connection)) { + window.setTimeout(function () { + // Verify that we're ok to reconnect. + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + if (connection.frame && transportLogic.ensureReconnectingState(connection)) { + var frame = connection.frame, + src = transportLogic.getUrl(connection, that.name, true) + "&frameId=" + connection.frameId; + connection.log("Updating iframe src to '" + src + "'."); + frame.src = src; + } + }, connection.reconnectDelay); + } + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + receive: function (connection, data) { + var cw, + body; + + transportLogic.processMessages(connection, data, connection.onSuccess); + + // Protect against connection stopping from a callback trigger within the processMessages above. + if (connection.state === $.signalR.connectionState.connected) { + // Delete the script & div elements + connection.frameMessageCount = (connection.frameMessageCount || 0) + 1; + if (connection.frameMessageCount > signalR.transports.foreverFrame.iframeClearThreshold) { + connection.frameMessageCount = 0; + cw = connection.frame.contentWindow || connection.frame.contentDocument; + if (cw && cw.document && cw.document.body) { + body = cw.document.body; + + // Remove all the child elements from the iframe's body to conserver memory + while (body.firstChild) { + body.removeChild(body.firstChild); + } + } + } + } + }, + + stop: function (connection) { + var cw = null; + + // Stop attempting to prevent loading icon + loadPreventer.cancel(); + + if (connection.frame) { + if (connection.frame.stop) { + connection.frame.stop(); + } else { + try { + cw = connection.frame.contentWindow || connection.frame.contentDocument; + if (cw.document && cw.document.execCommand) { + cw.document.execCommand("Stop"); + } + } + catch (e) { + connection.log("Error occured when stopping foreverFrame transport. Message = " + e.message + "."); + } + } + + // Ensure the iframe is where we left it + if (connection.frame.parentNode === window.document.body) { + window.document.body.removeChild(connection.frame); + } + + delete transportLogic.foreverFrame.connections[connection.frameId]; + connection.frame = null; + connection.frameId = null; + delete connection.frame; + delete connection.frameId; + delete connection.onSuccess; + delete connection.frameMessageCount; + connection.log("Stopping forever frame."); + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + }, + + getConnection: function (id) { + return transportLogic.foreverFrame.connections[id]; + }, + + started: function (connection) { + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + // If there's no onSuccess handler we assume this is a reconnect + $(connection).triggerHandler(events.onReconnect); + } + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.longPolling.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + isDisconnecting = $.signalR.isDisconnecting, + transportLogic = signalR.transports._logic; + + signalR.transports.longPolling = { + name: "longPolling", + + supportsKeepAlive: false, + + reconnectDelay: 3000, + + start: function (connection, onSuccess, onFailed) { + /// Starts the long polling connection + /// The SignalR connection to start + var that = this, + fireConnect = function () { + fireConnect = $.noop; + + connection.log("LongPolling connected."); + onSuccess(); + // Reset onFailed to null because it shouldn't be called again + onFailed = null; + }, + tryFailConnect = function () { + if (onFailed) { + onFailed(); + onFailed = null; + connection.log("LongPolling failed to connect."); + return true; + } + + return false; + }, + privateData = connection._, + reconnectErrors = 0, + fireReconnected = function (instance) { + window.clearTimeout(privateData.reconnectTimeoutId); + privateData.reconnectTimeoutId = null; + + if (changeState(instance, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + // Successfully reconnected! + instance.log("Raising the reconnect event"); + $(instance).triggerHandler(events.onReconnect); + } + }, + // 1 hour + maxFireReconnectedTimeout = 3600000; + + if (connection.pollXhr) { + connection.log("Polling xhr requests already exists, aborting."); + connection.stop(); + } + + connection.messageId = null; + + privateData.reconnectTimeoutId = null; + + privateData.pollTimeoutId = window.setTimeout(function () { + (function poll(instance, raiseReconnect) { + var messageId = instance.messageId, + connect = (messageId === null), + reconnecting = !connect, + polling = !raiseReconnect, + url = transportLogic.getUrl(instance, that.name, reconnecting, polling); + + // If we've disconnected during the time we've tried to re-instantiate the poll then stop. + if (isDisconnecting(instance) === true) { + return; + } + + connection.log("Opening long polling request to '" + url + "'."); + instance.pollXhr = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: "GET", + dataType: connection.ajaxDataType, + contentType: connection.contentType, + success: function (result) { + var minData, + delay = 0, + data, + shouldReconnect; + + connection.log("Long poll complete."); + + // Reset our reconnect errors so if we transition into a reconnecting state again we trigger + // reconnected quickly + reconnectErrors = 0; + + try { + minData = connection._parseResponse(result); + } + catch (error) { + transportLogic.handleParseFailure(instance, result, error, tryFailConnect, instance.pollXhr); + return; + } + + // If there's currently a timeout to trigger reconnect, fire it now before processing messages + if (privateData.reconnectTimeoutId !== null) { + fireReconnected(instance); + } + + if (minData) { + data = transportLogic.maximizePersistentResponse(minData); + } + + transportLogic.processMessages(instance, minData, fireConnect); + + if (data && + $.type(data.LongPollDelay) === "number") { + delay = data.LongPollDelay; + } + + if (data && data.Disconnect) { + return; + } + + if (isDisconnecting(instance) === true) { + return; + } + + shouldReconnect = data && data.ShouldReconnect; + if (shouldReconnect) { + // Transition into the reconnecting state + // If this fails then that means that the user transitioned the connection into a invalid state in processMessages. + if (!transportLogic.ensureReconnectingState(instance)) { + return; + } + } + + // We never want to pass a raiseReconnect flag after a successful poll. This is handled via the error function + if (delay > 0) { + privateData.pollTimeoutId = window.setTimeout(function () { + poll(instance, shouldReconnect); + }, delay); + } else { + poll(instance, shouldReconnect); + } + }, + + error: function (data, textStatus) { + // Stop trying to trigger reconnect, connection is in an error state + // If we're not in the reconnect state this will noop + window.clearTimeout(privateData.reconnectTimeoutId); + privateData.reconnectTimeoutId = null; + + if (textStatus === "abort") { + connection.log("Aborted xhr request."); + return; + } + + if (!tryFailConnect()) { + + // Increment our reconnect errors, we assume all errors to be reconnect errors + // In the case that it's our first error this will cause Reconnect to be fired + // after 1 second due to reconnectErrors being = 1. + reconnectErrors++; + + if (connection.state !== signalR.connectionState.reconnecting) { + connection.log("An error occurred using longPolling. Status = " + textStatus + ". Response = " + data.responseText + "."); + $(instance).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.longPollFailed, connection.transport, data, instance.pollXhr)]); + } + + // We check the state here to verify that we're not in an invalid state prior to verifying Reconnect. + // If we're not in connected or reconnecting then the next ensureReconnectingState check will fail and will return. + // Therefore we don't want to change that failure code path. + if ((connection.state === signalR.connectionState.connected || + connection.state === signalR.connectionState.reconnecting) && + !transportLogic.verifyLastActive(connection)) { + return; + } + + // Transition into the reconnecting state + // If this fails then that means that the user transitioned the connection into the disconnected or connecting state within the above error handler trigger. + if (!transportLogic.ensureReconnectingState(instance)) { + return; + } + + // Call poll with the raiseReconnect flag as true after the reconnect delay + privateData.pollTimeoutId = window.setTimeout(function () { + poll(instance, true); + }, that.reconnectDelay); + } + } + } + )); + + + // This will only ever pass after an error has occured via the poll ajax procedure. + if (reconnecting && raiseReconnect === true) { + // We wait to reconnect depending on how many times we've failed to reconnect. + // This is essentially a heuristic that will exponentially increase in wait time before + // triggering reconnected. This depends on the "error" handler of Poll to cancel this + // timeout if it triggers before the Reconnected event fires. + // The Math.min at the end is to ensure that the reconnect timeout does not overflow. + privateData.reconnectTimeoutId = window.setTimeout(function () { fireReconnected(instance); }, Math.min(1000 * (Math.pow(2, reconnectErrors) - 1), maxFireReconnectedTimeout)); + } + }(connection)); + }, 250); // Have to delay initial poll so Chrome doesn't show loader spinner in tab + }, + + lostConnection: function (connection) { + throw new Error("Lost Connection not handled for LongPolling"); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + stop: function (connection) { + /// Stops the long polling connection + /// The SignalR connection to stop + + window.clearTimeout(connection._.pollTimeoutId); + window.clearTimeout(connection._.reconnectTimeoutId); + + delete connection._.pollTimeoutId; + delete connection._.reconnectTimeoutId; + + if (connection.pollXhr) { + connection.pollXhr.abort(); + connection.pollXhr = null; + delete connection.pollXhr; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.hubs.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var eventNamespace = ".hubProxy", + signalR = $.signalR; + + function makeEventName(event) { + return event + eventNamespace; + } + + // Equivalent to Array.prototype.map + function map(arr, fun, thisp) { + var i, + length = arr.length, + result = []; + for (i = 0; i < length; i += 1) { + if (arr.hasOwnProperty(i)) { + result[i] = fun.call(thisp, arr[i], i, arr); + } + } + return result; + } + + function getArgValue(a) { + return $.isFunction(a) ? null : ($.type(a) === "undefined" ? null : a); + } + + function hasMembers(obj) { + for (var key in obj) { + // If we have any properties in our callback map then we have callbacks and can exit the loop via return + if (obj.hasOwnProperty(key)) { + return true; + } + } + + return false; + } + + function clearInvocationCallbacks(connection, error) { + /// + var callbacks = connection._.invocationCallbacks, + callback; + + if (hasMembers(callbacks)) { + connection.log("Clearing hub invocation callbacks with error: " + error + "."); + } + + // Reset the callback cache now as we have a local var referencing it + connection._.invocationCallbackId = 0; + delete connection._.invocationCallbacks; + connection._.invocationCallbacks = {}; + + // Loop over the callbacks and invoke them. + // We do this using a local var reference and *after* we've cleared the cache + // so that if a fail callback itself tries to invoke another method we don't + // end up with its callback in the list we're looping over. + for (var callbackId in callbacks) { + callback = callbacks[callbackId]; + callback.method.call(callback.scope, { E: error }); + } + } + + // hubProxy + function hubProxy(hubConnection, hubName) { + /// + /// Creates a new proxy object for the given hub connection that can be used to invoke + /// methods on server hubs and handle client method invocation requests from the server. + /// + return new hubProxy.fn.init(hubConnection, hubName); + } + + hubProxy.fn = hubProxy.prototype = { + init: function (connection, hubName) { + this.state = {}; + this.connection = connection; + this.hubName = hubName; + this._ = { + callbackMap: {} + }; + }, + + hasSubscriptions: function () { + return hasMembers(this._.callbackMap); + }, + + on: function (eventName, callback) { + /// Wires up a callback to be invoked when a invocation request is received from the server hub. + /// The name of the hub event to register the callback for. + /// The callback to be invoked. + var that = this, + callbackMap = that._.callbackMap; + + // Normalize the event name to lowercase + eventName = eventName.toLowerCase(); + + // If there is not an event registered for this callback yet we want to create its event space in the callback map. + if (!callbackMap[eventName]) { + callbackMap[eventName] = {}; + } + + // Map the callback to our encompassed function + callbackMap[eventName][callback] = function (e, data) { + callback.apply(that, data); + }; + + $(that).bind(makeEventName(eventName), callbackMap[eventName][callback]); + + return that; + }, + + off: function (eventName, callback) { + /// Removes the callback invocation request from the server hub for the given event name. + /// The name of the hub event to unregister the callback for. + /// The callback to be invoked. + var that = this, + callbackMap = that._.callbackMap, + callbackSpace; + + // Normalize the event name to lowercase + eventName = eventName.toLowerCase(); + + callbackSpace = callbackMap[eventName]; + + // Verify that there is an event space to unbind + if (callbackSpace) { + // Only unbind if there's an event bound with eventName and a callback with the specified callback + if (callbackSpace[callback]) { + $(that).unbind(makeEventName(eventName), callbackSpace[callback]); + + // Remove the callback from the callback map + delete callbackSpace[callback]; + + // Check if there are any members left on the event, if not we need to destroy it. + if (!hasMembers(callbackSpace)) { + delete callbackMap[eventName]; + } + } else if (!callback) { // Check if we're removing the whole event and we didn't error because of an invalid callback + $(that).unbind(makeEventName(eventName)); + + delete callbackMap[eventName]; + } + } + + return that; + }, + + invoke: function (methodName) { + /// Invokes a server hub method with the given arguments. + /// The name of the server hub method. + + var that = this, + connection = that.connection, + args = $.makeArray(arguments).slice(1), + argValues = map(args, getArgValue), + data = { H: that.hubName, M: methodName, A: argValues, I: connection._.invocationCallbackId }, + d = $.Deferred(), + callback = function (minResult) { + var result = that._maximizeHubResponse(minResult), + source, + error; + + // Update the hub state + $.extend(that.state, result.State); + + if (result.Error) { + // Server hub method threw an exception, log it & reject the deferred + if (result.StackTrace) { + connection.log(result.Error + "\n" + result.StackTrace + "."); + } + + // result.ErrorData is only set if a HubException was thrown + source = result.IsHubException ? "HubException" : "Exception"; + error = signalR._.error(result.Error, source); + error.data = result.ErrorData; + + connection.log(that.hubName + "." + methodName + " failed to execute. Error: " + error.message); + d.rejectWith(that, [error]); + } else { + // Server invocation succeeded, resolve the deferred + connection.log("Invoked " + that.hubName + "." + methodName); + d.resolveWith(that, [result.Result]); + } + }; + + connection._.invocationCallbacks[connection._.invocationCallbackId.toString()] = { scope: that, method: callback }; + connection._.invocationCallbackId += 1; + + if (!$.isEmptyObject(that.state)) { + data.S = that.state; + } + + connection.log("Invoking " + that.hubName + "." + methodName); + connection.send(data); + + return d.promise(); + }, + + _maximizeHubResponse: function (minHubResponse) { + return { + State: minHubResponse.S, + Result: minHubResponse.R, + Id: minHubResponse.I, + IsHubException: minHubResponse.H, + Error: minHubResponse.E, + StackTrace: minHubResponse.T, + ErrorData: minHubResponse.D + }; + } + }; + + hubProxy.fn.init.prototype = hubProxy.fn; + + // hubConnection + function hubConnection(url, options) { + /// Creates a new hub connection. + /// [Optional] The hub route url, defaults to "/signalr". + /// [Optional] Settings to use when creating the hubConnection. + var settings = { + qs: null, + logging: false, + useDefaultPath: true + }; + + $.extend(settings, options); + + if (!url || settings.useDefaultPath) { + url = (url || "") + "/signalr"; + } + return new hubConnection.fn.init(url, settings); + } + + hubConnection.fn = hubConnection.prototype = $.connection(); + + hubConnection.fn.init = function (url, options) { + var settings = { + qs: null, + logging: false, + useDefaultPath: true + }, + connection = this; + + $.extend(settings, options); + + // Call the base constructor + $.signalR.fn.init.call(connection, url, settings.qs, settings.logging); + + // Object to store hub proxies for this connection + connection.proxies = {}; + + connection._.invocationCallbackId = 0; + connection._.invocationCallbacks = {}; + + // Wire up the received handler + connection.received(function (minData) { + var data, proxy, dataCallbackId, callback, hubName, eventName; + if (!minData) { + return; + } + + if (typeof (minData.I) !== "undefined") { + // We received the return value from a server method invocation, look up callback by id and call it + dataCallbackId = minData.I.toString(); + callback = connection._.invocationCallbacks[dataCallbackId]; + if (callback) { + // Delete the callback from the proxy + connection._.invocationCallbacks[dataCallbackId] = null; + delete connection._.invocationCallbacks[dataCallbackId]; + + // Invoke the callback + callback.method.call(callback.scope, minData); + } + } else { + data = this._maximizeClientHubInvocation(minData); + + // We received a client invocation request, i.e. broadcast from server hub + connection.log("Triggering client hub event '" + data.Method + "' on hub '" + data.Hub + "'."); + + // Normalize the names to lowercase + hubName = data.Hub.toLowerCase(); + eventName = data.Method.toLowerCase(); + + // Trigger the local invocation event + proxy = this.proxies[hubName]; + + // Update the hub state + $.extend(proxy.state, data.State); + $(proxy).triggerHandler(makeEventName(eventName), [data.Args]); + } + }); + + connection.error(function (errData, origData) { + var callbackId, callback; + + if (!origData) { + // No original data passed so this is not a send error + return; + } + + callbackId = origData.I; + callback = connection._.invocationCallbacks[callbackId]; + + // Verify that there is a callback bound (could have been cleared) + if (callback) { + // Delete the callback + connection._.invocationCallbacks[callbackId] = null; + delete connection._.invocationCallbacks[callbackId]; + + // Invoke the callback with an error to reject the promise + callback.method.call(callback.scope, { E: errData }); + } + }); + + connection.reconnecting(function () { + if (connection.transport && connection.transport.name === "webSockets") { + clearInvocationCallbacks(connection, "Connection started reconnecting before invocation result was received."); + } + }); + + connection.disconnected(function () { + clearInvocationCallbacks(connection, "Connection was disconnected before invocation result was received."); + }); + }; + + hubConnection.fn._maximizeClientHubInvocation = function (minClientHubInvocation) { + return { + Hub: minClientHubInvocation.H, + Method: minClientHubInvocation.M, + Args: minClientHubInvocation.A, + State: minClientHubInvocation.S + }; + }; + + hubConnection.fn._registerSubscribedHubs = function () { + /// + /// Sets the starting event to loop through the known hubs and register any new hubs + /// that have been added to the proxy. + /// + var connection = this; + + if (!connection._subscribedToHubs) { + connection._subscribedToHubs = true; + connection.starting(function () { + // Set the connection's data object with all the hub proxies with active subscriptions. + // These proxies will receive notifications from the server. + var subscribedHubs = []; + + $.each(connection.proxies, function (key) { + if (this.hasSubscriptions()) { + subscribedHubs.push({ name: key }); + connection.log("Client subscribed to hub '" + key + "'."); + } + }); + + if (subscribedHubs.length === 0) { + connection.log("No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to."); + } + + connection.data = connection.json.stringify(subscribedHubs); + }); + } + }; + + hubConnection.fn.createHubProxy = function (hubName) { + /// + /// Creates a new proxy object for the given hub connection that can be used to invoke + /// methods on server hubs and handle client method invocation requests from the server. + /// + /// + /// The name of the hub on the server to create the proxy for. + /// + + // Normalize the name to lowercase + hubName = hubName.toLowerCase(); + + var proxy = this.proxies[hubName]; + if (!proxy) { + proxy = hubProxy(this, hubName); + this.proxies[hubName] = proxy; + } + + this._registerSubscribedHubs(); + + return proxy; + }; + + hubConnection.fn.init.prototype = hubConnection.fn; + + $.hubConnection = hubConnection; + +}(window.jQuery, window)); +/* jquery.signalR.version.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// +(function ($, undefined) { + $.signalR.version = "2.0.3"; +}(window.jQuery)); diff --git a/GMW-RT/Scripts/jquery.signalR-2.0.3.min.js b/GMW-RT/Scripts/jquery.signalR-2.0.3.min.js new file mode 100644 index 00000000..6c53ded8 --- /dev/null +++ b/GMW-RT/Scripts/jquery.signalR-2.0.3.min.js @@ -0,0 +1,8 @@ +/*! + * ASP.NET SignalR JavaScript Library v2.0.3 + * http://signalr.net/ + * + * Copyright (C) Microsoft Corporation. All rights reserved. + * + */ +(function(n,t,i){"use strict";function p(t,i){var u,f;if(n.isArray(t)){for(u=t.length-1;u>=0;u--)f=t[u],n.type(f)==="string"&&r.transports[f]||(i.log("Invalid transport: "+f+", removing it from the transports list."),t.splice(u,1));t.length===0&&(i.log("No transports remain within the specified transport array."),t=null)}else if(r.transports[t]||t==="auto"){if(t==="auto"&&r._.ieVersion<=8)return["longPolling"]}else i.log("Invalid transport: "+t.toString()+"."),t=null;return t}function w(n){return n==="http:"?80:n==="https:"?443:void 0}function l(n,t){return t.match(/:\d+$/)?t:t+":"+w(n)}function b(t,i){var u=this,r=[];u.tryBuffer=function(i){return t.state===n.signalR.connectionState.connecting?(r.push(i),!0):!1};u.drain=function(){if(t.state===n.signalR.connectionState.connected)while(r.length>0)i(r.shift())};u.clear=function(){r=[]}}var f={nojQuery:"jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",noTransportOnInit:"No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",errorOnNegotiate:"Error during negotiation request.",stoppedWhileLoading:"The connection was stopped during page load.",stoppedWhileNegotiating:"The connection was stopped during the negotiate request.",errorParsingNegotiateResponse:"Error parsing negotiate response.",protocolIncompatible:"You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",sendFailed:"Send failed.",parseFailed:"Failed at parsing response: {0}",longPollFailed:"Long polling request failed.",eventSourceFailedToConnect:"EventSource failed to connect.",eventSourceError:"Error raised by EventSource",webSocketClosed:"WebSocket closed.",pingServerFailedInvalidResponse:"Invalid ping response when pinging server: '{0}'.",pingServerFailed:"Failed to ping server.",pingServerFailedStatusCode:"Failed to ping server. Server responded with status code {0}, stopping the connection.",pingServerFailedParse:"Failed to parse ping server response, stopping the connection.",noConnectionTransport:"Connection is in an invalid state, there is no transport active.",webSocketsInvalidState:"The Web Socket transport is in an invalid state, transitioning into reconnecting."};if(typeof n!="function")throw new Error(f.nojQuery);var r,h,s=t.document.readyState==="complete",e=n(t),c="__Negotiate Aborted__",u={onStart:"onStart",onStarting:"onStarting",onReceived:"onReceived",onError:"onError",onConnectionSlow:"onConnectionSlow",onReconnecting:"onReconnecting",onReconnect:"onReconnect",onStateChanged:"onStateChanged",onDisconnect:"onDisconnect"},a=function(n,i){if(i!==!1){var r;typeof t.console!="undefined"&&(r="["+(new Date).toTimeString()+"] SignalR: "+n,t.console.debug?t.console.debug(r):t.console.log&&t.console.log(r))}},o=function(t,i,r){return i===t.state?(t.state=r,n(t).triggerHandler(u.onStateChanged,[{oldState:i,newState:r}]),!0):!1},v=function(n){return n.state===r.connectionState.disconnected},y=function(n){var i,u;n._.configuredStopReconnectingTimeout||(u=function(n){n.log("Couldn't reconnect within the configured timeout ("+n.disconnectTimeout+"ms), disconnecting.");n.stop(!1,!1)},n.reconnecting(function(){var n=this;n.state===r.connectionState.reconnecting&&(i=t.setTimeout(function(){u(n)},n.disconnectTimeout))}),n.stateChanged(function(n){n.oldState===r.connectionState.reconnecting&&t.clearTimeout(i)}),n._.configuredStopReconnectingTimeout=!0)};r=function(n,t,i){return new r.fn.init(n,t,i)};r._={defaultContentType:"application/x-www-form-urlencoded; charset=UTF-8",ieVersion:function(){var i,n;return t.navigator.appName==="Microsoft Internet Explorer"&&(n=/MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent),n&&(i=t.parseFloat(n[1]))),i}(),error:function(n,t,i){var r=new Error(n);return r.source=t,typeof i!="undefined"&&(r.context=i),r},transportError:function(n,t,r,u){var f=this.error(n,r,u);return f.transport=t?t.name:i,f},format:function(){for(var t=arguments[0],n=0;n<\/script>.");}};e.load(function(){s=!0});r.fn=r.prototype={init:function(t,i,r){var f=n(this);this.url=t;this.qs=i;this._={keepAliveData:{},connectingMessageBuffer:new b(this,function(n){f.triggerHandler(u.onReceived,[n])}),onFailedTimeoutHandle:null,lastMessageAt:(new Date).getTime(),lastActiveAt:(new Date).getTime(),beatInterval:5e3,beatHandle:null,totalTransportConnectTimeout:0};typeof r=="boolean"&&(this.logging=r)},_parseResponse:function(n){var t=this;return n?typeof n=="string"?t.json.parse(n):n:n},json:t.JSON,isCrossDomain:function(i,r){var u;return(i=n.trim(i),r=r||t.location,i.indexOf("http")!==0)?!1:(u=t.document.createElement("a"),u.href=i,u.protocol+l(u.protocol,u.host)!==r.protocol+l(r.protocol,r.host))},ajaxDataType:"text",contentType:"application/json; charset=UTF-8",logging:!1,state:r.connectionState.disconnected,clientProtocol:"1.3",reconnectDelay:2e3,transportConnectTimeout:0,disconnectTimeout:3e4,reconnectWindow:3e4,keepAliveWarnAt:2/3,start:function(i,h){var l=this,a={pingInterval:3e5,waitForPageLoad:!0,transport:"auto",jsonp:!1},k,v=l._deferral||n.Deferred(),w=t.document.createElement("a"),b,d;if(l._deferral=v,!l.json)throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");if(n.type(i)==="function"?h=i:n.type(i)==="object"&&(n.extend(a,i),n.type(a.callback)==="function"&&(h=a.callback)),a.transport=p(a.transport,l),!a.transport)throw new Error("SignalR: Invalid transport(s) specified, aborting start.");return(l._.config=a,!s&&a.waitForPageLoad===!0)?(l._.deferredStartHandler=function(){l.start(i,h)},e.bind("load",l._.deferredStartHandler),v.promise()):l.state===r.connectionState.connecting?v.promise():o(l,r.connectionState.disconnected,r.connectionState.connecting)===!1?(v.resolve(l),v.promise()):(y(l),w.href=l.url,w.protocol&&w.protocol!==":"?(l.protocol=w.protocol,l.host=w.host,l.baseUrl=w.protocol+"//"+w.host):(l.protocol=t.document.location.protocol,l.host=t.document.location.host,l.baseUrl=l.protocol+"//"+l.host),l.wsProtocol=l.protocol==="https:"?"wss://":"ws://",a.transport==="auto"&&a.jsonp===!0&&(a.transport="longPolling"),l.url.indexOf("//")===0&&(l.url=t.location.protocol+l.url,l.log("Protocol relative URL detected, normalizing it to '"+l.url+"'.")),this.isCrossDomain(l.url)&&(l.log("Auto detected cross domain url."),a.transport==="auto"&&(a.transport=["webSockets","serverSentEvents","longPolling"]),typeof a.withCredentials=="undefined"&&(a.withCredentials=!0),a.jsonp||(a.jsonp=!n.support.cors,a.jsonp&&l.log("Using jsonp because this browser doesn't support CORS.")),l.contentType=r._.defaultContentType),l.withCredentials=a.withCredentials,l.ajaxDataType=a.jsonp?"jsonp":"text",n(l).bind(u.onStart,function(){n.type(h)==="function"&&h.call(l);v.resolve(l)}),k=function(i,s){var y=r._.error(f.noTransportOnInit);if(s=s||0,s>=i.length){n(l).triggerHandler(u.onError,[y]);v.reject(y);l.stop();return}if(l.state!==r.connectionState.disconnected){var p=i[s],h=r.transports[p],c=!1,a=function(){c||(c=!0,t.clearTimeout(l._.onFailedTimeoutHandle),h.stop(l),k(i,s+1))};l.transport=h;try{l._.onFailedTimeoutHandle=t.setTimeout(function(){l.log(h.name+" timed out when trying to connect.");a()},l._.totalTransportConnectTimeout);h.start(l,function(){var i=r._.firefoxMajorVersion(t.navigator.userAgent)>=11,f=!!l.withCredentials&&i;l.state!==r.connectionState.disconnected&&(c||(c=!0,t.clearTimeout(l._.onFailedTimeoutHandle),h.supportsKeepAlive&&l._.keepAliveData.activated&&r.transports._logic.monitorKeepAlive(l),r.transports._logic.startHeartbeat(l),r._.configurePingInterval(l),o(l,r.connectionState.connecting,r.connectionState.connected),l._.connectingMessageBuffer.drain(),n(l).triggerHandler(u.onStart),e.bind("unload",function(){l.log("Window unloading, stopping the connection.");l.stop(f)}),i&&e.bind("beforeunload",function(){t.setTimeout(function(){l.stop(f)},0)})))},a)}catch(w){l.log(h.name+" transport threw '"+w.message+"' when attempting to start.");a()}}},b=l.url+"/negotiate",d=function(t,i){var e=r._.error(f.errorOnNegotiate,t,i._.negotiateRequest);n(i).triggerHandler(u.onError,e);v.reject(e);i.stop()},n(l).triggerHandler(u.onStarting),b=r.transports._logic.prepareQueryString(l,b),b=r.transports._logic.addQs(b,{clientProtocol:l.clientProtocol}),l.log("Negotiating with '"+b+"'."),l._.negotiateRequest=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:l.withCredentials},url:b,type:"GET",contentType:l.contentType,data:{},dataType:l.ajaxDataType,error:function(n,t){t!==c?d(n,l):v.reject(r._.error(f.stoppedWhileNegotiating,null,l._.negotiateRequest))},success:function(t){var i,e,h,o=[],s=[];try{i=l._parseResponse(t)}catch(c){d(r._.error(f.errorParsingNegotiateResponse,c),l);return}if(e=l._.keepAliveData,l.appRelativeUrl=i.Url,l.id=i.ConnectionId,l.token=i.ConnectionToken,l.webSocketServerUrl=i.WebSocketServerUrl,l.disconnectTimeout=i.DisconnectTimeout*1e3,l._.totalTransportConnectTimeout=l.transportConnectTimeout+i.TransportConnectTimeout*1e3,i.KeepAliveTimeout?(e.activated=!0,e.timeout=i.KeepAliveTimeout*1e3,e.timeoutWarning=e.timeout*l.keepAliveWarnAt,l._.beatInterval=(e.timeout-e.timeoutWarning)/3):e.activated=!1,l.reconnectWindow=l.disconnectTimeout+(e.timeout||0),!i.ProtocolVersion||i.ProtocolVersion!==l.clientProtocol){h=r._.error(r._.format(f.protocolIncompatible,l.clientProtocol,i.ProtocolVersion));n(l).triggerHandler(u.onError,[h]);v.reject(h);return}n.each(r.transports,function(n){if(n.indexOf("_")===0||n==="webSockets"&&!i.TryWebSockets)return!0;s.push(n)});n.isArray(a.transport)?n.each(a.transport,function(t,i){n.inArray(i,s)>=0&&o.push(i)}):a.transport==="auto"?o=s:n.inArray(a.transport,s)>=0&&o.push(a.transport);k(o)}})),v.promise())},starting:function(t){var i=this;return n(i).bind(u.onStarting,function(){t.call(i)}),i},send:function(n){var t=this;if(t.state===r.connectionState.disconnected)throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");if(t.state===r.connectionState.connecting)throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");return t.transport.send(t,n),t},received:function(t){var i=this;return n(i).bind(u.onReceived,function(n,r){t.call(i,r)}),i},stateChanged:function(t){var i=this;return n(i).bind(u.onStateChanged,function(n,r){t.call(i,r)}),i},error:function(t){var i=this;return n(i).bind(u.onError,function(n,r,u){t.call(i,r,u)}),i},disconnected:function(t){var i=this;return n(i).bind(u.onDisconnect,function(){t.call(i)}),i},connectionSlow:function(t){var i=this;return n(i).bind(u.onConnectionSlow,function(){t.call(i)}),i},reconnecting:function(t){var i=this;return n(i).bind(u.onReconnecting,function(){t.call(i)}),i},reconnected:function(t){var i=this;return n(i).bind(u.onReconnect,function(){t.call(i)}),i},stop:function(i,h){var l=this,a=l._deferral;if(l._.deferredStartHandler&&e.unbind("load",l._.deferredStartHandler),delete l._deferral,delete l._.config,delete l._.deferredStartHandler,!s&&(!l._.config||l._.config.waitForPageLoad===!0)){l.log("Stopping connection prior to negotiate.");a&&a.reject(r._.error(f.stoppedWhileLoading));return}if(l.state!==r.connectionState.disconnected)return l.log("Stopping connection."),o(l,l.state,r.connectionState.disconnected),t.clearTimeout(l._.beatHandle),t.clearTimeout(l._.onFailedTimeoutHandle),t.clearInterval(l._.pingIntervalId),l.transport&&(l.transport.stop(l),h!==!1&&l.transport.abort(l,i),l.transport.supportsKeepAlive&&l._.keepAliveData.activated&&r.transports._logic.stopMonitoringKeepAlive(l),l.transport=null),l._.negotiateRequest&&(l._.negotiateRequest.abort(c),delete l._.negotiateRequest),n(l).triggerHandler(u.onDisconnect),delete l.messageId,delete l.groupsToken,delete l.id,delete l._.pingIntervalId,delete l._.lastMessageAt,delete l._.lastActiveAt,l._.connectingMessageBuffer.clear(),l},log:function(n){a(n,this.logging)}};r.fn.init.prototype=r.fn;r.noConflict=function(){return n.connection===r&&(n.connection=h),r};n.connection&&(h=n.connection);n.connection=n.signalR=r})(window.jQuery,window),function(n,t){"use strict";function f(n){n._.keepAliveData.monitoring&&o(n);r.markActive(n)&&(n._.beatHandle=t.setTimeout(function(){f(n)},n._.beatInterval))}function o(t){var r=t._.keepAliveData,f;t.state===i.connectionState.connected&&(f=(new Date).getTime()-t._.lastMessageAt,f>=r.timeout?(t.log("Keep alive timed out. Notifying transport that connection has been lost."),t.transport.lostConnection(t)):f>=r.timeoutWarning?r.userNotified||(t.log("Keep alive has been missed, connection may be dead/slow."),n(t).triggerHandler(u.onConnectionSlow),r.userNotified=!0):r.userNotified=!1)}function s(n,i){var r=n.indexOf("?")!==-1?"&":"?";return i&&(n+=r+"connectionData="+t.encodeURIComponent(i)),n}var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,r;i.transports={};r=i.transports._logic={pingServer:function(t){var e,u=n.Deferred(),f;return t.transport?(e=t.url+"/ping",e=r.addQs(e,t.qs),f=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:t.withCredentials},url:e,type:"GET",contentType:t.contentType,data:{},dataType:t.ajaxDataType,success:function(n){var r;try{r=t._parseResponse(n)}catch(e){u.reject(i._.transportError(i.resources.pingServerFailedParse,t.transport,e,f));t.stop();return}r.Response==="pong"?u.resolve():u.reject(i._.transportError(i._.format(i.resources.pingServerFailedInvalidResponse,n.responseText),t.transport,null,f))},error:function(n){n.status===401||n.status===403?(u.reject(i._.transportError(i._.format(i.resources.pingServerFailedStatusCode,n.status),t.transport,n,f)),t.stop()):u.reject(i._.transportError(i.resources.pingServerFailed,t.transport,n,f))}}))):u.reject(i._.transportError(i.resources.noConnectionTransport,t.transport)),u.promise()},prepareQueryString:function(n,t){return t=r.addQs(t,n.qs),s(t,n.data)},addQs:function(t,i){var r=t.indexOf("?")!==-1?"&":"?",u;if(!i)return t;if(typeof i=="object")return t+r+n.param(i);if(typeof i=="string")return u=i.charAt(0),(u==="?"||u==="&")&&(r=""),t+r+i;throw new Error("Query string property must be either a string or object.");},getUrl:function(n,i,u,f){var s=i==="webSockets"?"":n.baseUrl,e=s+n.appRelativeUrl,o="transport="+i+"&connectionToken="+t.encodeURIComponent(n.token);return n.groupsToken&&(o+="&groupsToken="+t.encodeURIComponent(n.groupsToken)),u?(e+=f?"/poll":"/reconnect",n.messageId&&(o+="&messageId="+t.encodeURIComponent(n.messageId))):e+="/connect",e+="?"+o,e=r.prepareQueryString(n,e),e+("&tid="+Math.floor(Math.random()*11))},maximizePersistentResponse:function(n){return{MessageId:n.C,Messages:n.M,Initialized:typeof n.S!="undefined"?!0:!1,Disconnect:typeof n.D!="undefined"?!0:!1,ShouldReconnect:typeof n.T!="undefined"?!0:!1,LongPollDelay:n.L,GroupsToken:n.G}},updateGroups:function(n,t){t&&(n.groupsToken=t)},stringifySend:function(n,t){return typeof t=="string"||typeof t=="undefined"||t===null?t:n.json.stringify(t)},ajaxSend:function(f,e){var c=r.stringifySend(f,e),o=f.url+"/send?transport="+f.transport.name+"&connectionToken="+t.encodeURIComponent(f.token),s,h=function(t,r){n(r).triggerHandler(u.onError,[i._.transportError(i.resources.sendFailed,r.transport,t,s),e])};return o=r.prepareQueryString(f,o),s=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:f.withCredentials},url:o,type:f.ajaxDataType==="jsonp"?"GET":"POST",contentType:i._.defaultContentType,dataType:f.ajaxDataType,data:{data:c},success:function(n){var t;if(n){try{t=f._parseResponse(n)}catch(i){h(i,f);f.stop();return}r.triggerReceived(f,t)}},error:function(n,t){t!=="abort"&&t!=="parsererror"&&h(n,f)}}))},ajaxAbort:function(i,u){if(typeof i.transport!="undefined"){u=typeof u=="undefined"?!0:u;var f=i.url+"/abort?transport="+i.transport.name+"&connectionToken="+t.encodeURIComponent(i.token);f=r.prepareQueryString(i,f);n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:i.withCredentials},url:f,async:u,timeout:1e3,type:"POST",contentType:i.contentType,dataType:i.ajaxDataType,data:{}}));i.log("Fired ajax abort async = "+u+".")}},tryInitialize:function(n,t){n.Initialized&&t()},triggerReceived:function(t,i){t._.connectingMessageBuffer.tryBuffer(i)||n(t).triggerHandler(u.onReceived,[i])},processMessages:function(t,i,u){var f;if(r.markLastMessage(t),i){if(f=r.maximizePersistentResponse(i),f.Disconnect){t.log("Disconnect command received from server.");t.stop(!1,!1);return}r.updateGroups(t,f.GroupsToken);f.MessageId&&(t.messageId=f.MessageId);f.Messages&&(n.each(f.Messages,function(n,i){r.triggerReceived(t,i)}),r.tryInitialize(f,u))}},monitorKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring?t.log("Tried to monitor keep alive but it's already being monitored."):(i.monitoring=!0,r.markLastMessage(t),t._.keepAliveData.reconnectKeepAliveUpdate=function(){r.markLastMessage(t)},n(t).bind(u.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t.log("Now monitoring keep alive with a warning timeout of "+i.timeoutWarning+" and a connection lost timeout of "+i.timeout+"."))},stopMonitoringKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring&&(i.monitoring=!1,n(t).unbind(u.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t._.keepAliveData={},t.log("Stopping the monitoring of the keep alive."))},startHeartbeat:function(n){n._.lastActiveAt=(new Date).getTime();f(n)},markLastMessage:function(n){n._.lastMessageAt=(new Date).getTime()},markActive:function(n){return r.verifyLastActive(n)?(n._.lastActiveAt=(new Date).getTime(),!0):!1},isConnectedOrReconnecting:function(n){return n.state===i.connectionState.connected||n.state===i.connectionState.reconnecting},ensureReconnectingState:function(t){return e(t,i.connectionState.connected,i.connectionState.reconnecting)===!0&&n(t).triggerHandler(u.onReconnecting),t.state===i.connectionState.reconnecting},clearReconnectTimeout:function(n){n&&n._.reconnectTimeout&&(t.clearTimeout(n._.reconnectTimeout),delete n._.reconnectTimeout)},verifyLastActive:function(n){return(new Date).getTime()-n._.lastActiveAt>=n.reconnectWindow?(n.log("There has not been an active server connection for an extended period of time. Stopping connection."),n.stop(),!1):!0},reconnect:function(n,u){var f=i.transports[u];if(r.isConnectedOrReconnecting(n)&&!n._.reconnectTimeout){if(!r.verifyLastActive(n))return;n._.reconnectTimeout=t.setTimeout(function(){r.verifyLastActive(n)&&(f.stop(n),r.ensureReconnectingState(n)&&(n.log(u+" reconnecting."),f.start(n)))},n.reconnectDelay)}},handleParseFailure:function(t,r,f,e,o){t.state===i.connectionState.connecting?(t.log("Failed to parse server response while attempting to connect."),e()):(n(t).triggerHandler(u.onError,[i._.transportError(i._.format(i.resources.parseFailed,r),t.transport,f,o)]),t.stop())},foreverFrame:{count:0,connections:{}}}}(window.jQuery,window),function(n,t){"use strict";var r=n.signalR,u=n.signalR.events,f=n.signalR.changeState,i=r.transports._logic;r.transports.webSockets={name:"webSockets",supportsKeepAlive:!0,send:function(t,f){var e=i.stringifySend(t,f);try{t.socket.send(e)}catch(o){n(t).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketsInvalidState,t.transport,o,t.socket),f])}},start:function(e,o,s){var h,c=!1,l=this,a=!o,v=n(e);if(!t.WebSocket){s();return}e.socket||(h=e.webSocketServerUrl?e.webSocketServerUrl:e.wsProtocol+e.host,h+=i.getUrl(e,this.name,a),e.log("Connecting to websocket endpoint '"+h+"'."),e.socket=new t.WebSocket(h),e.socket.onopen=function(){c=!0;e.log("Websocket opened.");i.clearReconnectTimeout(e);f(e,r.connectionState.reconnecting,r.connectionState.connected)===!0&&v.triggerHandler(u.onReconnect)},e.socket.onclose=function(t){if(this===e.socket){if(c)typeof t.wasClean!="undefined"&&t.wasClean===!1?(n(e).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketClosed,e.transport,t)]),e.log("Unclean disconnect from websocket: "+t.reason||"[no reason given].")):e.log("Websocket closed.");else{s?s():a&&l.reconnect(e);return}l.reconnect(e)}},e.socket.onmessage=function(t){var r;try{r=e._parseResponse(t.data)}catch(u){i.handleParseFailure(e,t.data,u,s,t);return}r&&(n.isEmptyObject(r)||r.M?i.processMessages(e,r,o):i.triggerReceived(e,r))})},reconnect:function(n){i.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},stop:function(n){i.clearReconnectTimeout(n);n.socket&&(n.log("Closing the Websocket."),n.socket.close(),n.socket=null)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){"use strict";var i=n.signalR,u=n.signalR.events,f=n.signalR.changeState,r=i.transports._logic;i.transports.serverSentEvents={name:"serverSentEvents",supportsKeepAlive:!0,timeOut:3e3,start:function(e,o,s){var h=this,c=!1,l=n(e),a=!o,v,y;if(e.eventSource&&(e.log("The connection already has an event source. Stopping it."),e.stop()),!t.EventSource){s&&(e.log("This browser doesn't support SSE."),s());return}v=r.getUrl(e,this.name,a);try{e.log("Attempting to connect to SSE endpoint '"+v+"'.");e.eventSource=new t.EventSource(v,{withCredentials:e.withCredentials})}catch(p){e.log("EventSource failed trying to connect with error "+p.Message+".");s?s():(l.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceFailedToConnect,e.transport,p)]),a&&h.reconnect(e));return}a&&(y=t.setTimeout(function(){c===!1&&e.eventSource.readyState!==t.EventSource.OPEN&&h.reconnect(e)},h.timeOut));e.eventSource.addEventListener("open",function(){e.log("EventSource connected.");y&&t.clearTimeout(y);r.clearReconnectTimeout(e);c===!1&&(c=!0,f(e,i.connectionState.reconnecting,i.connectionState.connected)===!0&&l.triggerHandler(u.onReconnect))},!1);e.eventSource.addEventListener("message",function(n){var t;if(n.data!=="initialized"){try{t=e._parseResponse(n.data)}catch(i){r.handleParseFailure(e,n.data,i,s,n);return}r.processMessages(e,t,o)}},!1);e.eventSource.addEventListener("error",function(n){if(this===e.eventSource){if(!c){s&&s();return}e.log("EventSource readyState: "+e.eventSource.readyState+".");n.eventPhase===t.EventSource.CLOSED?(e.log("EventSource reconnecting due to the server connection ending."),h.reconnect(e)):(e.log("EventSource error."),l.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceError,e.transport,n)]))}},!1)},reconnect:function(n){r.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){r.clearReconnectTimeout(n);n&&n.eventSource&&(n.log("EventSource calling close()."),n.eventSource.close(),n.eventSource=null,delete n.eventSource)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){"use strict";var r=n.signalR,e=n.signalR.events,o=n.signalR.changeState,i=r.transports._logic,u=function(){var n=t.document.createElement("iframe");return n.setAttribute("style","position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"),n},f=function(){var i=null,f=1e3,n=0;return{prevent:function(){r._.ieVersion<=8&&(n===0&&(i=t.setInterval(function(){var n=u();t.document.body.appendChild(n);t.document.body.removeChild(n);n=null},f)),n++)},cancel:function(){n===1&&t.clearInterval(i);n>0&&n--}}}();r.transports.foreverFrame={name:"foreverFrame",supportsKeepAlive:!0,iframeClearThreshold:50,start:function(n,r,e){var l=this,s=i.foreverFrame.count+=1,h,o=u(),c=function(){n.log("Forever frame iframe finished loading and is no longer receiving messages.");l.reconnect(n)};if(t.EventSource){e&&(n.log("This browser supports SSE, skipping Forever Frame."),e());return}o.setAttribute("data-signalr-connection-id",n.id);f.prevent();h=i.getUrl(n,this.name);h+="&frameId="+s;t.document.body.appendChild(o);n.log("Binding to iframe's load event.");o.addEventListener?o.addEventListener("load",c,!1):o.attachEvent&&o.attachEvent("onload",c);o.src=h;i.foreverFrame.connections[s]=n;n.frame=o;n.frameId=s;r&&(n.onSuccess=function(){n.log("Iframe transport started.");r()})},reconnect:function(n){var r=this;i.isConnectedOrReconnecting(n)&&i.verifyLastActive(n)&&t.setTimeout(function(){if(i.verifyLastActive(n)&&n.frame&&i.ensureReconnectingState(n)){var u=n.frame,t=i.getUrl(n,r.name,!0)+"&frameId="+n.frameId;n.log("Updating iframe src to '"+t+"'.");u.src=t}},n.reconnectDelay)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){i.ajaxSend(n,t)},receive:function(t,u){var f,e;if(i.processMessages(t,u,t.onSuccess),t.state===n.signalR.connectionState.connected&&(t.frameMessageCount=(t.frameMessageCount||0)+1,t.frameMessageCount>r.transports.foreverFrame.iframeClearThreshold&&(t.frameMessageCount=0,f=t.frame.contentWindow||t.frame.contentDocument,f&&f.document&&f.document.body)))for(e=f.document.body;e.firstChild;)e.removeChild(e.firstChild)},stop:function(n){var r=null;if(f.cancel(),n.frame){if(n.frame.stop)n.frame.stop();else try{r=n.frame.contentWindow||n.frame.contentDocument;r.document&&r.document.execCommand&&r.document.execCommand("Stop")}catch(u){n.log("Error occured when stopping foreverFrame transport. Message = "+u.message+".")}n.frame.parentNode===t.document.body&&t.document.body.removeChild(n.frame);delete i.foreverFrame.connections[n.frameId];n.frame=null;n.frameId=null;delete n.frame;delete n.frameId;delete n.onSuccess;delete n.frameMessageCount;n.log("Stopping forever frame.")}},abort:function(n,t){i.ajaxAbort(n,t)},getConnection:function(n){return i.foreverFrame.connections[n]},started:function(t){o(t,r.connectionState.reconnecting,r.connectionState.connected)===!0&&n(t).triggerHandler(e.onReconnect)}}}(window.jQuery,window),function(n,t){"use strict";var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,f=n.signalR.isDisconnecting,r=i.transports._logic;i.transports.longPolling={name:"longPolling",supportsKeepAlive:!1,reconnectDelay:3e3,start:function(o,s,h){var a=this,v=function(){v=n.noop;o.log("LongPolling connected.");s();h=null},y=function(){return h?(h(),h=null,o.log("LongPolling failed to connect."),!0):!1},c=o._,l=0,p=function(r){t.clearTimeout(c.reconnectTimeoutId);c.reconnectTimeoutId=null;e(r,i.connectionState.reconnecting,i.connectionState.connected)===!0&&(r.log("Raising the reconnect event"),n(r).triggerHandler(u.onReconnect))},w=36e5;o.pollXhr&&(o.log("Polling xhr requests already exists, aborting."),o.stop());o.messageId=null;c.reconnectTimeoutId=null;c.pollTimeoutId=t.setTimeout(function(){(function e(s,h){var d=s.messageId,g=d===null,b=!g,nt=!h,k=r.getUrl(s,a.name,b,nt);f(s)!==!0&&(o.log("Opening long polling request to '"+k+"'."),s.pollXhr=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:o.withCredentials},url:k,type:"GET",dataType:o.ajaxDataType,contentType:o.contentType,success:function(i){var h,w=0,u,a;o.log("Long poll complete.");l=0;try{h=o._parseResponse(i)}catch(b){r.handleParseFailure(s,i,b,y,s.pollXhr);return}(c.reconnectTimeoutId!==null&&p(s),h&&(u=r.maximizePersistentResponse(h)),r.processMessages(s,h,v),u&&n.type(u.LongPollDelay)==="number"&&(w=u.LongPollDelay),u&&u.Disconnect)||f(s)!==!0&&(a=u&&u.ShouldReconnect,!a||r.ensureReconnectingState(s))&&(w>0?c.pollTimeoutId=t.setTimeout(function(){e(s,a)},w):e(s,a))},error:function(f,h){if(t.clearTimeout(c.reconnectTimeoutId),c.reconnectTimeoutId=null,h==="abort"){o.log("Aborted xhr request.");return}if(!y()){if(l++,o.state!==i.connectionState.reconnecting&&(o.log("An error occurred using longPolling. Status = "+h+". Response = "+f.responseText+"."),n(s).triggerHandler(u.onError,[i._.transportError(i.resources.longPollFailed,o.transport,f,s.pollXhr)])),(o.state===i.connectionState.connected||o.state===i.connectionState.reconnecting)&&!r.verifyLastActive(o))return;if(!r.ensureReconnectingState(s))return;c.pollTimeoutId=t.setTimeout(function(){e(s,!0)},a.reconnectDelay)}}})),b&&h===!0&&(c.reconnectTimeoutId=t.setTimeout(function(){p(s)},Math.min(1e3*(Math.pow(2,l)-1),w))))})(o)},250)},lostConnection:function(){throw new Error("Lost Connection not handled for LongPolling");},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){t.clearTimeout(n._.pollTimeoutId);t.clearTimeout(n._.reconnectTimeoutId);delete n._.pollTimeoutId;delete n._.reconnectTimeoutId;n.pollXhr&&(n.pollXhr.abort(),n.pollXhr=null,delete n.pollXhr)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n){"use strict";function r(n){return n+e}function s(n,t,i){for(var f=n.length,u=[],r=0;r + + + + + + + + + \ No newline at end of file diff --git a/GMW-RT/Web.Release.config b/GMW-RT/Web.Release.config new file mode 100644 index 00000000..c3584446 --- /dev/null +++ b/GMW-RT/Web.Release.config @@ -0,0 +1,31 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/GMW-RT/Web.config b/GMW-RT/Web.config new file mode 100644 index 00000000..d7e1ffdc --- /dev/null +++ b/GMW-RT/Web.config @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/GMW-RT/bin/GMW-RT.dll b/GMW-RT/bin/GMW-RT.dll new file mode 100644 index 0000000000000000000000000000000000000000..5687f6a4b186d03906f29b80abcfe596048692d1 GIT binary patch literal 6144 zcmeHLYit}>6+W}OeqRixM{rjmBeX7YI_|!Ch?=*jZ<2KJ-d6oo_2O- zGc%jSB&4p=BHB`vBDDwwL<*`z1(i~PL`VgxDpmYIg&WNhVR^& zwb$MdiJuj@tNHG^=bU@)x#zxj^uerA4&5I=t04J+YtYkP@WoKi?ZK zwDt}KTC0>QqIKYud)&`Ok*oOn@UcV%20Xu+;j0lXdVJ;uY4!ED_#=eY( zw>}U&P!W7ZsSinL z`bl&mEDZ(Pnm}6X8JYpK9qn*?$CuiJ^-%jEuf6J(?KPLQ*VI&KdHoXQ`OpIEi);%% zaCQ=|h9yY`>F&ZJR;d$sCnA@M|Fc=>f%$CXdaro@ht3yQ8~v z4+@C40sJl&;Fi-w^%&c&WuW7(t(zH#HG0<&bs*nzI8O7Rc?xeCK0Gpr`~=D$AXHlh z3@eE;C%CH|X$VxV0YTTdb@Lp63T?v&({fsHjwVUPSBsD3JgqqAb;MPvS$0rx1MP{K4JF)Q)Q5?_?~Q;Ba&{D;IHf$Bh*`Xr78 zxNb(`*8-0R#_4--AxysyT!PMZU?U9%nH~?GLWdrZv;n$>UJJeuY@uIE{5!Cb{sn0Z zRfb*&hG}Q0B~(uN&=KG_fv_23Z~qdy6ey=PW#?oMy?*j2DTr?aZ9=39rLDAs)}R!k zGs-&JjIeR3T$Wx((AFSY!bx=a%)8~q|ZMRm}8%`cs$CX`~WQnvm%$bxjx zE7A7}Q-=;0$-L3H1myr-1}gM3YNhAk%U!@u+9T0U}JQF@ww3#=jqSVsqe8zg@VI3+5mjz^ky`|=cn}; zJ)YY<_ck)w3cxC2R+J*t{sA*%{#u z;UXZ8TlORUF7~u!-Yxc1Hpbw0c3CH}kP}O`#hd|Ox%qy_5!s}%kkDO2ENd6ogThJK zdX7~~g)2I8GjTSjnG2}4#Naiyc zZADWa595g$3vX6A3+Hk$ZWntChMX&t!q84g%2{^FpC?=oqNHx(=A1>IUNLLP&~SpsY@uP!7b^Nr z7mCu3SMb#R_{J>5pYl$0SfKBEibnREXwK&0L7zv=W7Z>L6srMi)LUvrUa#67umLzU z0^|S*8xb|V1;w%DYbX}#Ow7>H8DH~0c#}L%w&Mc+WVQTTwC4{`K;0q(E<^%v7D4hbFE%^;l7ziYu^grQ$c}9 zw)SXE6O~04YQIp^5LtW-8j)s?$W|5A#chg9bre|$me*04N|D7U;L*kk-*^Q)tD`!l ztU}oo$$rdlck!7J8m_5PVZ_LJLgjEJsn*;+mk)LsrF=-w!3>*T1)NRjf?JD zg(^C6MaB;gC={e!5Z+_z4!)Nq0*yy(EjMOi@}z{^?-TR3b=>g}?ZR7)y@$8k zdw6F}#s}m7etyHt&EM!6|LXHcU!AyeVI5aV-7|gI!O1o4XxY3l#Ppz*l1tl}#@?IP z3^nfN)4Ii->6*rYz-Om3jjr>D1AN*_K0GbAN}mzUrIRrH5lS8YJCI!-V_IdZG!@>9 z%aR%F$AgA3icQ+PW(XlKG^}xB8|?6t<#zf=M1bEvM0jB@u5_1IoqUIu@L7-lJ9wav z=sYhtKb;R?+2h?9ry1aWnglgM<1~iy2yh5Ar=NuWiie zz6-w|O3Jr*FI9kFXn9bcL@8+}x1yb4oKi>7-$_cyb~~_%E!UeuJsaLF`_+jzQpeJV zw?Dsv5F0{X)OFbZb94WSk~Y--35}oZW7b_XYo#O` tluBd7G3}Rk0X$7GLI!%OV$Q9M?&^9Rr`rh;P`&>QXZPKX#{Xjk{sS^Kz-j;h literal 0 HcmV?d00001 diff --git a/GMW-RT/bin/Microsoft.AspNet.SignalR.Core.dll b/GMW-RT/bin/Microsoft.AspNet.SignalR.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..498207a85ebaa81759218bc76230e290c5b6ea24 GIT binary patch literal 321720 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 h;eyhWnXbY34p*Y;+oW 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

$_`M9I5k@KHRZjWBn)$Pe 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 z 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 + + + Microsoft.AspNet.SignalR.Core + + + + + The amount of time the client should wait without seeing a keep alive before trying to reconnect. + + + + + The interval between successively checking connection states. + + + + + The amount of time a Topic should stay in memory after its last subscriber is removed. + + + + + + + The dependency resolver to use for the hub connection. + + + + + Gets of sets a boolean that determines if JSONP is enabled. + + + + + Represents a connection to the client. + + + + + Writes buffered data. + + The data to write to the buffer. + + + + Flushes the buffered response to the client. + + A task that represents when the data has been flushed. + + + + Gets a cancellation token that represents the client's lifetime. + + + + + Gets or sets the status code of the response. + + + + + Gets or sets the content type of the response. + + + + + Determines whether JavaScript proxies for the server-side hubs should be auto generated at {Path}/hubs or {Path}/js. + Defaults to true. + + + + + Determines whether detailed exceptions thrown in Hub methods get reported back the invoking client. + Defaults to false. + + + + + A server side proxy for the client side hub. + + + + + Invokes a method on the connection(s) represented by the instance. + + name of the method to invoke + argumetns to pass to the client + A task that represents when the data has been sent to the client. + + + + Encapsulates all information about a SignalR connection for an . + + + + + Returns a dynamic representation of all clients except the calling client ones specified. + + The list of connection ids to exclude + A dynamic representation of all clients except the calling client ones specified. + + + + Returns a dynamic representation of the connection with the specified connectionid. + + The connection id + A dynamic representation of the specified client. + + + + Returns a dynamic representation of the connections with the specified connectionids. + + The connection ids. + A dynamic representation of the specified clients. + + + + Returns a dynamic representation of the specified group. + + The name of the group + The list of connection ids to exclude + A dynamic representation of the specified group. + + + + Returns a dynamic representation of the specified groups. + + The names of the groups. + The list of connection ids to exclude + A dynamic representation of the specified groups. + + + + Encapsulates all information about an individual SignalR connection for an . + + + + + Holds information about a single hub method. + + + + + Name of Descriptor. + + + + + Flags whether the name was specified. + + + + + The return type of this method. + + + + + Hub descriptor object, target to this method. + + + + + Available method parameters. + + + + + Method invocation delegate. + Takes a target hub and an array of invocation arguments as it's arguments. + + + + + Attributes attached to this method. + + + + + The exception to be sent to the calling client. + This will be overridden by a generic Exception unless Error is a + or is set to true. + + + + + The value to return in lieu of throwing Error. Whenever Result is set, Error will be set to null. + + + + + Provides access to server configuration. + + + + + Gets or sets a representing the amount of time a client should allow to connect before falling + back to another transport or failing. + The default value is 5 seconds. + + + + + Gets or sets a representing the amount of time to leave a connection open before timing out. + The default value is 110 seconds. + + + + + Gets or sets a representing the amount of time to wait after a connection goes away before raising the disconnect event. + The default value is 30 seconds. + + + + + Gets or sets a representing the amount of time between send keep alive messages. + If enabled, this value must be at least two seconds. Set to null to disable. + The default value is 10 seconds. + + + + + Gets or sets the number of messages to buffer for a specific signal. + The default value is 1000. + + + + + Gets or sets the maximum size in bytes of messages sent from client to the server via WebSockets. + Set to null to disable this limit. + The default value is 65536 or 64 KB. + + + + + Gets or sets a representing tell the client to wait before restablishing a + long poll connection after data is sent from the server. + The default value is 0. + + + + + A buffering text writer that supports writing binary directly as well + + + + + TextWriter implementation over a write delegate optimized for writing in small chunks + we don't need to write to a long lived buffer. This saves massive amounts of memory + as the number of connections grows. + + + + + Implemented on anything that has the ability to write raw binary data + + + + + Default implementation. + + + + + Provides access to hubs and persistent connections references. + + + + + Returns a for the specified . + + Type of the + a for the specified + + + + Returns a for the specified hub. + + Name of the hub + a for the specified hub + + + + Returns a for the . + + Type of the + A for the . + + + + Initializes a new instance of the class. + + The . + + + + Returns a for the . + + Type of the + A for the . + + + + Returns a for the . + + Type of the + A for the . + + + + Returns a for the specified . + + Type of the + a for the specified + + + + Returns a for the specified hub. + + Name of the hub + a for the specified hub + + + + A message sent to one more connections. + + + + + Initializes a new instance of the class. + + The signal + The payload of the message + The signals to exclude. + + + + The signal to this message should be sent to. Connections subscribed to this signal + will receive the message payload. + + + + + A list of signals this message should be delivered to. If this is used + the Signal cannot be used. + + + + + The payload of the message. + + + + + Represents a list of signals that should be used to filter what connections + receive this message. + + + + + Provides access to default host information. + + + + + Gets or sets the the default + + + + + Gets the default + + + + + Gets the default + + + + + Gets the default + + + + + + + + + + Represents a SignalR request + + + + + Reads the form of the http request + + + + + + Gets the url for this request. + + + + + The local path part of the url + + + + + Gets the querystring for this request. + + + + + Gets the headers for this request. + + + + + Gets the cookies for this request. + + + + + Gets security information for the current HTTP request. + + + + + Gets the owin enviornment + + + + + A converter for dictionaries that uses a SipHash comparer + + + + + Represents a web socket. + + + + + Sends data over the websocket. + + The value to send. + A that represents the send is complete. + + + + Sends a chunk of data over the websocket ("endOfMessage" flag set to false.) + + + A that represents the send is complete. + + + + Sends a zero byte data chunk with the "endOfMessage" flag set to true. + + A that represents the flush is complete. + + + + Invoked when data is sent over the websocket + + + + + Invoked when the websocket closes + + + + + Invoked when there is an error + + + + + Extension methods for . + + + + + Closes the connection to a client with optional data. + + The . + The data to write to the connection. + A task that represents when the connection is closed. + + + + Encapsulates all information about an individual SignalR connection for an . + + + + + Initializes a new instance of the . + + + + + Initializes a new instance of the . + + The pipeline invoker. + The connection. + The hub name. + The connection id. + The connection hub state. + + + + Returns a dynamic representation of all clients in a group except the calling client. + + The name of the group + A dynamic representation of all clients in a group except the calling client. + + + + Returns a dynamic representation of all clients in the specified groups except the calling client. + + The name of the groups + A dynamic representation of all clients in a group except the calling client. + + + + All connected clients except the calling client. + + + + + Represents the calling client. + + + + + This module is added the the HubPipeline by default. + + Hub level attributes that implement such as are applied to determine + whether to allow potential clients to receive messages sent from that hub using a or a + All applicable hub attributes must allow hub connection for the connection to be authorized. + + Hub and method level attributes that implement such as are applied + to determine whether to allow callers to invoke hub methods. + All applicable hub level AND method level attributes must allow hub method invocation for the invocation to be authorized. + + Optionally, this module may be instantiated with and + authorizers that will be applied globally to all hubs and hub methods. + + + + + Common base class to simplify the implementation of IHubPipelineModules. + A module can intercept and customize various stages of hub processing such as connecting, reconnecting, disconnecting, + invoking server-side hub methods, invoking client-side hub methods, authorizing hub clients and rejoining hub groups. + A module can be activated by calling . + The combined modules added to the are invoked via the + interface. + + + + + An can intercept and customize various stages of hub processing such as connecting, + reconnecting, disconnecting, invoking server-side hub methods, invoking client-side hub methods, authorizing hub + clients and rejoining hub groups. + Modules can be be activated by calling . + The combined modules added to the are invoked via the + interface. + + + + + Wraps a function that invokes a server-side hub method. Even if a client has not been authorized to connect + to a hub, it will still be authorized to invoke server-side methods on that hub unless it is prevented in + by not executing the invoke parameter. + + A function that invokes a server-side hub method. + A wrapped function that invokes a server-side hub method. + + + + Wraps a function that invokes a client-side hub method. + + A function that invokes a client-side hub method. + A wrapped function that invokes a client-side hub method. + + + + Wraps a function that is called when a client connects to the for each + the client connects to. By default, this results in the 's + OnConnected method being invoked. + + A function to be called when a client connects to a hub. + A wrapped function to be called when a client connects to a hub. + + + + Wraps a function that is called when a client reconnects to the for each + the client connects to. By default, this results in the 's + OnReconnected method being invoked. + + A function to be called when a client reconnects to a hub. + A wrapped function to be called when a client reconnects to a hub. + + + + Wraps a function that is called when a client disconnects from the for each + the client was connected to. By default, this results in the 's + OnDisconnected method being invoked. + + A function to be called when a client disconnects from a hub. + A wrapped function to be called when a client disconnects from a hub. + + + + Wraps a function to be called before a client subscribes to signals belonging to the hub described by the + . By default, the will look for attributes on the + to help determine if the client is authorized to subscribe to method invocations for the + described hub. + The function returns true if the client is authorized to subscribe to client-side hub method + invocations; false, otherwise. + + + A function that dictates whether or not the client is authorized to connect to the described Hub. + + + A wrapped function that dictates whether or not the client is authorized to connect to the described Hub. + + + + + Wraps a function that determines which of the groups belonging to the hub described by the + the client should be allowed to rejoin. + By default, clients will rejoin all the groups they were in prior to reconnecting. + + A function that determines which groups the client should be allowed to rejoin. + A wrapped function that determines which groups the client should be allowed to rejoin. + + + + Wraps a function that invokes a server-side hub method. Even if a client has not been authorized to connect + to a hub, it will still be authorized to invoke server-side methods on that hub unless it is prevented in + by not executing the invoke parameter. + + A function that invokes a server-side hub method. + A wrapped function that invokes a server-side hub method. + + + + Wraps a function that is called when a client connects to the for each + the client connects to. By default, this results in the 's + OnConnected method being invoked. + + A function to be called when a client connects to a hub. + A wrapped function to be called when a client connects to a hub. + + + + Wraps a function that is called when a client reconnects to the for each + the client connects to. By default, this results in the 's + OnReconnected method being invoked. + + A function to be called when a client reconnects to a hub. + A wrapped function to be called when a client reconnects to a hub. + + + + Wraps a function that is called when a client disconnects from the for each + the client was connected to. By default, this results in the 's + OnDisconnected method being invoked. + + A function to be called when a client disconnects from a hub. + A wrapped function to be called when a client disconnects from a hub. + + + + Wraps a function to be called before a client subscribes to signals belonging to the hub described by the + . By default, the will look for attributes on the + to help determine if the client is authorized to subscribe to method invocations for the + described hub. + The function returns true if the client is authorized to subscribe to client-side hub method + invocations; false, otherwise. + + + A function that dictates whether or not the client is authorized to connect to the described Hub. + + + A wrapped function that dictates whether or not the client is authorized to connect to the described Hub. + + + + + Wraps a function that determines which of the groups belonging to the hub described by the + the client should be allowed to rejoin. + By default, clients will rejoin all the groups they were in prior to reconnecting. + + A function that determines which groups the client should be allowed to rejoin. + A wrapped function that determines which groups the client should be allowed to rejoin. + + + + Wraps a function that invokes a client-side hub method. + + A function that invokes a client-side hub method. + A wrapped function that invokes a client-side hub method. + + + + This method is called before the AuthorizeConnect components of any modules added later to the + are executed. If this returns false, then those later-added modules will not run and the client will not be allowed + to subscribe to client-side invocations of methods belonging to the hub defined by the . + + A description of the hub the client is trying to subscribe to. + The connect request of the client trying to subscribe to the hub. + true, if the client is authorized to connect to the hub, false otherwise. + + + + This method is called before the connect components of any modules added later to the are + executed. If this returns false, then those later-added modules and the method will + not be run. + + The hub the client has connected to. + + true, if the connect components of later added modules and the method should be executed; + false, otherwise. + + + + + This method is called after the connect components of any modules added later to the are + executed and after is executed, if at all. + + The hub the client has connected to. + + + + This method is called before the reconnect components of any modules added later to the are + executed. If this returns false, then those later-added modules and the method will + not be run. + + The hub the client has reconnected to. + + true, if the reconnect components of later added modules and the method should be executed; + false, otherwise. + + + + + This method is called after the reconnect components of any modules added later to the are + executed and after is executed, if at all. + + The hub the client has reconnected to. + + + + This method is called before the outgoing components of any modules added later to the are + executed. If this returns false, then those later-added modules and the client-side hub method invocation(s) will not + be executed. + + A description of the client-side hub method invocation. + + true, if the outgoing components of later added modules and the client-side hub method invocation(s) should be executed; + false, otherwise. + + + + + This method is called after the outgoing components of any modules added later to the are + executed. This does not mean that all the clients have received the hub method invocation, but it does indicate indicate + a hub invocation message has successfully been published to a message bus. + + A description of the client-side hub method invocation. + + + + This method is called before the disconnect components of any modules added later to the are + executed. If this returns false, then those later-added modules and the method will + not be run. + + The hub the client has disconnected from. + + true, if the disconnect components of later added modules and the method should be executed; + false, otherwise. + + + + + This method is called after the disconnect components of any modules added later to the are + executed and after is executed, if at all. + + The hub the client has disconnected from. + + + + This method is called before the incoming components of any modules added later to the are + executed. If this returns false, then those later-added modules and the server-side hub method invocation will not + be executed. Even if a client has not been authorized to connect to a hub, it will still be authorized to invoke + server-side methods on that hub unless it is prevented in by not + executing the invoke parameter or prevented in by returning false. + + A description of the server-side hub method invocation. + + true, if the incoming components of later added modules and the server-side hub method invocation should be executed; + false, otherwise. + + + + + This method is called after the incoming components of any modules added later to the + and the server-side hub method have completed execution. + + The return value of the server-side hub method + A description of the server-side hub method invocation. + The possibly new or updated return value of the server-side hub method + + + + This is called when an uncaught exception is thrown by a server-side hub method or the incoming component of a + module added later to the . Observing the exception using this method will not prevent + it from bubbling up to other modules. + + + Represents the exception that was thrown during the server-side invocation. + It is possible to change the error or set a result using this context. + + A description of the server-side hub method invocation. + + + + Apply to Hubs and Hub methods to authorize client connections to Hubs and authorize client invocations of Hub methods. + + + + + Interface to be implemented by s that can authorize client to connect to a . + + + + + Given a , determine whether client is authorized to connect to . + + Description of the hub client is attempting to connect to. + The connection request from the client. + true if the caller is authorized to connect to the hub; otherwise, false. + + + + Interface to be implemented by s that can authorize the invocation of methods. + + + + + Given a , determine whether client is authorized to invoke the method. + + An providing details regarding the method invocation. + Indicates whether the interface instance is an attribute applied directly to a method. + true if the caller is authorized to invoke the method; otherwise, false. + + + + Determines whether client is authorized to connect to . + + Description of the hub client is attempting to connect to. + The (re)connect request from the client. + true if the caller is authorized to connect to the hub; otherwise, false. + + + + Determines whether client is authorized to invoke the method. + + An providing details regarding the method invocation. + Indicates whether the interface instance is an attribute applied directly to a method. + true if the caller is authorized to invoke the method; otherwise, false. + + + + When overridden, provides an entry point for custom authorization checks. + Called by and . + + The for the client being authorize + true if the user is authorized, otherwise, false + + + + Set to false to apply authorization only to the invocations of any of the Hub's server-side methods. + This property only affects attributes applied to the Hub class. + This property cannot be read. + + + + + Gets or sets the user roles. + + + + + Gets or sets the authorized users. + + + + + A description of a client-side hub method invocation originating from the server. + + + + + The , if any, corresponding to the client that invoked the server-side hub method + that is invoking the client-side hub method. + + + + + A description of the method call to be made on the client. + + + + + The signal (ConnectionId, hub type name or hub type name + "." + group name) belonging to clients that + receive the method invocation. + + + + + The signals (ConnectionId, hub type name or hub type name + "." + group name) belonging to clients that + receive the method invocation. + + + + + The signals (ConnectionId, hub type name or hub type name + "." + group name) belonging to clients that should + not receive the method invocation regardless of the . + + + + + A description of a client-side hub method invocation. + + + + + The name of the hub that the method being invoked belongs to. + + + + + The name of the client-side hub method be invoked. + + + + + The argument list the client-side hub method will be called with. + + + + + A key-value store representing the hub state on the server that has changed since the last time the hub + state was sent to the client. + + + + + Provides access to information about a . + + + + + Encapsulates all information about a SignalR connection for an . + + + + + Gets the the hub. + + + + + Requiring Authentication adds an to the with + and authorizers that will be applied globally to all hubs and hub methods. + These authorizers require that the 's + IsAuthenticated for any clients that invoke server-side hub methods or receive client-side hub method invocations. + + The to which the will be added. + + + + Implementations of this interface are responsible for executing operation required to complete various stages + hub processing such as connecting, reconnecting, disconnecting, invoking server-side hub methods, invoking + client-side hub methods, authorizing hub clients and rejoining hub groups. + + + + + Invokes a server-side hub method. + + A description of the server-side hub method invocation. + An asynchronous operation giving the return value of the server-side hub method invocation. + + + + Invokes a client-side hub method. + + A description of the client-side hub method invocation. + + + + To be called when a client connects to the for each the client + connects to. By default, this results in the 's OnConnected method being invoked. + + A the client is connected to. + + + + To be called when a client reconnects to the for each the client + connects to. By default, this results in the 's OnReconnected method being invoked. + + A the client is reconnected to. + + + + To be called when a client disconnects from the for each the client + was connected to. By default, this results in the 's OnDisconnected method being invoked. + + A the client was disconnected from. + + + + To be called before a client subscribes to signals belonging to the hub described by the . + By default, the will look for attributes on the to help determine if + the client is authorized to subscribe to method invocations for the described hub. + + A description of the hub the client is attempting to connect to. + + The connect request being made by the client which should include the client's + User. + + true, if the client is authorized to subscribe to client-side hub method invocations; false, otherwise. + + + + This method determines which of the groups belonging to the hub described by the the client should be + allowed to rejoin. + By default, clients that are reconnecting to the server will be removed from all groups they may have previously been a member of, + because untrusted clients may claim to be a member of groups they were never authorized to join. + + A description of the hub for which the client is attempting to rejoin groups. + The reconnect request being made by the client that is attempting to rejoin groups. + + The list of groups belonging to the relevant hub that the client claims to have been a member of before the reconnect. + + A list of groups the client is allowed to rejoin. + + + + A description of a server-side hub method invocation originating from a client. + + + + + A hub instance that contains the invoked method as a member. + + + + + A description of the method being invoked by the client. + + + + + The arguments to be passed to the invoked method. + + + + + A key-value store representing the hub state on the client at the time of the invocation. + + + + + Handles parsing incoming requests through the . + + + + + Parses the incoming hub payload into a . + + The raw hub payload. + The JsonSerializer used to parse the data. + The resulting . + + + + The response returned from an incoming hub request. + + + + + The changes made the the round tripped state. + + + + + The result of the invocation. + + + + + The id of the operation. + + + + + Indicates whether the Error is a see . + + + + + The exception that occurs as a result of invoking the hub method. + + + + + The stack trace of the exception that occurs as a result of invoking the hub method. + + + + + Extra error data contained in the + + + + + A change tracking dictionary. + + + + + A collection of modules that can intercept and customize various stages of hub processing such as connecting, + reconnecting, disconnecting, invoking server-side hub methods, invoking client-side hub methods, authorizing + hub clients and rejoining hub groups. + + + + + Adds an to the hub pipeline. Modules added to the pipeline first will wrap + modules that are added to the pipeline later. All modules must be added to the pipeline before any methods + on the are invoked. + + + A module that may intercept and customize various stages of hub processing such as connecting, + reconnecting, disconnecting, invoking server-side hub methods, invoking client-side hub methods, authorizing + hub clients and rejoining hub groups. + + + The itself with the newly added module allowing + calls to be chained. + This method mutates the pipeline it is invoked on so it is not necessary to store its result. + + + + + Manages groups for a connection and allows sending messages to the group. + + + + + Manages groups for a connection. + + + + + Adds a connection to the specified group. + + The connection id to add to the group. + The name of the group + A task that represents the connection id being added to the group. + + + + Removes a connection from the specified group. + + The connection id to remove from the group. + The name of the group + A task that represents the connection id being removed from the group. + + + + Sends a value to the specified group. + + The name of the group. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Sends a value to the specified groups. + + The names of the groups. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Provides access to performance counters. + + + + + Initializes the performance counters. + + The host instance name. + The CancellationToken representing the host shutdown. + + + + Loads a performance counter. + + The category name. + The counter name. + The instance name. + Whether the counter is read-only. + + + + Gets the performance counter representing the total number of connection Connect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Reconnect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Disconnect events since the application was started. + + + + + Gets the performance counter representing the number of connections currently connected. + + + + + Gets the performance counter representing the total number of messages received by connections (server to client) since the application was started. + + + + + Gets the performance counter representing the total number of messages received by connections (server to client) since the application was started. + + + + + Gets the performance counter representing the number of messages received by connections (server to client) per second. + + + + + Gets the performance counter representing the number of messages sent by connections (client to server) per second. + + + + + Gets the performance counter representing the total number of messages received by subscribers since the application was started. + + + + + Gets the performance counter representing the number of messages received by a subscribers per second. + + + + + Gets the performance counter representing the number of messages received by the scaleout message bus per second. + + + + + Gets the performance counter representing the total number of messages published to the message bus since the application was started. + + + + + Gets the performance counter representing the number of messages published to the message bus per second. + + + + + Gets the performance counter representing the current number of subscribers to the message bus. + + + + + Gets the performance counter representing the total number of subscribers to the message bus since the application was started. + + + + + Gets the performance counter representing the number of new subscribers to the message bus per second. + + + + + Gets the performance counter representing the number of workers allocated to deliver messages in the message bus. + + + + + Gets the performance counter representing the number of workers currently busy delivering messages in the message bus. + + + + + Gets the performance counter representing representing the current number of topics in the message bus. + + + + + Gets the performance counter representing the total number of all errors processed since the application was started. + + + + + Gets the performance counter representing the number of all errors processed per second. + + + + + Gets the performance counter representing the total number of hub resolution errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub resolution errors per second. + + + + + Gets the performance counter representing the total number of hub invocation errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub invocation errors per second. + + + + + Gets the performance counter representing the total number of transport errors processed since the application was started. + + + + + Gets the performance counter representing the number of transport errors per second. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the open state. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the buffering state. + + + + + Gets the performance counter representing the total number of scaleout errors since the application was started. + + + + + Gets the performance counter representing the number of scaleout errors per second. + + + + + Gets the performance counter representing the current scaleout send queue length. + + + + + Manages performance counters using Windows performance counters. + + + + + The performance counter category name for SignalR counters. + + + + + Creates a new instance. + + + + + Initializes the performance counters. + + The host instance name. + The CancellationToken representing the host shutdown. + + + + Gets the performance counter representing the total number of connection Connect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Reconnect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Disconnect events since the application was started. + + + + + Gets the performance counter representing the number of connections currently connected. + + + + + Gets the performance counter representing the toal number of messages received by connections (server to client) since the application was started. + + + + + Gets the performance counter representing the total number of messages sent by connections (client to server) since the application was started. + + + + + Gets the performance counter representing the number of messages received by connections (server to client) per second. + + + + + Gets the performance counter representing the number of messages sent by connections (client to server) per second. + + + + + Gets the performance counter representing the total number of messages received by subscribers since the application was started. + + + + + Gets the performance counter representing the number of messages received by a subscribers per second. + + + + + Gets the performance counter representing the number of messages received by the scaleout message bus per second. + + + + + Gets the performance counter representing the total number of messages published to the message bus since the application was started. + + + + + Gets the performance counter representing the number of messages published to the message bus per second. + + + + + Gets the performance counter representing the current number of subscribers to the message bus. + + + + + Gets the performance counter representing the total number of subscribers to the message bus since the application was started. + + + + + Gets the performance counter representing the number of new subscribers to the message bus per second. + + + + + Gets the performance counter representing the number of workers allocated to deliver messages in the message bus. + + + + + Gets the performance counter representing the number of workers currently busy delivering messages in the message bus. + + + + + Gets the performance counter representing representing the current number of topics in the message bus. + + + + + Gets the performance counter representing the total number of all errors processed since the application was started. + + + + + Gets the performance counter representing the number of all errors processed per second. + + + + + Gets the performance counter representing the total number of hub resolution errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub resolution errors per second. + + + + + Gets the performance counter representing the total number of hub invocation errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub invocation errors per second. + + + + + Gets the performance counter representing the total number of transport errors processed since the application was started. + + + + + Gets the performance counter representing the number of transport errors per second. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the open state. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the buffering state. + + + + + Gets the performance counter representing the total number of scaleout errors since the application was started. + + + + + Gets the performance counter representing the number of scaleout errors per second. + + + + + Gets the performance counter representing the current scaleout send queue length. + + + + + Helper class to manage disposing a resource at an arbirtary time + + + + + Thread safe cancellation token source. Allows the following: + - Cancel will no-op if the token is disposed. + - Dispose may be called after Cancel. + + + + + Represents a JSON value. + + + + + Converts the parameter value to the specified . + + The to convert the parameter to. + The converted parameter value. + + + + Determines if the parameter can be converted to the specified . + + The to check. + True if the parameter can be converted to the specified , false otherwise. + + + + Implementations handle their own serialization to JSON. + + + + + Serializes itself to JSON via a . + + The that receives the JSON serialized object. + + + + An implementation of IJsonValue over JSON.NET + + + + + Sends a message to all connections subscribed to the specified signal. An example of signal may be a + specific connection id. + + The connection + The connectionId to send to. + The value to publish. + A task that represents when the broadcast is complete. + + + + Sends a message to all connections subscribed to the specified signal. An example of signal may be a + specific connection id. + + The connection + The connection ids to send to. + The value to publish. + A task that represents when the broadcast is complete. + + + + Broadcasts a value to all connections, excluding the connection ids specified. + + The connection + The value to broadcast. + The list of connection ids to exclude + A task that represents when the broadcast is complete. + + + + Describes a parameter resolver for resolving parameter-matching values based on provided information. + + + + + Resolves method parameter values based on provided objects. + + Method descriptor. + List of values to resolve parameter values from. + Array of parameter values. + + + + Resolves a parameter value based on the provided object. + + Parameter descriptor. + Value to resolve the parameter value from. + The parameter value. + + + + Resolves method parameter values based on provided objects. + + Method descriptor. + List of values to resolve parameter values from. + Array of parameter values. + + + + Holds information about a single hub method parameter. + + + + + Parameter name. + + + + + Parameter type. + + + + + Describes a hub method provider that builds a collection of available methods on a given hub. + + + + + Retrieve all methods on a given hub. + + Hub descriptor object. + Available methods. + + + + Tries to retrieve a method. + + Hub descriptor object + Name of the method. + Descriptor of the method, if found. Null otherwise. + Method parameters to match. + True, if a method has been found. + + + + Retrieves an existing dictionary of all available methods for a given hub from cache. + If cache entry does not exist - it is created automatically by BuildMethodCacheFor. + + + + + + + Builds a dictionary of all possible methods on a given hub. + Single entry contains a collection of available overloads for a given method name (key). + This dictionary is being cached afterwards. + + Hub to build cache for + Dictionary of available methods + + + + Searches the specified Hub for the specified . + + + In the case that there are multiple overloads of the specified , the parameter set helps determine exactly which instance of the overload should be resolved. + If there are multiple overloads found with the same number of matching parameters, none of the methods will be returned because it is not possible to determine which overload of the method was intended to be resolved. + + Hub to search for the specified on. + The method name to search for. + If successful, the that was resolved. + The set of parameters that will be used to help locate a specific overload of the specified . + True if the method matching the name/parameter set is found on the hub, otherwise false. + + + + Holds information about a single hub. + + + + + Hub type. + + + + + Describes a hub manager - main point in the whole hub and method lookup process. + + + + + Retrieves a single hub descriptor. + + Name of the hub. + Hub descriptor, if found. Null, otherwise. + + + + Retrieves all available hubs matching the given predicate. + + List of hub descriptors. + + + + Resolves a given hub name to a concrete object. + + Name of the hub. + Hub implementation instance, if found. Null otherwise. + + + + Resolves all available hubs to their concrete objects. + + List of hub instances. + + + + Retrieves a method with a given name on a given hub. + + Name of the hub. + Name of the method to find. + Method parameters to match. + Descriptor of the method, if found. Null otherwise. + + + + Gets all methods available to call on a given hub. + + Name of the hub, + Optional predicate for filtering results. + List of available methods. + + + + Generates a server id + + + + + The id of the server. + + + + + Default implementation. + + + + + The id of the server. + + + + + Provides access to information about a . + + + + + Gets the for the . + + + + + Gets the for the . + + + + + Handles commands from server to server. + + + + + Sends a command to all connected servers. + + + + + + + Gets or sets a callback that is invoked when a command is received. + + + + + Extensions for . + + + + + Deserializes the JSON to a .NET object. + + The serializer + The of object being deserialized. + The JSON to deserialize + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object. + + The serializer + The of object being deserialized. + The JSON buffer to deserialize + The encoding to use. + The deserialized object from the JSON string. + + + + Serializes the specified object to a . + + The JSON serializer + The object to serialize + The to serialize the object to. + + + + Serializes the specified object to a JSON string. + + The serializer + The object to serailize. + A JSON string representation of the object. + + + + Minifies a string in a way that can be reversed by this instance of . + + The string to be minified + A minified representation of the without the following characters:,|\ + + + + Reverses a call that was executed at least once previously on this instance of + without any subsequent calls to sharing the + same argument as the call that returned . + + + A minified string that was returned by a previous call to . + + + The argument of all previous calls to that returned . + If every call to on this instance of has never + returned or if the most recent call to that did + return was followed by a call to sharing + the same argument, may return null but must not throw. + + + + + A call to this function indicates that any future attempt to unminify strings that were previously minified + from may be met with a null return value. This provides an opportunity clean up + any internal data structures that reference . + + The string that may have previously have been minified. + + + + This class is the main coordinator. + It schedules work to be done for a particular subscription. + + + + + Represents a message to the scaleout backplane + + + + + The messages from SignalR + + + + + The time the message was created on the origin server + + + + + Common base class for scaleout message bus implementations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Publishes a new message to the specified event on the bus. + + The message to publish. + + + + + + + + + + + + + + + Creates a topic for the specified key. + + The key to create the topic for. + A for the specified key. + + + + Opens the specified queue for sending messages. + The index of the stream to open. + + + + + Closes the specified queue. + The index of the stream to close. + + + + + Closes the specified queue for sending messages making all sends fail asynchronously. + + The index of the stream to close. + The error that occurred. + + + + Sends messages to the backplane + + The list of messages to send + + + + + Invoked when a payload is received from the backplane. There should only be one active call at any time. + + id of the stream. + id of the payload within that stream. + The scaleout message. + + + + + The number of streams can't change for the lifetime of this instance. + + + + + + + + + + Initializes a new instance of the struct. + + The array of messages associated with this . + The amount of messages populated in the messages array. + + + + Gets an associated with the result. + + + + + Common settings for scale-out message bus implementations. + + + + + Gets or sets a value that represents the queuing behavior for scale-out messages. + Defaults to QueuingBehavior.InitialOnly + + + + + The maximum length of the outgoing send queue. Messages being sent to the backplane are queued + up to this length. After the max length is reached, further sends will throw an InvalidOperationException. + + + + + Responsible for creating instances. + + + + + Creates a new instance of the class. + + The dependency resolver to use for when creating the . + + + + Creates an instance of the specified type using the dependency resolver or the type's default constructor. + + The type of to create. + An instance of a . + + + + Called when a new connection is made to the . + + + + + Called when a connection reconnects to the after a timeout. + + + + + Called when a connection is disconnected from the . + + + + + Gets a . Which contains information about the calling client. + + + + + Gets a dynamic object that represents all clients connected to this hub (not hub instance). + + + + + Gets the the hub instance. + + + + + Helpers for decoding URI query components. + + + + + Standard keys and values for use within the OWIN interfaces + + + + + Maps SignalR hubs to the app builder pipeline at "/signalr". + + The app builder + + + + Maps SignalR hubs to the app builder pipeline at "/signalr". + + The app builder + The to use + + + + Maps SignalR hubs to the app builder pipeline at the specified path. + + The app builder + The path to map signalr hubs + The to use + + + + Adds SignalR hubs to the app builder pipeline. + + The app builder + + + + Adds SignalR hubs to the app builder pipeline. + + The app builder + The to use + + + + Maps the specified SignalR to the app builder pipeline at + the specified path. + + The type of + The app builder + The path to map the + + + + Maps the specified SignalR to the app builder pipeline at + the specified path. + + The type of + The app builder + The path to map the persistent connection + The to use + + + + + Maps the specified SignalR to the app builder pipeline at + the specified path. + + The app builder + The path to map the persistent connection + The type of + The to use + + + + Adds the specified SignalR to the app builder. + + The type of + The app builder + + + + Adds the specified SignalR to the app builder. + + The type of + The app builder + The to use + + + + + Adds the specified SignalR to the app builder. + + The app builder + The type of + The to use + + + + + Describes hub descriptor provider, which provides information about available hubs. + + + + + Retrieve all avaiable hubs. + + Collection of hub descriptors. + + + + Tries to retrieve hub with a given name. + + Name of the hub. + Retrieved descriptor object. + True, if hub has been found + + + + Provides methods that communicate with SignalR connections that connected to a . + + + + + Called when a connection disconnects from this hub instance. + + A + + + + Called when the connection connects to this hub instance. + + A + + + + Called when the connection reconnects to this hub instance. + + A + + + + + + + + + Provides information about the calling client. + + + + + The group manager for this hub instance. + + + + + Gets the connection id of the calling client. + + + + + Gets the cookies for the request. + + + + + Gets the headers for the request. + + + + + Gets the querystring for the request. + + + + + Gets the for the request. + + + + + Gets the for the current HTTP request. + + + + + Handles all communication over the hubs persistent connection. + + + + + Represents a connection between client and server. + + + + + OWIN entry point. + + + + + + + Handles all requests for s. + + The for the current request. + A that completes when the pipeline is complete. + + Thrown if connection wasn't initialized. + Thrown if the transport wasn't specified. + Thrown if the connection id wasn't specified. + + + + + Returns the signals used in the . + + The user id for the current connection. + The id of the incoming connection. + The signals used for this . + + + + Called before every request and gives the user a authorize the user. + + The for the current connection. + A boolean value that represents if the request is authorized. + + + + Called when a connection reconnects after a timeout to determine which groups should be rejoined. + + The for the current connection. + The groups the calling connection claims to be part of. + The id of the reconnecting client. + A collection of group names that should be joined on reconnect + + + + Called when a new connection is made. + + The for the current connection. + The id of the connecting client. + A that completes when the connect operation is complete. + + + + Called when a connection reconnects after a timeout. + + The for the current connection. + The id of the re-connecting client. + A that completes when the re-connect operation is complete. + + + + Called when data is received from a connection. + + The for the current connection. + The id of the connection sending the data. + The payload sent to the connection. + A that completes when the receive operation is complete. + + + + Called when a connection disconnects. + + The for the current connection. + The id of the disconnected connection. + A that completes when the disconnect operation is complete. + + + + Gets the for the . + + + + + Gets the for the . + + + + + Initializes an instance of the class. + + Configuration settings determining whether to enable JS proxies and provide clients with detailed hub errors. + + + + Processes the hub's incoming method calls. + + + + + Helper class for common JSON operations. + + + + + Converts the specified name to camel case. + + The name to convert. + A camel cased version of the specified name. + + + + Creates a default instance. + + The newly created . + + + + Creates a instance with the default setting. + + The newly created . + + + + Gets a string that returns JSON mime type "application/json; charset=UTF-8". + + + + + Gets a string that returns JSONP mime type "application/javascript; charset=UTF-8". + + + + + The default implementation. + + + + + Initializes a new instance of the class. + + The this group resides on. + The prefix for this group. Either a name or type name. + + + + Sends a value to the specified group. + + The name of the group. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Sends a value to the specified group. + + The names of the groups. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Adds a connection to the specified group. + + The connection id to add to the group. + The name of the group + A task that represents the connection id being added to the group. + + + + Removes a connection from the specified group. + + The connection id to remove from the group. + The name of the group + A task that represents the connection id being removed from the group. + + + + A server to server command. + + + + + Gets or sets the id of the command where this message originated from. + + + + + Gets of sets the command type. + + + + + Gets or sets the value for this command. + + + + + Default implementation. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to /// <summary>Calls the {0} method on the server-side {1} hub.&#10;Returns a jQuery.Deferred() promise.</summary>. + + + + + Looks up a localized string similar to /// <param name=\"{0}\" type=\"{1}\">Server side type is {2}</param>. + + + + + Looks up a localized string similar to Ambiguous message. Unable to send to both '{0}' and '{1}'.. + + + + + Looks up a localized string similar to Argument cannot be null or empty. + + + + + Looks up a localized string similar to The buffer size '{0}' is out of range.. + + + + + Looks up a localized string similar to Caller is not authorized to invoke the {0} method on {1}.. + + + + + Looks up a localized string similar to The ConnectionId is in the incorrect format.. + + + + + Looks up a localized string similar to The PersistentConnection is not initialized.. + + + + + Looks up a localized string similar to DisconnectTimeout cannot be configured after the KeepAlive.. + + + + + Looks up a localized string similar to DisconnectTimeout must be at least six seconds.. + + + + + Looks up a localized string similar to Do not read RequireOutgoing. Use protected _requireOutgoing instead.. + + + + + Looks up a localized string similar to Two Hubs must not share the same name. '{0}' and '{1}' both share the name '{2}'.. + + + + + Looks up a localized string similar to Duplicate Hub names found.. + + + + + Looks up a localized string similar to Duplicate payload id detected for stream '{0}'.. + + + + + Looks up a localized string similar to Error creating Hub {0}. . + + + + + Looks up a localized string similar to The ExceptionContext has already been modified once and cannot be modified again.. + + + + + Looks up a localized string similar to '{0}' Hub could not be resolved.. + + + + + Looks up a localized string similar to There was an error invoking Hub method '{0}.{1}'.. + + + + + Looks up a localized string similar to Invalid cursor.. + + + + + Looks up a localized string similar to The supplied frameId is in the incorrect format.. + + + + + Looks up a localized string similar to '{0}' is not a {1}.. + + + + + Looks up a localized string similar to SignalR: JavaScript Hub proxy generation has been disabled.. + + + + + Looks up a localized string similar to KeepAlive value must be greater than two seconds.. + + + + + Looks up a localized string similar to KeepAlive value must be no more than a third of the DisconnectTimeout.. + + + + + Looks up a localized string similar to '{0}' method could not be resolved.. + + + + + Looks up a localized string similar to Outgoing authorization can only be required for an entire Hub, not a specific method.. + + + + + Looks up a localized string similar to Multiple activators for type {0} are registered. Please call GetServices instead.. + + + + + Looks up a localized string similar to A configuration object must be specified.. + + + + + Looks up a localized string similar to A dependency resolver must be specified.. + + + + + Looks up a localized string similar to Not a valid web socket request.. + + + + + Looks up a localized string similar to Unexpected end when reading object.. + + + + + Looks up a localized string similar to Protocol error: Missing connection token.. + + + + + Looks up a localized string similar to Protocol error: Unknown transport.. + + + + + Looks up a localized string similar to Scaleout queuing is enabled but maximum queue size is 0. + + + + + Looks up a localized string similar to State has exceeded the maximum length of 4096 bytes.. + + + + + Looks up a localized string similar to The stream has been closed.. + + + + + Looks up a localized string similar to The stream is not open.. + + + + + Looks up a localized string similar to The queue is full.. + + + + + Looks up a localized string similar to Unable to add module. The HubPipeline has already been invoked.. + + + + + Looks up a localized string similar to Unrecognized user identity. The user identity cannot change during an active SignalR connection.. + + + + + Looks up a localized string similar to Using a Hub instance not created by the HubPipeline is unsupported.. + + + + + Looks up a localized string similar to WebSockets is not supported.. + + + + + Looks up a localized string similar to Forbidden: JSONP is disabled.. + + + + + Looks up a localized string similar to None of the classes from assembly "{0}" could be loaded when searching for Hubs. [{1}] + + Original exception type: {2} + Original exception message: {3} + + . + + + + + Represents a connection that can be tracked by an . + + + + + Applies a new state to the connection. + + + + + Causes the connection to disconnect. + + + + + Causes the connection to timeout. + + + + + Sends a keep alive ping over the connection. + + + + + Kills the connection. + + + + + Gets the id of the connection. + + + + + Gets a cancellation token that represents the connection's lifetime. + + + + + Gets the task that completes when the task returned by PersistentConnection.OnConnected does. + + + + + Gets a value that represents if the connection is alive. + + + + + Gets a value that represents if the connection is timed out. + + + + + Gets a value that represents if the connection supprots keep alive. + + + + + Gets a value indicating the amount of time to wait after the connection dies before firing the disconnecting the connection. + + + + + Gets the uri of the connection. + + + + + Represents a transport that communicates + + + + + Processes the specified for this transport. + + The to process. + A that completes when the transport has finished processing the connection. + + + + Sends data over the transport. + + The value to be sent. + A that completes when the send is complete. + + + + Gets or sets a callback that is invoked when the transport receives data. + + + + + Gets or sets a callback that is invoked when the initial connection connects to the transport. + + + + + Gets or sets a callback that is invoked when the transport connects. + + + + + Gets or sets a callback that is invoked when the transport reconnects. + + + + + Gets or sets a callback that is invoked when the transport disconnects. + + + + + Gets or sets the connection id for the transport. + + + + + Pointed to the HTMLOutputWriter to wrap output stream with an HTML friendly one + + + + + Manages tracking the state of connections. + + + + + Adds a new connection to the list of tracked connections. + + The connection to be added. + The connection it replaced, if any. + + + + Marks an existing connection as active. + + The connection to mark. + + + + Removes a connection from the list of tracked connections. + + The connection to remove. + + + + Gets a list of connections being tracked. + + A list of connections. + + + + Manages the transports for connections. + + + + + Gets the specified transport for the specified . + + The for the current request. + The for the specified . + + + + Determines whether the specified transport is supported. + + The name of the transport to test. + True if the transport is supported, otherwise False. + + + + Default implementation of . + + + + + Initializes and instance of the class. + + The . + + + + Adds a new connection to the list of tracked connections. + + The connection to be added. + + + + Removes a connection from the list of tracked connections. + + The connection to remove. + + + + Marks an existing connection as active. + + The connection to mark. + + + + Represents a response to a connection. + + + + + Creates a new instance of . + + A filter that determines whether messages should be written to the client. + The cursor writer. + + + + Serializes only the necessary components of the to JSON + using Json.NET's JsonTextWriter to improve performance. + + The that receives the JSON serialization. + + + + The list of messages to be sent to the receiving connection. + + + + + The total count of the messages sent the receiving connection. + + + + + True if the connection is in process of initializing + + + + + True if the connection receives a disconnect command. + + + + + True if the connection was forcibly closed. + + + + + True if the client should try reconnecting. + + + + + Signed token representing the list of groups. Updates on change. + + + + + The time the long polling client should wait before reestablishing a connection if no data is received. + + + + + A communication channel for a and its connections. + + + + + Sends a message to connections subscribed to the signal. + + The message to send. + A task that returns when the message has be sent. + + + + The main signal for this connection. This is the main signalr for a . + + + + + Which connection the message originated from + + + + + The signal for the message (connection id, group, etc) + + + + + The message payload + + + + + The command id if this message is a command + + + + + Determines if the caller should wait for acknowledgement for this message + + + + + Determines if this message is itself an ACK + + + + + A list of connection ids to filter out + + + + + The encoding of the message + + + + + The payload id. Only used in scaleout scenarios + + + + + The stream index this message came from. Only used the scaleout scenarios. + + + + + The default implementation. + + + + + Initializes a new instance of class. + + The default . + + + + Adds a new transport to the list of supported transports. + + The specified transport. + The factory method for the specified transport. + + + + Removes a transport from the list of supported transports. + + The specified transport. + + + + Gets the specified transport for the specified . + + The for the current request. + The for the specified . + + + + Determines whether the specified transport is supported. + + The name of the transport to test. + True if the transport is supported, otherwise False. + + + diff --git a/GMW-RT/bin/Microsoft.AspNet.SignalR.SystemWeb.dll b/GMW-RT/bin/Microsoft.AspNet.SignalR.SystemWeb.dll new file mode 100644 index 0000000000000000000000000000000000000000..d5671367b85bf02e1bc4357e9fa1daea043b00df GIT binary patch literal 14008 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 + + + Microsoft.AspNet.SignalR.SystemWeb + + + + + Returns the for this . + + The request + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The type of . + The name of the route. + path of the route. + The registered route. + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The type of . + The name of the route. + path of the route. + Configuration options. + The registered route. + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The type of . + The name of the route. + path of the route. + Configuration options. + An action to further configure the OWIN pipeline. + The registered route + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The name of the route. + path of the route. + The type of . + Configuration options. + The registered route + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The name of the route. + path of the route. + The type of . + Configuration options. + An action to further configure the OWIN pipeline. + The registered route. + + + + Initializes the default hub route (/signalr). + + The route table. + The registered route. + + + + Initializes the default hub route (/signalr). + + The route table. + Configuration options. + The registered route. + + + + Initializes the hub route using specified configuration. + + The route table. + The path of the hubs route. + Configuration options. + The registered route. + + + + Initializes the hub route using specified configuration. + + The route table. + The path of the hubs route. + Configuration options. + An action to further configure the OWIN pipeline. + The registered route. + + + + Initializes the hub route using specified configuration. + + The route table. + The name of the route. + The path of the hubs route. + Configuration options. + + The registered route. + + + diff --git a/GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.dll b/GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.dll new file mode 100644 index 0000000000000000000000000000000000000000..035ddd3a55f8817c37c90412cb0f30dd0728da09 GIT binary patch literal 131760 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 vhTU$^^u^H^SGeE1boYR&?d literal 0 HcmV?d00001 diff --git a/GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.xml b/GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.xml new file mode 100644 index 00000000..c164a167 --- /dev/null +++ b/GMW-RT/bin/Microsoft.Owin.Host.SystemWeb.xml @@ -0,0 +1,526 @@ + + + + Microsoft.Owin.Host.SystemWeb + + + + + Locates the startup class based on the following convention: + AssemblyName.Startup, with a method named Configuration + + + + + + + + + + Allows for a fallback loader to be specified. + + + + + + Allows for a fallback loader and a Dependency Injection activator to be specified. + + + + + + + + + + + + + + + Executes the loader, searching for the entry point by name. + + The name of the assembly and type entry point + + + + + + + + + + + + + A default fallback loader that does nothing. + + + + + A placeholder method that always returns null. + + + + null. + + + + A singleton instance of the NullLoader type. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to For the app startup parameter value '{0}', the assembly '{1}' was not found.. + + + + + Looks up a localized string similar to For the app startup parameter value '{0}', the class '{1}' was not found in assembly '{2}'.. + + + + + Looks up a localized string similar to The OwinStartup attribute discovered in assembly '{0}' referencing startup type '{1}' conflicts with the attribute in assembly '{2}' referencing startup type '{3}' because they have the same FriendlyName '{4}'. Remove or rename one of the attributes, or reference the desired type directly.. + + + + + Looks up a localized string similar to The discovered startup type '{0}' conflicts with the type '{1}'. Remove or rename one of the types, or reference the desired type directly.. + + + + + Looks up a localized string similar to The OwinStartupAttribute.FriendlyName value '{0}' does not match the given value '{1}' in Assembly '{2}'.. + + + + + Looks up a localized string similar to No '{0}' method was found in class '{1}'.. + + + + + Looks up a localized string similar to No assembly found containing a Startup or [AssemblyName].Startup class.. + + + + + Looks up a localized string similar to No assembly found containing an OwinStartupAttribute.. + + + + + Looks up a localized string similar to The OwinStartupAttribute.StartupType value is empty in Assembly '{0}'.. + + + + + Looks up a localized string similar to The type '{0}' referenced from assembly '{1}' does not define a property 'StartupType' of type 'Type'.. + + + + + Looks up a localized string similar to The given type or method '{0}' was not found. Try specifying the Assembly.. + + + + + Looks up a localized string similar to The '{0}' method on class '{1}' does not have the expected signature 'void {0}(IAppBuilder)'.. + + + + + Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of + data protection when you application is hosted by ASP.NET and all servers in the farm are running with the same Machine Key values. + + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Provides extension methods for . + + + + + Gets the for the current request. + + + + + + + Gets the for the current request. + + + + + + + Provides extension methods for . + + + + + Gets the for the current request. + + + + + + + Gets the for the current request. + + + + + + + Processes requests from System.Web as OWIN requests. + + + + + Processes requests using the default OWIN application. + + + + + Initiates an asynchronous call to the HTTP handler. + + + An System.Web.HttpContextBase object that provides references to intrinsic server + objects (for example, Request, Response, Session, and Server) used to service + HTTP requests. + + + The System.AsyncCallback to call when the asynchronous method call is complete. + If callback is null, the delegate is not called. + + + Any extra data needed to process the request. + + + An System.IAsyncResult that contains information about the status of the process. + + + + + Provides an asynchronous process End method when the process ends. + + + An System.IAsyncResult that contains information about the status of the process. + + + + + Gets a value indicating whether another request can use the System.Web.IHttpHandler instance. + + + true. + + + + + Processes a route through an OWIN pipeline. + + + + + Initialize an OwinRouteHandler + + The method to initialize the pipeline that processes requests for the route. + + + + Provides the object that processes the request. + + + An object that processes the request. + + An object that encapsulates information about the request. + + + + Registers the OWIN request processing module at application startup. + + + + + Registers the OWIN request processing module. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The following errors occurred while attempting to load the app.. + + + + + Looks up a localized string similar to Cannot register for 'OnSendingHeaders' event after response headers have been sent.. + + + + + Looks up a localized string similar to The key '{0}' is already present in the dictionary.. + + + + + Looks up a localized string similar to To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.. + + + + + Looks up a localized string similar to To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.. + + + + + Looks up a localized string similar to The given stage '{0}' is not supported.. + + + + + Looks up a localized string similar to No owin.Environment item was found in the context.. + + + + + Looks up a localized string similar to An exception was thrown while trying to load the client certificate:. + + + + + Looks up a localized string similar to The OWIN entry point threw an exception:. + + + + + Looks up a localized string similar to The IAsyncResult callback for OwinCallHandler threw an exception:. + + + + + Looks up a localized string similar to Failed to register the OWIN module:. + + + + + Looks up a localized string similar to The application threw one or more exceptions when notified of a client disconnect:. + + + + + Looks up a localized string similar to Shutdown detection setup failed:. + + + + + Looks up a localized string similar to One or more exceptions were thrown during app pool shutdown:. + + + + + Looks up a localized string similar to An exception was thrown from a timer callback:. + + + + + Looks up a localized string similar to An exception was thrown while processing the WebSocket:. + + + + + Looks up a localized string similar to Support for WebSockets has been detected.. + + + + + Looks up a localized string similar to No support for WebSockets has been detected.. + + + + + Provides extension methods for registering OWIN applications as System.Web routes. + + + + + Registers a route for the default OWIN application. + + The route collection. + The route path to map to the default OWIN application. + The created route. + + + + Registers a route for a specific OWIN application entry point. + + The OWIN application entry point type. + The route collection. + The route path to map to the given OWIN application. + The OWIN application entry point. + The created route. + + + + Invokes the System.Action startup delegate to build the OWIN application + and then registers a route for it on the given path. + + The route collection. + The route path to map to the given OWIN application. + A System.Action delegate invoked to build the OWIN application. + The created route. + + + + Registers a route for the default OWIN application. + + The route collection. + The given name of the route. + The route path to map to the default OWIN application. + The created route. + + + + Registers a route for a specific OWIN application entry point. + + The OWIN application entry point type. + The route collection. + The given name of the route. + The route path to map to the given OWIN application. + The OWIN application entry point. + The created route. + + + + Invokes the System.Action startup delegate to build the OWIN application + and then registers a route for it on the given path. + + The route collection. + The given name of the route. + The route path to map to the given OWIN application. + A System.Action delegate invoked to build the OWIN application. + The created route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request. + The method to initialize the pipeline that processes requests for the route. + + + diff --git a/GMW-RT/bin/Microsoft.Owin.Security.dll b/GMW-RT/bin/Microsoft.Owin.Security.dll new file mode 100644 index 0000000000000000000000000000000000000000..73e2f02ba43b3d40ecaa8f1296942a252aff348f GIT binary patch literal 50352 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 Xdns`G1qZ8+R**Z+`M`mCv*CXM@}`D4 literal 0 HcmV?d00001 diff --git a/GMW-RT/bin/Microsoft.Owin.Security.xml b/GMW-RT/bin/Microsoft.Owin.Security.xml new file mode 100644 index 00000000..c8a426b9 --- /dev/null +++ b/GMW-RT/bin/Microsoft.Owin.Security.xml @@ -0,0 +1,435 @@ + + + + Microsoft.Owin.Security + + + + + Provides extensions methods for app.Property values that are only needed by implementations of authentication middleware. + + + + + Returns the previously set AuthenticationType that external sign in middleware should use when the + browser navigates back to their return url. + + App builder passed to the application startup code + + + + + Called by middleware to change the name of the AuthenticationType that external middleware should use + when the browser navigates back to their return url. + + App builder passed to the application startup code + AuthenticationType that external middleware should sign in as. + + + + Controls the behavior of authentication middleware + + + + + In Active mode the authentication middleware will alter the user identity as the request arrives, and + will also alter a plain 401 as the response leaves. + + + + + In Passive mode the authentication middleware will only provide user identity when asked, and will only + alter 401 responses where the authentication type named in the extra challenge data. + + + + + Base Options for all authentication middleware + + + + + Initialize properties of AuthenticationOptions base class + + Assigned to the AuthenticationType property + + + + The AuthenticationType in the options corresponds to the IIdentity AuthenticationType property. A different + value may be assigned in order to use the same authentication middleware type more than once in a pipeline. + + + + + If Active the authentication middleware alter the request user coming in and + alter 401 Unauthorized responses going out. If Passive the authentication middleware will only provide + identity and alter responses when explicitly indicated by the AuthenticationType. + + + + + Additional information about the authentication type which is made available to the application. + + + + + String constants used only by the Security assembly + + + + + Used by middleware extension methods to coordinate the default value Options property SignInAsAuthenticationType + + + + + Factory used to create IDataProtection instances + + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Service used to protect and unprotect data + + + + + Called to protect user data. + + The original data that must be protected + A different byte array that may be unprotected or altered only by software that has access to + the an identical IDataProtection service. + + + + Called to unprotect user data + + The byte array returned by a call to Protect on an identical IDataProtection service. + The byte array identical to the original userData passed to Protect. + + + + Base class for the per-request work performed by most authentication middleware. + + Specifies which type for of AuthenticationOptions property + + + + Base class for the per-request work performed by most authentication middleware. + + + + + Called once per request after Initialize and Invoke. + + async completion + + + + Called once by common code after initialization. If an authentication middleware responds directly to + specifically known paths it must override this virtual, compare the request path to it's known paths, + provide any response information as appropriate, and true to stop further processing. + + Returning false will cause the common code to call the next middleware in line. Returning true will + cause the common code to begin the async completion journey without calling the rest of the middleware + pipeline. + + + + Causes the authentication logic in AuthenticateCore to be performed for the current request + at most once and returns the results. Calling Authenticate more than once will always return + the original value. + + This method should always be called instead of calling AuthenticateCore directly. + + The ticket data provided by the authentication logic + + + + The core authentication logic which must be provided by the handler. Will be invoked at most + once per request. Do not call directly, call the wrapping Authenticate method instead. + + The ticket data provided by the authentication logic + + + + Causes the ApplyResponseCore to be invoked at most once per request. This method will be + invoked either earlier, when the response headers are sent as a result of a response write or flush, + or later, as the last step when the original async call to the middleware is returning. + + + + + + Core method that may be overridden by handler. The default behavior is to call two common response + activities, one that deals with sign-in/sign-out concerns, and a second to deal with 401 challenges. + + + + + + Override this method to dela with sign-in/sign-out concerns, if an authentication scheme in question + deals with grant/revoke as part of it's request flow. (like setting/deleting cookies) + + + + + + Override this method to dela with 401 challenge concerns, if an authentication scheme in question + deals an authentication interaction as part of it's request flow. (like adding a response header, or + changing the 401 result to 302 of a login page or external sign-in location.) + + + + + + Initialize is called once per request to contextualize this instance with appropriate state. + + The original options passed by the application control behavior + The utility object to observe the current request and response + async completion + + + + Interface for providing pinned certificate validation, which checks HTTPS + communication against a known good list of certificates to protect against + compromised or rogue CAs issuing certificates for hosts without the + knowledge of the host owner. + + + + + Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Provides pinned certificate validation based on the certificate thumbprint. + + + + + Initializes a new instance of the class. + + A set of thumbprints which are valid for an HTTPS request. + + + + Validates that the certificate thumbprints in the signing chain match at least one whitelisted thumbprint. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Used to provide the data protection services that are derived from the Data Protection API. It is the best choice of + data protection when you application is not hosted by ASP.NET and all processes are running as the same domain identity. + + + + + Initializes a new DpapiDataProtectionProvider with a random application + name. This is only useful to protect data for the duration of the + current application execution. + + + + + Initializes a new DpapiDataProtectionProvider which uses the given + appName as part of the protection algorithm + + A user provided value needed to round-trip secured + data. The default value comes from the IAppBuilder.Properties["owin.AppName"] + when self-hosted. + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Helper code used when implementing authentication middleware + + + + + Helper code used when implementing authentication middleware + + + + + + Add an additional ClaimsIdentity to the ClaimsPrincipal in the "server.User" environment key + + + + + + Find response challenge details for a specific authentication middleware + + The authentication type to look for + The authentication mode the middleware is running under + The information instructing the middleware how it should behave + + + + Find response sign-in details for a specific authentication middleware + + The authentication type to look for + The information instructing the middleware how it should behave + + + + Find response sign-out details for a specific authentication middleware + + The authentication type to look for + The authentication mode the middleware is running under + The information instructing the middleware how it should behave + + + + Base class used for certain event contexts + + + + + Base class used for certain event contexts + + + + + Creates an instance of this context + + + + + Prevents the request from being processed further by other components. + IsRequestCompleted becomes true after calling. + + + + + True if the request should not be processed further by other components. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The AuthenticationTokenProvider's required synchronous events have not been registered.. + + + + + Looks up a localized string similar to The default data protection provider may only be used when the IAppBuilder.Properties contains an appropriate 'host.AppName' key.. + + + + + Looks up a localized string similar to A default value for SignInAsAuthenticationType was not found in IAppBuilder Properties. This can happen if your authentication middleware are added in the wrong order, or if one is missing.. + + + + + Looks up a localized string similar to The state passed to UnhookAuthentication may only be the return value from HookAuthentication.. + + + + + Looks up a localized string similar to {0} cookie not found.. + + + + + Looks up a localized string similar to {0} correlation cookie and state property mismatch.. + + + + + Looks up a localized string similar to {0} state property not found.. + + + + + Provides pinned certificate validation based on the subject key identifier of the certificate. + + + + + Initializes a new instance of the class. + + A set of subject key identifiers which are valid for an HTTPS request. + + + + The algorithm used to generate the subject public key information blob hashes. + + + + + Implements a cert pinning validator passed on + http://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/?include_text=1 + + + + + Initializes a new instance of the class. + + A collection of valid base64 encoded hashes of the certificate public key information blob. + The algorithm used to generate the hashes. + + + + Validates at least one SPKI hash is known. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Encodes a structure of the type indicated by the value of the lpszStructType parameter. + + Type of encoding used. + The high-order word is zero, the low-order word specifies the integer identifier for the type of the specified structure so + we can use the constants in http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145%28v=vs.85%29.aspx + A pointer to the structure to be encoded. + A pointer to a buffer to receive the encoded structure. This parameter can be NULL to retrieve the size of this information for memory allocation purposes. + A pointer to a DWORD variable that contains the size, in bytes, of the buffer pointed to by the pbEncoded parameter. + + + + diff --git a/GMW-RT/bin/Microsoft.Owin.dll b/GMW-RT/bin/Microsoft.Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..0c98e8e70e7aa7b244c94d69ff32bf942d660b60 GIT binary patch literal 95920 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 literal 0 HcmV?d00001 diff --git a/GMW-RT/bin/Microsoft.Owin.xml b/GMW-RT/bin/Microsoft.Owin.xml new file mode 100644 index 00000000..ab7df591 --- /dev/null +++ b/GMW-RT/bin/Microsoft.Owin.xml @@ -0,0 +1,3157 @@ + + + + Microsoft.Owin + + + + + Extension methods for . + + + + + Inserts a middleware into the OWIN pipeline. + + The middleware type + + Any additional arguments for the middleware constructor + + + + + Inserts into the OWIN pipeline a middleware which does not have a next middleware reference. + + + An app that handles all requests + + + + Inserts a middleware into the OWIN pipeline. + + + An app that handles the request or calls the given next Func + + + + + Represents a middleware for executing in-line function middleware. + + + + + Initializes a new instance of the class. + + The pointer to next middleware. + A function that handles all requests. + + + + Initializes a new instance of the class. + + The pointer to next middleware. + A function that handles the request or calls the given next function. + + + + Invokes the handler for processing the request. + + The OWIN context. + The object that represents the request operation. + + + + Contains the parsed form values. + + + + + Accessors for query, forms, etc. + + + + + Accessors for headers, query, forms, etc. + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Create a new wrapper + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + + + + + + + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Contains the parsed form values. + + + + + Initializes a new instance of the class. + + The store for the form. + + + + Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders. + + + + + Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders. + + + + + Get the associated values from the collection separated into individual values. + Quoted values will not be split, and the quotes will be removed. + + The header name. + the associated values from the collection separated into individual values, or null if the key is not present. + + + + Add a new value. Appends to the header if already present + + The header name. + The header value. + + + + Add new values. Each item remains a separate array entry. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values with any existing values. + + The header name. + The header values. + + + + Sets a specific header value. + + The header name. + The header value. + + + + Sets the specified header values without modification. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values. + + The header name. + The header values. + + + + Get or sets the associated value from the collection as a single string. + + The header name. + the associated value from the collection as a single string or null if the key is not present. + + + + Initializes a new instance of the class. + + The underlying data store. + + + + Returns an enumerator that iterates through a collection. + + An object that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through a collection. + + An object that can be used to iterate through the collection. + + + + Get the associated value from the collection as a single string. + + The header name. + the associated value from the collection as a single string or null if the key is not present. + + + + Get the associated values from the collection without modification. + + The header name. + the associated value from the collection without modification, or null if the key is not present. + + + + Get the associated values from the collection separated into individual values. + Quoted values will not be split, and the quotes will be removed. + + The header name. + the associated values from the collection separated into individual values, or null if the key is not present. + + + + Add a new value. Appends to the header if already present + + The header name. + The header value. + + + + Add new values. Each item remains a separate array entry. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values with any existing values. + + The header name. + The header values. + + + + Sets a specific header value. + + The header name. + The header value. + + + + Sets the specified header values without modification. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values. + + The header name. + The header values. + + + + Adds the given header and values to the collection. + + The header name. + The header values. + + + + Determines whether the contains a specific key. + + The key. + true if the contains a specific key; otherwise, false. + + + + Removes the given header from the collection. + + The header name. + true if the specified object was removed from the collection; otherwise, false. + + + + Retrieves a value from the dictionary. + + The header name. + The value. + true if the contains the key; otherwise, false. + + + + Adds a new list of items to the collection. + + The item to add. + + + + Clears the entire list of objects. + + + + + Returns a value indicating whether the specified object occurs within this collection. + + The item. + true if the specified object occurs within this collection; otherwise, false. + + + + Copies the elements to a one-dimensional Array instance at the specified index. + + The one-dimensional Array that is the destination of the specified objects copied from the . + The zero-based index in at which copying begins. + + + + Removes the given item from the the collection. + + The item. + true if the specified object was removed from the collection; otherwise, false. + + + + Gets an that contains the keys in the ;. + + An that contains the keys in the . + + + + + + + + + Gets the number of elements contained in the ;. + + The number of elements contained in the . + + + + Gets a value that indicates whether the is in read-only mode. + + true if the is in read-only mode; otherwise, false. + + + + Get or sets the associated value from the collection as a single string. + + The header name. + the associated value from the collection as a single string or null if the key is not present. + + + + Throws KeyNotFoundException if the key is not present. + + The header name. + + + + + Represents the host portion of a Uri can be used to construct Uri's properly formatted and encoded for use in + HTTP headers. + + + + + Creates a new HostString without modification. The value should be Unicode rather than punycode, and may have a port. + IPv4 and IPv6 addresses are also allowed, and also may have ports. + + + + + + Returns the value as normalized by ToUriComponent(). + + + + + + Returns the value properly formatted and encoded for use in a URI in a HTTP header. + Any Unicode is converted to punycode. IPv6 addresses will have brackets added if they are missing. + + + + + + Creates a new HostString from the given uri component. + Any punycode will be converted to Unicode. + + + + + + + Creates a new HostString from the host and port of the give Uri instance. + Punycode will be converted to Unicode. + + + + + + + Compares the equality of the Value property, ignoring case. + + + + + + + Compares against the given object only if it is a HostString. + + + + + + + Gets a hash code for the value. + + + + + + Compares the two instances for equality. + + + + + + + + Compares the two instances for inequality. + + + + + + + + Returns the original value from the constructor. + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets a wrapper exposing request specific properties. + + A wrapper exposing request specific properties. + + + + Gets a wrapper exposing response specific properties. + + A wrapper exposing response specific properties. + + + + Gets the Authentication middleware functionality available on the current request. + + The authentication middleware functionality available on the current request. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets or sets the host.TraceOutput environment value. + + The host.TraceOutput TextWriter. + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Asynchronously reads and parses the request body as a form. + + The parsed form data. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or set the HTTP method. + + The HTTP method. + + + + Gets or set the HTTP request scheme from owin.RequestScheme. + + The HTTP request scheme from owin.RequestScheme. + + + + Returns true if the owin.RequestScheme is https. + + true if this request is using https; otherwise, false. + + + + Gets or set the Host header. May include the port. + + The Host header. + + + + Gets or set the owin.RequestPathBase. + + The owin.RequestPathBase. + + + + Gets or set the request path from owin.RequestPath. + + The request path from owin.RequestPath. + + + + Gets or set the query string from owin.RequestQueryString. + + The query string from owin.RequestQueryString. + + + + Gets the query value collection parsed from owin.RequestQueryString. + + The query value collection parsed from owin.RequestQueryString. + + + + Gets the uniform resource identifier (URI) associated with the request. + + The uniform resource identifier (URI) associated with the request. + + + + Gets or set the owin.RequestProtocol. + + The owin.RequestProtocol. + + + + Gets the request headers. + + The request headers. + + + + Gets the collection of Cookies for this request. + + The collection of Cookies for this request. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Cache-Control header. + + The Cache-Control header. + + + + Gets or sets the Media-Type header. + + The Media-Type header. + + + + Gets or set the Accept header. + + The Accept header. + + + + Gets or set the owin.RequestBody Stream. + + The owin.RequestBody Stream. + + + + Gets or sets the cancellation token for the request. + + The cancellation token for the request. + + + + Gets or set the server.LocalIpAddress. + + The server.LocalIpAddress. + + + + Gets or set the server.LocalPort. + + The server.LocalPort. + + + + Gets or set the server.RemoteIpAddress. + + The server.RemoteIpAddress. + + + + Gets or set the server.RemotePort. + + The server.RemotePort. + + + + Gets or set the server.User. + + The server.User. + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Registers for an event that fires when the response headers are sent. + + The callback method. + The callback state. + + + + Sets a 302 response status code and the Location header. + + The location where to redirect the client. + + + + Writes the given text to the response body stream using UTF-8. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or sets the optional owin.ResponseStatusCode. + + The optional owin.ResponseStatusCode, or 200 if not set. + + + + Gets or sets the the optional owin.ResponseReasonPhrase. + + The the optional owin.ResponseReasonPhrase. + + + + Gets or sets the owin.ResponseProtocol. + + The owin.ResponseProtocol. + + + + Gets the response header collection. + + The response header collection. + + + + Gets a collection used to manipulate the Set-Cookie header. + + A collection used to manipulate the Set-Cookie header. + + + + Gets or sets the Content-Length header. + + The Content-Length header. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Expires header. + + The Expires header. + + + + Gets or sets the E-Tag header. + + The E-Tag header. + + + + Gets or sets the owin.ResponseBody Stream. + + The owin.ResponseBody Stream. + + + + Used to mark which class in an assembly should be used for automatic startup. + + + + + Initializes a new instance of the class + + The startup class + + + + Initializes a new instance of the class + + A non-default configuration, e.g. staging. + The startup class + + + + Initializes a new instance of the class + + The startup class + Specifies which method to call + + + + Initializes a new instance of the class + + A non-default configuration, e.g. staging. + The startup class + Specifies which method to call + + + + A non-default configuration if any. e.g. Staging. + + + + + The startup class + + + + + The name of the configuration method + + + + + An ordered list of known Asp.Net integrated pipeline stages. More details on the ASP.NET integrated pipeline can be found at http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx + + + + + Corresponds to the AuthenticateRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostAuthenticateRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the AuthorizeRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostAuthorizeRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the ResolveRequestCache stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostResolveRequestCache stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the MapRequestHandler stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostMapRequestHandler stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the AcquireRequestState stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostAcquireRequestState stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PreRequestHandlerExecute stage of the ASP.NET integrated pipeline. + + + + + Extension methods for the MapMiddleware + + + + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of + continuing to the next component in the pipeline. + + + The path to match + The branch to take for positive path matches + + + + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of + continuing to the next component in the pipeline. + + + The path to match + The branch to take for positive path matches + + + + + Used to create path based branches in your application pipeline. + The owin.RequestPathBase is not included in the evaluation, only owin.RequestPath. + Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase. + + + + + Initializes a new instance of the class + + The normal pipeline taken for a negative match + + + + + Process an individual request. + + + + + + + Options for the Map middleware + + + + + The path to match + + + + + The branch taken for a positive match + + + + + Extension methods for the MapWhenMiddleware + + + + + Branches the request pipeline based on the result of the given predicate. + + + Invoked with the request environment to determine if the branch should be taken + Configures a branch to take + + + + + Branches the request pipeline based on the async result of the given predicate. + + + Invoked asynchronously with the request environment to determine if the branch should be taken + Configures a branch to take + + + + + Determines if the request should take a specific branch of the pipeline by passing the environment + to a user defined callback. + + + + + Initializes a new instance of the class + + The normal application pipeline + + + + + Process an individual request. + + + + + + + Options for the MapWhen middleware + + + + + The user callback that determines if the branch should be taken + + + + + The async user callback that determines if the branch should be taken + + + + + The branch taken for a positive match + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Create a new wrapper. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets a wrapper exposing request specific properties. + + A wrapper exposing request specific properties. + + + + Gets a wrapper exposing response specific properties. + + A wrapper exposing response specific properties. + + + + Gets the Authentication middleware functionality available on the current request. + + The authentication middleware functionality available on the current request. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets or sets the host.TraceOutput environment value. + + The host.TraceOutput TextWriter. + + + + Provides correct escaping for Path and PathBase values when needed to reconstruct a request or redirect URI string + + + + + Represents the empty path. This field is read-only. + + + + + Initialize the path string with a given value. This value must be in un-escaped format. Use + PathString.FromUriComponent(value) if you have a path value which is in an escaped format. + + The unescaped path to be assigned to the Value property. + + + + Provides the path string escaped in a way which is correct for combining into the URI representation. + + The escaped path value + + + + Provides the path string escaped in a way which is correct for combining into the URI representation. + + The escaped path value + + + + Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any + value that is not a path. + + The escaped path as it appears in the URI format. + The resulting PathString + + + + Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported. + + The Uri object + The resulting PathString + + + + Checks if this instance starts with or exactly matches the other instance. Only full segments are matched. + + + + + + + Checks if this instance starts with or exactly matches the other instance. Only full segments are matched. + + + Any remaining segments from this instance not included in the other instance. + + + + + Adds two PathString instances into a combined PathString value. + + The combined PathString value + + + + Combines a PathString and QueryString into the joined URI formatted string value. + + The joined URI formatted string value + + + + Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase. + + The second PathString for comparison. + True if both PathString values are equal + + + + Compares this PathString value to another value using a specific StringComparison type + + The second PathString for comparison + The StringComparison type to use + True if both PathString values are equal + + + + Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase. + + The second PathString for comparison. + True if both PathString values are equal + + + + Returns the hash code for the PathString value. The hash code is provided by the OrdinalIgnoreCase implementation. + + The hash code + + + + Operator call through to Equals + + The left parameter + The right parameter + True if both PathString values are equal + + + + Operator call through to Equals + + The left parameter + The right parameter + True if both PathString values are not equal + + + + Operator call through to Add + + The left parameter + The right parameter + The PathString combination of both values + + + + Operator call through to Add + + The left parameter + The right parameter + The PathString combination of both values + + + + The unescaped path value + + + + + True if the path is not empty + + + + + Provides correct handling for QueryString value when needed to reconstruct a request or redirect URI string + + + + + Represents the empty query string. This field is read-only. + + + + + Initalize the query string with a given value. This value must be in escaped and delimited format without + a leading '?' character. + + The query string to be assigned to the Value property. + + + + Initialize a query string with a single given parameter name and value. The value is + + The unencoded parameter name + The unencoded parameter value + + + + Provides the query string escaped in a way which is correct for combining into the URI representation. + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentally + dangerous are escaped. + + The query string value + + + + Provides the query string escaped in a way which is correct for combining into the URI representation. + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially + dangerous are escaped. + + The query string value + + + + Returns an QueryString given the query as it is escaped in the URI format. The string MUST NOT contain any + value that is not a query. + + The escaped query as it appears in the URI format. + The resulting QueryString + + + + Returns an QueryString given the query as from a Uri object. Relative Uri objects are not supported. + + The Uri object + The resulting QueryString + + + + Indicates whether the current instance is equal to the other instance. + + + + + + + Indicates whether the current instance is equal to the other instance. + + + + + + + Returns the hash code for this instance. + + + + + + Compares the two instances for equality. + + + + + + + + Compares the two instances for inequality. + + + + + + + + The unescaped query string without the leading '?' character + + + + + True if the query string is not empty + + + + + A wrapper for the request Cookie header + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + Returns null rather than throwing KeyNotFoundException + + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Conversion delegate must take one parameter.. + + + + + Looks up a localized string similar to The type '{0}' does not match any known middleware pattern.. + + + + + Looks up a localized string similar to The OWIN key 'server.OnSendingHeaders' is not available for this request.. + + + + + Looks up a localized string similar to The class '{0}' does not have a constructor taking {1} arguments.. + + + + + Looks up a localized string similar to No conversion available between {0} and {1}.. + + + + + Looks up a localized string similar to The path must not end with a '/'. + + + + + Looks up a localized string similar to The path must start with a '/' followed by one or more characters.. + + + + + Looks up a localized string similar to The path is required. + + + + + Looks up a localized string similar to The query string must start with a '?' unless null or empty.. + + + + + A standard implementation of IAppBuilder + + + + + Initializes a new instance of the the type. + + + + + + + + + + + + Adds a middleware node to the OWIN function pipeline. The middleware are + invoked in the order they are added: the first middleware passed to Use will + be the outermost function, and the last middleware passed to Use will be the + innermost. + + + The middleware parameter determines which behavior is being chained into the + pipeline. + + If the middleware given to Use is a Delegate, then it will be invoked with the "next app" in + the chain as the first parameter. If the delegate takes more than the single argument, + then the additional values must be provided to Use in the args array. + + If the middleware given to Use is a Type, then the public constructor will be + invoked with the "next app" in the chain as the first parameter. The resulting object + must have a public Invoke method. If the object has constructors which take more than + the single "next app" argument, then additional values may be provided in the args array. + + + Any additional args passed to Use will be passed as additional values, following the "next app" + parameter, when the OWIN call pipeline is build. + + They are passed as additional parameters if the middleware parameter is a Delegate, or as additional + constructor arguments if the middle parameter is a Type. + + + The IAppBuilder itself is returned. This enables you to chain your use statements together. + + + + + The New method creates a new instance of an IAppBuilder. This is needed to create + a tree structure in your processing, rather than a linear pipeline. The new instance share the + same Properties, but will be created with a new, empty middleware list. + + To create a tangent pipeline you would first call New, followed by several calls to Use on + the new builder, ending with a call to Build on the new builder. The return value from Build + will be the entry-point to your tangent pipeline. This entry-point may now be added to the + main pipeline as an argument to a switching middleware, which will either call the tangent + pipeline or the "next app", based on something in the request. + + That said - all of that work is typically hidden by a middleware like Map, which will do that + for you. + + The new instance of the IAppBuilder implementation + + + + The Build is called at the point when all of the middleware should be chained + together. This is typically done by the hosting component which created the app builder, + and does not need to be called by the startup method if the IAppBuilder is passed in. + + + The Type argument indicates which calling convention should be returned, and + is typically typeof() for the OWIN + calling convention. + + + Returns an instance of the pipeline's entry point. This object may be safely cast to the + type which was provided + + + + + Contains arbitrary properties which may added, examined, and modified by + components during the startup sequence. + + Returns . + + + + Simple object used by AppBuilder as seed OWIN callable if the + builder.Properties["builder.DefaultApp"] is not set + + + + + Abstracts the system clock to facilitate testing. + + + + + Retrieves the current system time in UTC. + + + + + Provides access to the normal system clock. + + + + + Retrieves the current system time in UTC. + + + + + Response generation utilities. + + + + + Append the given query to the uri. + + The base uri. + The query string to append, if any. + The combine result. + + + + Append the given query key and value to the uri. + + The base uri. + The name of the query key. + The query value. + The combine result. + + + + Append the given query keys and values to the uri. + + The base uri. + A collection of name value query pairs to append. + The combine result. + + + + A wrapper for the response Set-Cookie header + + + + + Create a new wrapper + + + + + + Add a new cookie and value + + + + + + + Add a new cookie + + + + + + + + Sets an expired cookie + + + + + + Sets an expired cookie + + + + + + + Acts as the return value from calls to the IAuthenticationManager's AuthenticeAsync methods. + + + + + Create an instance of the result object + + Assigned to Identity. May be null. + Assigned to Properties. Contains extra information carried along with the identity. + Assigned to Description. Contains information describing the authentication provider. + + + + Contains the claims that were authenticated by the given AuthenticationType. If the authentication + type was not successful the Identity property will be null. + + + + + Contains extra values that were provided with the original SignIn call. + + + + + Contains description properties for the middleware authentication type in general. Does not + vary per request. + + + + + Contains information describing an authentication provider. + + + + + Initializes a new instance of the class + + + + + Initializes a new instance of the class + + + + + + Contains metadata about the authentication provider. + + + + + Gets or sets the name used to reference the authentication middleware instance. + + + + + Gets or sets the display name for the authentication provider. + + + + + Extension methods used to indicate at which stage in the integrated pipeline prior middleware should run. + + + + + Call after other middleware to specify when they should run in the integrated pipeline. + + The IAppBuilder. + The name of the integrated pipeline in which to run. + The original IAppBuilder for chaining. + + + + Call after other middleware to specify when they should run in the integrated pipeline. + + The IAppBuilder. + The stage of the integrated pipeline in which to run. + The original IAppBuilder for chaining. + + + + Logging extension methods for IAppBuilder. + + + + + Sets the server.LoggerFactory in the Properties collection. + + + + + + + Retrieves the server.LoggerFactory from the Properties collection. + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Used to create logger instances of the given name. + + + + + Creates a new ILogger instance of the given name. + + + + + + + A generic interface for logging. + + + + + Aggregates most logging patterns to a single method. This must be compatible with the Func representation in the OWIN environment. + + To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written. + + + + + + + + + + + Contains the parts of an address. + + + + + Initializes a new instance. + + + + + + Initializes a new with the given parts. + + The scheme. + The host. + The port. + The path. + + + + Creates a new + + A new + + + + Determines whether the specified object is equal to the current object. + + The other object. + true if the specified object is equal to the current object; otherwise, false. + + + + Determines whether the specified object is equal to the current object. + + The other object. + true if the specified object is equal to the current object; otherwise, false. + + + + Returns the hash code for this instance. + + The hash code for this instance. + + + + Determines whether two specified instances of are equal. + + The first object to compare. + The second object to compare. + true if left and right represent the same address; otherwise, false. + + + + Determines whether two specified instances of are not equal. + + The first object to compare. + The second object to compare. + true if left and right do not represent the same address; otherwise, false. + + + + Gets a specified key and value from the underlying dictionary. + + + The key. + + + + + Sets a specified key and value in the underlying dictionary. + + The key. + The value. + + + + + Gets the internal dictionary for this collection. + + The internal dictionary for this collection. + + + + The uri scheme. + + + + + The uri host. + + + + + The uri port. + + + + + The uri path. + + + + + Wraps the host.Addresses list. + + + + + Initializes a new instance of the class. + + The address list to set to the collection. + + + + Adds the specified address to the collection. + + The address to add to the collection. + + + + Gets the enumerator that iterates through the collection. + + The enumerator that can be used to iterate through the collection. + + + + Gets the enumerator that iterates through the collection. + + The enumerator that can be used to iterate through the collection. + + + + Creates a new empty instance of . + + A new empty instance of . + + + + Determines whether the current collection is equal to the specified collection. + + The other collection to compare to the current collection. + true if current collection is equal to the specified collection; otherwise, false. + + + + Determines whether the current collection is equal to the specified object. + + The object to compare to the current collection. + true if current collection is equal to the specified object; otherwise, false. + + + + Gets the hash code for this instance. + + The hash code for this instance. + + + + Determines whether the first collection is equal to the second collection. + + The first collection to compare. + The second collection to compare. + true if both collections are equal; otherwise, false. + + + + Determines whether the first collection is not equal to the second collection. + + The first collection to compare. + The second collection to compare. + true if both collections are not equal; otherwise, false. + + + + Gets the underlying address list. + + The underlying address list. + + + + Gets the number of elements in the collection. + + The number of elements in the collection. + + + + Gets the item with the specified index from the collection. + + The index. + The item with the specified index. + + + + A wrapper for the IDictionary. + + + + + Initializes a new instance of the class. + + + + + + Determines whether the current AppProperties is equal to the specified AppProperties. + + The other AppProperties to compare with the current instance. + true if the current AppProperties is equal to the specified AppProperties; otherwise, false. + + + + Determines whether the current AppProperties is equal to the specified object. + + The object to compare with the current instance. + true if the current AppProperties is equal to the specified object; otherwise, false. + + + + Returns the hash code for this instance. + + The hash code for this instance. + + + + Determines whether the first AppPProperties is equal to the second AppProperties. + + The first AppPropeties to compare. + The second AppPropeties to compare. + true if both AppProperties are equal; otherwise, false. + + + + Determines whether the first AppPProperties is not equal to the second AppProperties. + + The first AppPropeties to compare. + The second AppPropeties to compare. + true if both AppProperties are not equal; otherwise, false. + + + + Gets the value from the dictionary with the specified key. + + The type of the value. + The key of the value to get. + The value with the specified key. + + + + Sets the value with the specified key. + + The key of the value to set. + The value to set. + This instance. + + + + Gets or sets the string value for “owin.Version”. + + The string value for “owin.Version”. + + + + Gets or sets the function delegate for “builder.DefaultApp”. + + The function delegate for “builder.DefaultApp”. + + + + Gets or sets the action delegate for “builder.AddSignatureConversion”. + + The action delegate for “builder.AddSignatureConversion”. + + + + Gets or sets the string value for “host.AppName”. + + The string value for “host.AppName”. + + + + Gets or sets the text writer for “host.TraceOutput”. + + The text writer for “host.TraceOutput”. + + + + Gets or sets the cancellation token for “host.OnAppDisposing”. + + The cancellation token for “host.OnAppDisposing”. + + + + Gets or sets the address collection for “host.Addresses”. + + The address collection for “host.Addresses”. + + + + Gets or sets the list of “server.Capabilities”. + + The list of “server.Capabilities”. + + + + Gets the underlying dictionary for this instance. + + The underlying dictionary for this instance. + + + + Represents the capabilities for the builder properties. + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + A new instance of the class. + + + + Determines whether the current Capabilities instance is equal to the specified Capabilities. + + The other Capabilities to compare with the current instance. + true if the specified object is equal to the current object; otherwise, false. + + + + Determines whether the current Capabilities is equal to the specified object. + + The object to compare with the current instance. + true if the current Capabilities is equal to the specified object; otherwise, false. + + + + Returns the hash code for this instance. + + The hash code for this instance. + + + + Determines whether two specified instances of are equal. + + The first object to compare. + The second object to compare. + true if the two specified instances of are equal; otherwise, false. + + + + Determines whether two specified instances of are not equal. + + The first object to compare. + The second object to compare. + true if the two specified instances of are not equal; otherwise, false. + + + + Gets the value from the dictionary with the specified key. + + The type of the value. + The key of the value to get. + The value with the specified key. + + + + Sets the given key and value in the underlying dictionary. + + The key of the value to set. + The value to set. + This instance. + + + + The underling IDictionary + + + + + Gets or sets the string value for "sendfile.Version" + + the string value for "sendfile.Version" + + + + Gets or sets the websocket version. + + The websocket version. + + + + Options used to create a new cookie. + + + + + Creates a default cookie with a path of '/'. + + + + + Gets or sets the domain to associate the cookie with. + + The domain to associate the cookie with. + + + + Gets or sets the cookie path. + + The cookie path. + + + + Gets or sets the expiration date and time for the cookie. + + The expiration date and time for the cookie. + + + + Gets or sets a value that indicates whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only. + + true to transmit the cookie only over an SSL connection (HTTPS); otherwise, false. + + + + Gets or sets a value that indicates whether a cookie is accessible by client-side script. + + true if a cookie is accessible by client-side script; otherwise, false. + + + + Provides a default ILoggerFactory. + + + + + Provides a default ILoggerFactory based on System.Diagnostics.TraceSorce. + + + + + Extension methods for IAppBuilder. + + + + + The Build is called at the point when all of the middleware should be chained + together. May be called to build pipeline branches. + + + The request processing entry point for this section of the pipeline. + + + + The Build is called at the point when all of the middleware should be chained + together. May be called to build pipeline branches. + + The application signature. + + The request processing entry point for this section of the pipeline. + + + + Adds converters for adapting between disparate application signatures. + + + + + + + Adds converters for adapting between disparate application signatures. + + + + + + + + + Provides helper methods for processing requests. + + + + + Parses an HTTP form body. + + The HTTP form body to parse. + The object containing the parsed HTTP form body. + + + + Converts between an OwinMiddlware and an . + + + + + An abstract base class for a standard middleware pattern. + + + + + Instantiates the middleware with an optional pointer to the next component. + + + + + + Process an individual request. + + + + + + + The optional next component. + + + + + + + + + + + + + + + + + + Transitions between and OwinMiddleware. + + + + + + + + + + + + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + + Adds adapters between and OwinMiddleware. + + + + + Adds adapters between and OwinMiddleware. + + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Create a new environment wrapper exposing request properties. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Asynchronously reads and parses the request body as a form. + + The parsed form data. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or set the HTTP method. + + The HTTP method. + + + + Gets or set the HTTP request scheme from owin.RequestScheme. + + The HTTP request scheme from owin.RequestScheme. + + + + Returns true if the owin.RequestScheme is https. + + true if this request is using https; otherwise, false. + + + + Gets or set the Host header. May include the port. + + The Host header. + + + + Gets or set the owin.RequestPathBase. + + The owin.RequestPathBase. + + + + Gets or set the request path from owin.RequestPath. + + The request path from owin.RequestPath. + + + + Gets or set the query string from owin.RequestQueryString. + + The query string from owin.RequestQueryString. + + + + Gets the query value collection parsed from owin.RequestQueryString. + + The query value collection parsed from owin.RequestQueryString. + + + + Gets the uniform resource identifier (URI) associated with the request. + + The uniform resource identifier (URI) associated with the request. + + + + Gets or set the owin.RequestProtocol. + + The owin.RequestProtocol. + + + + Gets the request headers. + + The request headers. + + + + Gets the collection of Cookies for this request. + + The collection of Cookies for this request. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Cache-Control header. + + The Cache-Control header. + + + + Gets or sets the Media-Type header. + + The Media-Type header. + + + + Gets or set the Accept header. + + The Accept header. + + + + Gets or set the owin.RequestBody Stream. + + The owin.RequestBody Stream. + + + + Gets or sets the cancellation token for the request. + + The cancellation token for the request. + + + + Gets or set the server.LocalIpAddress. + + The server.LocalIpAddress. + + + + Gets or set the server.LocalPort. + + The server.LocalPort. + + + + Gets or set the server.RemoteIpAddress. + + The server.RemoteIpAddress. + + + + Gets or set the server.RemotePort. + + The server.RemotePort. + + + + Gets or set the server.User. + + The server.User. + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Creates a new environment wrapper exposing response properties. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Registers for an event that fires when the response headers are sent. + + The callback method. + The callback state. + + + + Sets a 302 response status code and the Location header. + + The location where to redirect the client. + + + + Writes the given text to the response body stream using UTF-8. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or sets the optional owin.ResponseStatusCode. + + The optional owin.ResponseStatusCode, or 200 if not set. + + + + Gets or sets the the optional owin.ResponseReasonPhrase. + + The the optional owin.ResponseReasonPhrase. + + + + Gets or sets the owin.ResponseProtocol. + + The owin.ResponseProtocol. + + + + Gets the response header collection. + + The response header collection. + + + + Gets a collection used to manipulate the Set-Cookie header. + + A collection used to manipulate the Set-Cookie header. + + + + Gets or sets the Content-Length header. + + The Content-Length header. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Expires header. + + The Expires header. + + + + Gets or sets the E-Tag header. + + The E-Tag header. + + + + Gets or sets the owin.ResponseBody Stream. + + The owin.ResponseBody Stream. + + + + Used to interact with authentication middleware that have been chained in the pipeline + + + + + Lists all of the description data provided by authentication middleware that have been chained + + The authentication descriptions + + + + Lists the description data of all of the authentication middleware which are true for a given predicate + + A function provided by the caller which returns true for descriptions that should be in the returned list + The authentication descriptions + + + + Call back through the middleware to ask for a specific form of authentication to be performed + on the current request + + Identifies which middleware should respond to the request + for authentication. This value is compared to the middleware's Options.AuthenticationType property. + Returns an object with the results of the authentication. The AuthenticationResult.Identity + may be null if authentication failed. Even if the Identity property is null, there may still be + AuthenticationResult.properties and AuthenticationResult.Description information returned. + + + + Called to perform any number of authentication mechanisms on the current request. + + Identifies one or more middleware which should attempt to respond + Returns the AuthenticationResult information from the middleware which responded. The + order is determined by the order the middleware are in the pipeline. Latest added is first in the list. + + + + Add information into the response environment that will cause the authentication middleware to challenge + the caller to authenticate. This also changes the status code of the response to 401. The nature of that + challenge varies greatly, and ranges from adding a response header or changing the 401 status code to + a 302 redirect. + + Additional arbitrary values which may be used by particular authentication types. + Identify which middleware should perform their alterations on the + response. If the authenticationTypes is null or empty, that means the + AuthenticationMode.Active middleware should perform their alterations on the response. + + + + Add information into the response environment that will cause the authentication middleware to challenge + the caller to authenticate. This also changes the status code of the response to 401. The nature of that + challenge varies greatly, and ranges from adding a response header or changing the 401 status code to + a 302 redirect. + + Identify which middleware should perform their alterations on the + response. If the authenticationTypes is null or empty, that means the + AuthenticationMode.Active middleware should perform their alterations on the response. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary. + Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2 + access code or token response. + + Contains additional properties the middleware are expected to persist along with + the claims. These values will be returned as the AuthenticateResult.properties collection when AuthenticateAsync + is called on subsequent requests. + Determines which claims are granted to the signed in user. The + ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType + value to determine which claims are granted by which middleware. The recommended use is to have a single + ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary. + Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2 + access code or token response. + + Determines which claims are granted to the signed in user. The + ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType + value to determine which claims are granted by which middleware. The recommended use is to have a single + ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to revoke any claims identity associated the the caller. The exact method varies. + + Additional arbitrary values which may be used by particular authentication types. + Identifies which middleware should perform the work to sign out. + Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear + cookies and redirect to an external single-sign out url. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to revoke any claims identity associated the the caller. The exact method varies. + + Identifies which middleware should perform the work to sign out. + Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear + cookies and redirect to an external single-sign out url. + + + + Returns the current user for the request + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Exposes the security.SignOut environment value as a strong type. + + + + + + + + + + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Exposes the security.SignOut environment value as a strong type. + + + + + Dictionary used to store state values about the authentication session. + + + + + Initializes a new instance of the class + + + + + Initializes a new instance of the class + + + + + + State values about the authentication session. + + + + + Gets or sets whether the authentication session is persisted across multiple requests. + + + + + Gets or sets the full path or absolute URI to be used as an http redirect response value. + + + + + Gets or sets the time at which the authentication ticket was issued. + + + + + Gets or sets the time at which the authentication ticket expires. + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Initializes a new instance of the class + + + + + + + List of the authentication types that should send a challenge in the response. + + + + + Dictionary used to store state values about the authentication session. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Initializes a new instance of the class. + + + + + + + Initializes a new instance of the class. + + + + + + + The identity associated with the user sign in. + + + + + The security principal associated with the user sign in. + + + + + Dictionary used to store state values about the authentication session. + + + + + Exposes the security.SignOut and security.SignOutProperties environment values as a strong type. + + + + + Initializes a new instance of the class + + + + + + Initializes a new instance of the class + + + + + + + List of the authentication types that should be revoked on sign out. + + + + + Dictionary used to store state values about the authentication session. + + + + + Provides an ILoggerFactory based on System.Diagnostics.TraceSource. + + + + + Initializes a new instance of the class. + + + Creates a factory named "Microsoft.Owin". + + + + + Initializes a new instance of the class. + + + + + + + Creates a new DiagnosticsLogger for the given component name. + + + + + + + ILogger extension methods for common scenarios. + + + + + Checks if the given TraceEventType is enabled. + + + + + + + + Writes a verbose log message. + + + + + + + Writes an informational log message. + + + + + + + Writes a warning log message. + + + + + + + + Writes a warning log message. + + + + + + + + Writes an error log message. + + + + + + + Writes an error log message. + + + + + + + + Writes a critical log message. + + + + + + + Writes a critical log message. + + + + + + + diff --git a/GMW-RT/bin/Newtonsoft.Json.dll b/GMW-RT/bin/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..9adda64d3cfc50b43a19bbee1b334bb569df8b34 GIT binary patch literal 413184 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 + + + Newtonsoft.Json + + + +

+ Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/GMW-RT/bin/Owin.dll b/GMW-RT/bin/Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba6e21eda71d055d039e42c9d0902349b3d073f7 GIT binary patch literal 4608 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 literal 0 HcmV?d00001 diff --git a/GMW-RT/obj/Debug/GMW-RT.dll b/GMW-RT/obj/Debug/GMW-RT.dll new file mode 100644 index 0000000000000000000000000000000000000000..5687f6a4b186d03906f29b80abcfe596048692d1 GIT binary patch literal 6144 zcmeHLYit}>6+W}OeqRixM{rjmBeX7YI_|!Ch?=*jZ<2KJ-d6oo_2O- zGc%jSB&4p=BHB`vBDDwwL<*`z1(i~PL`VgxDpmYIg&WNhVR^& zwb$MdiJuj@tNHG^=bU@)x#zxj^uerA4&5I=t04J+YtYkP@WoKi?ZK zwDt}KTC0>QqIKYud)&`Ok*oOn@UcV%20Xu+;j0lXdVJ;uY4!ED_#=eY( zw>}U&P!W7ZsSinL z`bl&mEDZ(Pnm}6X8JYpK9qn*?$CuiJ^-%jEuf6J(?KPLQ*VI&KdHoXQ`OpIEi);%% zaCQ=|h9yY`>F&ZJR;d$sCnA@M|Fc=>f%$CXdaro@ht3yQ8~v z4+@C40sJl&;Fi-w^%&c&WuW7(t(zH#HG0<&bs*nzI8O7Rc?xeCK0Gpr`~=D$AXHlh z3@eE;C%CH|X$VxV0YTTdb@Lp63T?v&({fsHjwVUPSBsD3JgqqAb;MPvS$0rx1MP{K4JF)Q)Q5?_?~Q;Ba&{D;IHf$Bh*`Xr78 zxNb(`*8-0R#_4--AxysyT!PMZU?U9%nH~?GLWdrZv;n$>UJJeuY@uIE{5!Cb{sn0Z zRfb*&hG}Q0B~(uN&=KG_fv_23Z~qdy6ey=PW#?oMy?*j2DTr?aZ9=39rLDAs)}R!k zGs-&JjIeR3T$Wx((AFSY!bx=a%)8~q|ZMRm}8%`cs$CX`~WQnvm%$bxjx zE7A7}Q-=;0$-L3H1myr-1}gM3YNhAk%U!@u+9T0U}JQF@ww3#=jqSVsqe8zg@VI3+5mjz^ky`|=cn}; zJ)YY<_ck)w3cxC2R+J*t{sA*%{#u z;UXZ8TlORUF7~u!-Yxc1Hpbw0c3CH}kP}O`#hd|Ox%qy_5!s}%kkDO2ENd6ogThJK zdX7~~g)2I8GjTSjnG2}4#Naiyc zZADWa595g$3vX6A3+Hk$ZWntChMX&t!q84g%2{^FpC?=oqNHx(=A1>IUNLLP&~SpsY@uP!7b^Nr z7mCu3SMb#R_{J>5pYl$0SfKBEibnREXwK&0L7zv=W7Z>L6srMi)LUvrUa#67umLzU z0^|S*8xb|V1;w%DYbX}#Ow7>H8DH~0c#}L%w&Mc+WVQTTwC4{`K;0q(E<^%v7D4hbFE%^;l7ziYu^grQ$c}9 zw)SXE6O~04YQIp^5LtW-8j)s?$W|5A#chg9bre|$me*04N|D7U;L*kk-*^Q)tD`!l ztU}oo$$rdlck!7J8m_5PVZ_LJLgjEJsn*;+mk)LsrF=-w!3>*T1)NRjf?JD zg(^C6MaB;gC={e!5Z+_z4!)Nq0*yy(EjMOi@}z{^?-TR3b=>g}?ZR7)y@$8k zdw6F}#s}m7etyHt&EM!6|LXHcU!AyeVI5aV-7|gI!O1o4XxY3l#Ppz*l1tl}#@?IP z3^nfN)4Ii->6*rYz-Om3jjr>D1AN*_K0GbAN}mzUrIRrH5lS8YJCI!-V_IdZG!@>9 z%aR%F$AgA3icQ+PW(XlKG^}xB8|?6t<#zf=M1bEvM0jB@u5_1IoqUIu@L7-lJ9wav z=sYhtKb;R?+2h?9ry1aWnglgM<1~iy2yh5Ar=NuWiie zz6-w|O3Jr*FI9kFXn9bcL@8+}x1yb4oKi>7-$_cyb~~_%E!UeuJsaLF`_+jzQpeJV zw?Dsv5F0{X)OFbZb94WSk~Y--35}oZW7b_XYo#O` tluBd7G3}Rk0X$7GLI!%OV$Q9M?&^9Rr`rh;P`&>QXZPKX#{Xjk{sS^Kz-j;h literal 0 HcmV?d00001 diff --git a/GMW-RT/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/GMW-RT/obj/Debug/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 00000000..e69de29b diff --git a/GMW-RT/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/GMW-RT/obj/Debug/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 00000000..e69de29b diff --git a/GMW-RT/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/GMW-RT/obj/Debug/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 00000000..e69de29b diff --git a/GMW-RT/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache b/GMW-RT/obj/Release/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000000000000000000000000000000000000..b2358a60cd0be75256e199524aa039f7413e0a15 GIT binary patch literal 9530 zcmeHNZC4vb6iy0k32n8(+81hTs#V(>)&xj_Dn}`S7A=TLZ1u1lI@wIZz`mq2yFf%f z`vd&s2amtN<4@G*Zjud9N_!-GPCsOOa!KdqKKI_ab93j;#^SM9>|Z?em!9)yKq^bZ zl&*5Cp8ixQpIJrEuLxJ4b8Xvo7W4Dz)Ke~%aGjZKR?pDCbZXAGJYVt|hx?vnRywuf zmn~s_#~USgi#s#r%y>0dovdcFm0X66vjKvfdIi!$Usx5wTXZ}w-TE`h>UA#l0+WkQ z-S^ZLOuoh}%iZCXS*5sLwi@%h9(PD8bpfO2T&F5(3&P@;P3BZYg?YR^l3LaEs&82f zlG%L6m0Rtu5-X$c(xJWu*Q!9@o77lhvc|n|TG1~n?k$6fx-DvsD|wz*8BDS0C=c>= zq-!$1ck-YnyXMd<;&>J}UTQx$D`i1X8!)+-*9Mb4zTvBJC!b+LA& z;apw1Ral6$8kW2!lqVaV2?;3XaWdfu7#%dm0hG%}x|Uo=Y;k$(_~yJ&b&E9!@aV*r zqg`)KT#>HHm2%}Qq!%7^g3Gn0@JhjVJYnpO1w@i=GrtEuFHJ=}JqK zJ3D9MjW^EZB+Hq(``PL737(mnUQ3@O$6G3D6n0qau36u5cJX-6MWgVda5qK4{4MvX zE^nZogGS*)JqPX959b;sw~0QGp+rA@9Uy{SAeJ}_fq5=4fGoC6us&V$CZ3m^~o z3axbLK@r*U4wKvnGgw1ko-c)oVS0N)&!yX0Wh;Z6-`&^V0iT_@2gZ*IDW##9?Q@G8 zdDrx9?s&>*X56V}%AFd^WXB9-J)1~Ll<{ck8GS|zCBrRm8U@T`3X{1)T3JHsQ{c+A zw!=KPz^hzx2Pugf{Yv%ww=zC&{`7x!_=P&wMkL?FxvZr5%1AATM0|M zgl|J=%jn~o@$7Wsef&R37N(DOnTWn49J``X#@?@2EK9o@eB--3NsI6ijkyN$^XZLJ zG^MD+PMa@$E*qm+eM%qGHhG}VZ z15i&+5A}?fbu&1NX*a>~htqScGjog8$fuiZKLp$A>DeCZJObxW%MuC)OHTGr0jqF& zEHX--m;G8>hg;xV>JHylRA_Ui{q=kN6s+6k?nF9$R@Ilerx%;vi6fKb*l2K314kUg z;od~V-3bb2(F=2kP0dXsXMz<_wOS7wxVmQ z73Oie?x<~q!SnDBgFz9rGfbZ=ZZKI70^=tD+w1O1eUIRa$bkyYXqkH~d+Y)QgGk#? zA;2G9UXg(LV^_glf&(@!#v2KAWDd#q8RYvd3i*oM^ri3`ft#FQq;MQba|hC_N8lUn zT0!6wcL8#mbRpcm%Y4T}O@oSh-zwM9b8w1-njY;Z4ezxy{J*(M2p%{AN`;~OWsK12 zJ_pFJ5tuP7*4TB|L29++R=B0-na5@w$3+b*DDjY*X-KdYr36%o^ksk;Eb1r#%TWR% z9+P4^aJ=Yn$d-XYi`?rJUjyVXqSY`!CJi&dq0Fw^@ww$Z1d#;LPI8goQP$}Tg*6X+n2sXeW=m|ixXrW2N9ANBdVe$=! z*}@DR^FAOqqJ_kA(oYsCI0-Z>VzlsfB|w}4;%2mnhdgB(coBNaPqr1P^#Cw*mWXJx z6U-CgydbQ8sy_5eX1$VGS1*UUU2zWTIP17-v(>=562I`l_3h@}FM9sz50k8yFU@*4 zVsz{M%FDYb{Jz_Z-{t#()wRLF#FvPA?I%gKS9%XX`wFBOLEKGJVK+dS!I%C8+~CKl z$Qx9C4~i0}s_#p!Nh$-=lcZ8GNvnMga&>R+*jEbnwQtZny!RMoBf48(ka&XuTW4RJ zMf=EJ>G=Ed#=iCt{oSZ8&wy-*gug0Xh)Kkl!VJ^%m! literal 0 HcmV?d00001 diff --git a/GMW-RT/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs b/GMW-RT/obj/Release/TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs new file mode 100644 index 00000000..e69de29b diff --git a/GMW-RT/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs b/GMW-RT/obj/Release/TemporaryGeneratedFile_5937a670-0e60-4077-877b-f7221da3dda1.cs new file mode 100644 index 00000000..e69de29b diff --git a/GMW-RT/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs b/GMW-RT/obj/Release/TemporaryGeneratedFile_E7A71F73-0F8D-4B9B-B56E-8E70B10BC5D3.cs new file mode 100644 index 00000000..e69de29b diff --git a/GMW-RT/packages.config b/GMW-RT/packages.config new file mode 100644 index 00000000..b95cd7f7 --- /dev/null +++ b/GMW-RT/packages.config @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/GMW/packages.config b/GMW/packages.config index 7828a43b..49744c9a 100644 --- a/GMW/packages.config +++ b/GMW/packages.config @@ -17,22 +17,14 @@ - - - - - - - - diff --git a/packages/Microsoft.AspNet.SignalR.2.0.3/Microsoft.AspNet.SignalR.2.0.3.nupkg b/packages/Microsoft.AspNet.SignalR.2.0.3/Microsoft.AspNet.SignalR.2.0.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..72bec2c84837a96148c0592cfa22c3a279738e9e GIT binary patch literal 4044 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.AspNet.SignalR.2.0.3/readme.txt b/packages/Microsoft.AspNet.SignalR.2.0.3/readme.txt new file mode 100644 index 00000000..e9083930 --- /dev/null +++ b/packages/Microsoft.AspNet.SignalR.2.0.3/readme.txt @@ -0,0 +1,50 @@ +Please see http://go.microsoft.com/fwlink/?LinkId=272764 for more information on using SignalR. + +Upgrading from 1.x to 2.0 +------------------------- +Please see http://go.microsoft.com/fwlink/?LinkId=320578 for more information on how to +upgrade your SignalR 1.x application to 2.0. + +Mapping the Hubs connection +---------------------------- +To enable SignalR in your application, create a class called Startup with the following: + +using Microsoft.Owin; +using Owin; +using MyWebApplication; + +namespace MyWebApplication +{ + public class Startup + { + public void Configuration(IAppBuilder app) + { + app.MapSignalR(); + } + } +} + +Getting Started +--------------- +See http://www.asp.net/signalr/overview/getting-started for more information on how to get started. + +Why does ~/signalr/hubs return 404 or Why do I get a JavaScript error: 'myhub is undefined'? +-------------------------------------------------------------------------------------------- +This issue is generally due to a missing or invalid script reference to the auto-generated Hub JavaScript proxy at '~/signalr/hubs'. +Please make sure that the Hub route is registered before any other routes in your application. + +In ASP.NET MVC 4 you can do the following: + + + +If you're writing an ASP.NET MVC 3 application, make sure that you are using Url.Content for your script references: + + + +If you're writing a regular ASP.NET application use ResolveClientUrl for your script references or register them via the ScriptManager +using a app root relative path (starting with a '~/'): + + + +If the above still doesn't work, you may have an issue with routing and extensionless URLs. To fix this, ensure you have the latest +patches installed for IIS and ASP.NET. \ No newline at end of file diff --git a/packages/Microsoft.AspNet.SignalR.Core.2.0.3/Microsoft.AspNet.SignalR.Core.2.0.3.nupkg b/packages/Microsoft.AspNet.SignalR.Core.2.0.3/Microsoft.AspNet.SignalR.Core.2.0.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..c2ebb015b9e7b28573e5352c20641c0310381d18 GIT binary patch literal 158981 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

$_`M9I5k@KHRZjWBn)$Pe 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 z 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 + + + Microsoft.AspNet.SignalR.Core + + + + + The amount of time the client should wait without seeing a keep alive before trying to reconnect. + + + + + The interval between successively checking connection states. + + + + + The amount of time a Topic should stay in memory after its last subscriber is removed. + + + + + + + The dependency resolver to use for the hub connection. + + + + + Gets of sets a boolean that determines if JSONP is enabled. + + + + + Represents a connection to the client. + + + + + Writes buffered data. + + The data to write to the buffer. + + + + Flushes the buffered response to the client. + + A task that represents when the data has been flushed. + + + + Gets a cancellation token that represents the client's lifetime. + + + + + Gets or sets the status code of the response. + + + + + Gets or sets the content type of the response. + + + + + Determines whether JavaScript proxies for the server-side hubs should be auto generated at {Path}/hubs or {Path}/js. + Defaults to true. + + + + + Determines whether detailed exceptions thrown in Hub methods get reported back the invoking client. + Defaults to false. + + + + + A server side proxy for the client side hub. + + + + + Invokes a method on the connection(s) represented by the instance. + + name of the method to invoke + argumetns to pass to the client + A task that represents when the data has been sent to the client. + + + + Encapsulates all information about a SignalR connection for an . + + + + + Returns a dynamic representation of all clients except the calling client ones specified. + + The list of connection ids to exclude + A dynamic representation of all clients except the calling client ones specified. + + + + Returns a dynamic representation of the connection with the specified connectionid. + + The connection id + A dynamic representation of the specified client. + + + + Returns a dynamic representation of the connections with the specified connectionids. + + The connection ids. + A dynamic representation of the specified clients. + + + + Returns a dynamic representation of the specified group. + + The name of the group + The list of connection ids to exclude + A dynamic representation of the specified group. + + + + Returns a dynamic representation of the specified groups. + + The names of the groups. + The list of connection ids to exclude + A dynamic representation of the specified groups. + + + + Encapsulates all information about an individual SignalR connection for an . + + + + + Holds information about a single hub method. + + + + + Name of Descriptor. + + + + + Flags whether the name was specified. + + + + + The return type of this method. + + + + + Hub descriptor object, target to this method. + + + + + Available method parameters. + + + + + Method invocation delegate. + Takes a target hub and an array of invocation arguments as it's arguments. + + + + + Attributes attached to this method. + + + + + The exception to be sent to the calling client. + This will be overridden by a generic Exception unless Error is a + or is set to true. + + + + + The value to return in lieu of throwing Error. Whenever Result is set, Error will be set to null. + + + + + Provides access to server configuration. + + + + + Gets or sets a representing the amount of time a client should allow to connect before falling + back to another transport or failing. + The default value is 5 seconds. + + + + + Gets or sets a representing the amount of time to leave a connection open before timing out. + The default value is 110 seconds. + + + + + Gets or sets a representing the amount of time to wait after a connection goes away before raising the disconnect event. + The default value is 30 seconds. + + + + + Gets or sets a representing the amount of time between send keep alive messages. + If enabled, this value must be at least two seconds. Set to null to disable. + The default value is 10 seconds. + + + + + Gets or sets the number of messages to buffer for a specific signal. + The default value is 1000. + + + + + Gets or sets the maximum size in bytes of messages sent from client to the server via WebSockets. + Set to null to disable this limit. + The default value is 65536 or 64 KB. + + + + + Gets or sets a representing tell the client to wait before restablishing a + long poll connection after data is sent from the server. + The default value is 0. + + + + + A buffering text writer that supports writing binary directly as well + + + + + TextWriter implementation over a write delegate optimized for writing in small chunks + we don't need to write to a long lived buffer. This saves massive amounts of memory + as the number of connections grows. + + + + + Implemented on anything that has the ability to write raw binary data + + + + + Default implementation. + + + + + Provides access to hubs and persistent connections references. + + + + + Returns a for the specified . + + Type of the + a for the specified + + + + Returns a for the specified hub. + + Name of the hub + a for the specified hub + + + + Returns a for the . + + Type of the + A for the . + + + + Initializes a new instance of the class. + + The . + + + + Returns a for the . + + Type of the + A for the . + + + + Returns a for the . + + Type of the + A for the . + + + + Returns a for the specified . + + Type of the + a for the specified + + + + Returns a for the specified hub. + + Name of the hub + a for the specified hub + + + + A message sent to one more connections. + + + + + Initializes a new instance of the class. + + The signal + The payload of the message + The signals to exclude. + + + + The signal to this message should be sent to. Connections subscribed to this signal + will receive the message payload. + + + + + A list of signals this message should be delivered to. If this is used + the Signal cannot be used. + + + + + The payload of the message. + + + + + Represents a list of signals that should be used to filter what connections + receive this message. + + + + + Provides access to default host information. + + + + + Gets or sets the the default + + + + + Gets the default + + + + + Gets the default + + + + + Gets the default + + + + + + + + + + Represents a SignalR request + + + + + Reads the form of the http request + + + + + + Gets the url for this request. + + + + + The local path part of the url + + + + + Gets the querystring for this request. + + + + + Gets the headers for this request. + + + + + Gets the cookies for this request. + + + + + Gets security information for the current HTTP request. + + + + + Gets the owin enviornment + + + + + A converter for dictionaries that uses a SipHash comparer + + + + + Represents a web socket. + + + + + Sends data over the websocket. + + The value to send. + A that represents the send is complete. + + + + Sends a chunk of data over the websocket ("endOfMessage" flag set to false.) + + + A that represents the send is complete. + + + + Sends a zero byte data chunk with the "endOfMessage" flag set to true. + + A that represents the flush is complete. + + + + Invoked when data is sent over the websocket + + + + + Invoked when the websocket closes + + + + + Invoked when there is an error + + + + + Extension methods for . + + + + + Closes the connection to a client with optional data. + + The . + The data to write to the connection. + A task that represents when the connection is closed. + + + + Encapsulates all information about an individual SignalR connection for an . + + + + + Initializes a new instance of the . + + + + + Initializes a new instance of the . + + The pipeline invoker. + The connection. + The hub name. + The connection id. + The connection hub state. + + + + Returns a dynamic representation of all clients in a group except the calling client. + + The name of the group + A dynamic representation of all clients in a group except the calling client. + + + + Returns a dynamic representation of all clients in the specified groups except the calling client. + + The name of the groups + A dynamic representation of all clients in a group except the calling client. + + + + All connected clients except the calling client. + + + + + Represents the calling client. + + + + + This module is added the the HubPipeline by default. + + Hub level attributes that implement such as are applied to determine + whether to allow potential clients to receive messages sent from that hub using a or a + All applicable hub attributes must allow hub connection for the connection to be authorized. + + Hub and method level attributes that implement such as are applied + to determine whether to allow callers to invoke hub methods. + All applicable hub level AND method level attributes must allow hub method invocation for the invocation to be authorized. + + Optionally, this module may be instantiated with and + authorizers that will be applied globally to all hubs and hub methods. + + + + + Common base class to simplify the implementation of IHubPipelineModules. + A module can intercept and customize various stages of hub processing such as connecting, reconnecting, disconnecting, + invoking server-side hub methods, invoking client-side hub methods, authorizing hub clients and rejoining hub groups. + A module can be activated by calling . + The combined modules added to the are invoked via the + interface. + + + + + An can intercept and customize various stages of hub processing such as connecting, + reconnecting, disconnecting, invoking server-side hub methods, invoking client-side hub methods, authorizing hub + clients and rejoining hub groups. + Modules can be be activated by calling . + The combined modules added to the are invoked via the + interface. + + + + + Wraps a function that invokes a server-side hub method. Even if a client has not been authorized to connect + to a hub, it will still be authorized to invoke server-side methods on that hub unless it is prevented in + by not executing the invoke parameter. + + A function that invokes a server-side hub method. + A wrapped function that invokes a server-side hub method. + + + + Wraps a function that invokes a client-side hub method. + + A function that invokes a client-side hub method. + A wrapped function that invokes a client-side hub method. + + + + Wraps a function that is called when a client connects to the for each + the client connects to. By default, this results in the 's + OnConnected method being invoked. + + A function to be called when a client connects to a hub. + A wrapped function to be called when a client connects to a hub. + + + + Wraps a function that is called when a client reconnects to the for each + the client connects to. By default, this results in the 's + OnReconnected method being invoked. + + A function to be called when a client reconnects to a hub. + A wrapped function to be called when a client reconnects to a hub. + + + + Wraps a function that is called when a client disconnects from the for each + the client was connected to. By default, this results in the 's + OnDisconnected method being invoked. + + A function to be called when a client disconnects from a hub. + A wrapped function to be called when a client disconnects from a hub. + + + + Wraps a function to be called before a client subscribes to signals belonging to the hub described by the + . By default, the will look for attributes on the + to help determine if the client is authorized to subscribe to method invocations for the + described hub. + The function returns true if the client is authorized to subscribe to client-side hub method + invocations; false, otherwise. + + + A function that dictates whether or not the client is authorized to connect to the described Hub. + + + A wrapped function that dictates whether or not the client is authorized to connect to the described Hub. + + + + + Wraps a function that determines which of the groups belonging to the hub described by the + the client should be allowed to rejoin. + By default, clients will rejoin all the groups they were in prior to reconnecting. + + A function that determines which groups the client should be allowed to rejoin. + A wrapped function that determines which groups the client should be allowed to rejoin. + + + + Wraps a function that invokes a server-side hub method. Even if a client has not been authorized to connect + to a hub, it will still be authorized to invoke server-side methods on that hub unless it is prevented in + by not executing the invoke parameter. + + A function that invokes a server-side hub method. + A wrapped function that invokes a server-side hub method. + + + + Wraps a function that is called when a client connects to the for each + the client connects to. By default, this results in the 's + OnConnected method being invoked. + + A function to be called when a client connects to a hub. + A wrapped function to be called when a client connects to a hub. + + + + Wraps a function that is called when a client reconnects to the for each + the client connects to. By default, this results in the 's + OnReconnected method being invoked. + + A function to be called when a client reconnects to a hub. + A wrapped function to be called when a client reconnects to a hub. + + + + Wraps a function that is called when a client disconnects from the for each + the client was connected to. By default, this results in the 's + OnDisconnected method being invoked. + + A function to be called when a client disconnects from a hub. + A wrapped function to be called when a client disconnects from a hub. + + + + Wraps a function to be called before a client subscribes to signals belonging to the hub described by the + . By default, the will look for attributes on the + to help determine if the client is authorized to subscribe to method invocations for the + described hub. + The function returns true if the client is authorized to subscribe to client-side hub method + invocations; false, otherwise. + + + A function that dictates whether or not the client is authorized to connect to the described Hub. + + + A wrapped function that dictates whether or not the client is authorized to connect to the described Hub. + + + + + Wraps a function that determines which of the groups belonging to the hub described by the + the client should be allowed to rejoin. + By default, clients will rejoin all the groups they were in prior to reconnecting. + + A function that determines which groups the client should be allowed to rejoin. + A wrapped function that determines which groups the client should be allowed to rejoin. + + + + Wraps a function that invokes a client-side hub method. + + A function that invokes a client-side hub method. + A wrapped function that invokes a client-side hub method. + + + + This method is called before the AuthorizeConnect components of any modules added later to the + are executed. If this returns false, then those later-added modules will not run and the client will not be allowed + to subscribe to client-side invocations of methods belonging to the hub defined by the . + + A description of the hub the client is trying to subscribe to. + The connect request of the client trying to subscribe to the hub. + true, if the client is authorized to connect to the hub, false otherwise. + + + + This method is called before the connect components of any modules added later to the are + executed. If this returns false, then those later-added modules and the method will + not be run. + + The hub the client has connected to. + + true, if the connect components of later added modules and the method should be executed; + false, otherwise. + + + + + This method is called after the connect components of any modules added later to the are + executed and after is executed, if at all. + + The hub the client has connected to. + + + + This method is called before the reconnect components of any modules added later to the are + executed. If this returns false, then those later-added modules and the method will + not be run. + + The hub the client has reconnected to. + + true, if the reconnect components of later added modules and the method should be executed; + false, otherwise. + + + + + This method is called after the reconnect components of any modules added later to the are + executed and after is executed, if at all. + + The hub the client has reconnected to. + + + + This method is called before the outgoing components of any modules added later to the are + executed. If this returns false, then those later-added modules and the client-side hub method invocation(s) will not + be executed. + + A description of the client-side hub method invocation. + + true, if the outgoing components of later added modules and the client-side hub method invocation(s) should be executed; + false, otherwise. + + + + + This method is called after the outgoing components of any modules added later to the are + executed. This does not mean that all the clients have received the hub method invocation, but it does indicate indicate + a hub invocation message has successfully been published to a message bus. + + A description of the client-side hub method invocation. + + + + This method is called before the disconnect components of any modules added later to the are + executed. If this returns false, then those later-added modules and the method will + not be run. + + The hub the client has disconnected from. + + true, if the disconnect components of later added modules and the method should be executed; + false, otherwise. + + + + + This method is called after the disconnect components of any modules added later to the are + executed and after is executed, if at all. + + The hub the client has disconnected from. + + + + This method is called before the incoming components of any modules added later to the are + executed. If this returns false, then those later-added modules and the server-side hub method invocation will not + be executed. Even if a client has not been authorized to connect to a hub, it will still be authorized to invoke + server-side methods on that hub unless it is prevented in by not + executing the invoke parameter or prevented in by returning false. + + A description of the server-side hub method invocation. + + true, if the incoming components of later added modules and the server-side hub method invocation should be executed; + false, otherwise. + + + + + This method is called after the incoming components of any modules added later to the + and the server-side hub method have completed execution. + + The return value of the server-side hub method + A description of the server-side hub method invocation. + The possibly new or updated return value of the server-side hub method + + + + This is called when an uncaught exception is thrown by a server-side hub method or the incoming component of a + module added later to the . Observing the exception using this method will not prevent + it from bubbling up to other modules. + + + Represents the exception that was thrown during the server-side invocation. + It is possible to change the error or set a result using this context. + + A description of the server-side hub method invocation. + + + + Apply to Hubs and Hub methods to authorize client connections to Hubs and authorize client invocations of Hub methods. + + + + + Interface to be implemented by s that can authorize client to connect to a . + + + + + Given a , determine whether client is authorized to connect to . + + Description of the hub client is attempting to connect to. + The connection request from the client. + true if the caller is authorized to connect to the hub; otherwise, false. + + + + Interface to be implemented by s that can authorize the invocation of methods. + + + + + Given a , determine whether client is authorized to invoke the method. + + An providing details regarding the method invocation. + Indicates whether the interface instance is an attribute applied directly to a method. + true if the caller is authorized to invoke the method; otherwise, false. + + + + Determines whether client is authorized to connect to . + + Description of the hub client is attempting to connect to. + The (re)connect request from the client. + true if the caller is authorized to connect to the hub; otherwise, false. + + + + Determines whether client is authorized to invoke the method. + + An providing details regarding the method invocation. + Indicates whether the interface instance is an attribute applied directly to a method. + true if the caller is authorized to invoke the method; otherwise, false. + + + + When overridden, provides an entry point for custom authorization checks. + Called by and . + + The for the client being authorize + true if the user is authorized, otherwise, false + + + + Set to false to apply authorization only to the invocations of any of the Hub's server-side methods. + This property only affects attributes applied to the Hub class. + This property cannot be read. + + + + + Gets or sets the user roles. + + + + + Gets or sets the authorized users. + + + + + A description of a client-side hub method invocation originating from the server. + + + + + The , if any, corresponding to the client that invoked the server-side hub method + that is invoking the client-side hub method. + + + + + A description of the method call to be made on the client. + + + + + The signal (ConnectionId, hub type name or hub type name + "." + group name) belonging to clients that + receive the method invocation. + + + + + The signals (ConnectionId, hub type name or hub type name + "." + group name) belonging to clients that + receive the method invocation. + + + + + The signals (ConnectionId, hub type name or hub type name + "." + group name) belonging to clients that should + not receive the method invocation regardless of the . + + + + + A description of a client-side hub method invocation. + + + + + The name of the hub that the method being invoked belongs to. + + + + + The name of the client-side hub method be invoked. + + + + + The argument list the client-side hub method will be called with. + + + + + A key-value store representing the hub state on the server that has changed since the last time the hub + state was sent to the client. + + + + + Provides access to information about a . + + + + + Encapsulates all information about a SignalR connection for an . + + + + + Gets the the hub. + + + + + Requiring Authentication adds an to the with + and authorizers that will be applied globally to all hubs and hub methods. + These authorizers require that the 's + IsAuthenticated for any clients that invoke server-side hub methods or receive client-side hub method invocations. + + The to which the will be added. + + + + Implementations of this interface are responsible for executing operation required to complete various stages + hub processing such as connecting, reconnecting, disconnecting, invoking server-side hub methods, invoking + client-side hub methods, authorizing hub clients and rejoining hub groups. + + + + + Invokes a server-side hub method. + + A description of the server-side hub method invocation. + An asynchronous operation giving the return value of the server-side hub method invocation. + + + + Invokes a client-side hub method. + + A description of the client-side hub method invocation. + + + + To be called when a client connects to the for each the client + connects to. By default, this results in the 's OnConnected method being invoked. + + A the client is connected to. + + + + To be called when a client reconnects to the for each the client + connects to. By default, this results in the 's OnReconnected method being invoked. + + A the client is reconnected to. + + + + To be called when a client disconnects from the for each the client + was connected to. By default, this results in the 's OnDisconnected method being invoked. + + A the client was disconnected from. + + + + To be called before a client subscribes to signals belonging to the hub described by the . + By default, the will look for attributes on the to help determine if + the client is authorized to subscribe to method invocations for the described hub. + + A description of the hub the client is attempting to connect to. + + The connect request being made by the client which should include the client's + User. + + true, if the client is authorized to subscribe to client-side hub method invocations; false, otherwise. + + + + This method determines which of the groups belonging to the hub described by the the client should be + allowed to rejoin. + By default, clients that are reconnecting to the server will be removed from all groups they may have previously been a member of, + because untrusted clients may claim to be a member of groups they were never authorized to join. + + A description of the hub for which the client is attempting to rejoin groups. + The reconnect request being made by the client that is attempting to rejoin groups. + + The list of groups belonging to the relevant hub that the client claims to have been a member of before the reconnect. + + A list of groups the client is allowed to rejoin. + + + + A description of a server-side hub method invocation originating from a client. + + + + + A hub instance that contains the invoked method as a member. + + + + + A description of the method being invoked by the client. + + + + + The arguments to be passed to the invoked method. + + + + + A key-value store representing the hub state on the client at the time of the invocation. + + + + + Handles parsing incoming requests through the . + + + + + Parses the incoming hub payload into a . + + The raw hub payload. + The JsonSerializer used to parse the data. + The resulting . + + + + The response returned from an incoming hub request. + + + + + The changes made the the round tripped state. + + + + + The result of the invocation. + + + + + The id of the operation. + + + + + Indicates whether the Error is a see . + + + + + The exception that occurs as a result of invoking the hub method. + + + + + The stack trace of the exception that occurs as a result of invoking the hub method. + + + + + Extra error data contained in the + + + + + A change tracking dictionary. + + + + + A collection of modules that can intercept and customize various stages of hub processing such as connecting, + reconnecting, disconnecting, invoking server-side hub methods, invoking client-side hub methods, authorizing + hub clients and rejoining hub groups. + + + + + Adds an to the hub pipeline. Modules added to the pipeline first will wrap + modules that are added to the pipeline later. All modules must be added to the pipeline before any methods + on the are invoked. + + + A module that may intercept and customize various stages of hub processing such as connecting, + reconnecting, disconnecting, invoking server-side hub methods, invoking client-side hub methods, authorizing + hub clients and rejoining hub groups. + + + The itself with the newly added module allowing + calls to be chained. + This method mutates the pipeline it is invoked on so it is not necessary to store its result. + + + + + Manages groups for a connection and allows sending messages to the group. + + + + + Manages groups for a connection. + + + + + Adds a connection to the specified group. + + The connection id to add to the group. + The name of the group + A task that represents the connection id being added to the group. + + + + Removes a connection from the specified group. + + The connection id to remove from the group. + The name of the group + A task that represents the connection id being removed from the group. + + + + Sends a value to the specified group. + + The name of the group. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Sends a value to the specified groups. + + The names of the groups. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Provides access to performance counters. + + + + + Initializes the performance counters. + + The host instance name. + The CancellationToken representing the host shutdown. + + + + Loads a performance counter. + + The category name. + The counter name. + The instance name. + Whether the counter is read-only. + + + + Gets the performance counter representing the total number of connection Connect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Reconnect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Disconnect events since the application was started. + + + + + Gets the performance counter representing the number of connections currently connected. + + + + + Gets the performance counter representing the total number of messages received by connections (server to client) since the application was started. + + + + + Gets the performance counter representing the total number of messages received by connections (server to client) since the application was started. + + + + + Gets the performance counter representing the number of messages received by connections (server to client) per second. + + + + + Gets the performance counter representing the number of messages sent by connections (client to server) per second. + + + + + Gets the performance counter representing the total number of messages received by subscribers since the application was started. + + + + + Gets the performance counter representing the number of messages received by a subscribers per second. + + + + + Gets the performance counter representing the number of messages received by the scaleout message bus per second. + + + + + Gets the performance counter representing the total number of messages published to the message bus since the application was started. + + + + + Gets the performance counter representing the number of messages published to the message bus per second. + + + + + Gets the performance counter representing the current number of subscribers to the message bus. + + + + + Gets the performance counter representing the total number of subscribers to the message bus since the application was started. + + + + + Gets the performance counter representing the number of new subscribers to the message bus per second. + + + + + Gets the performance counter representing the number of workers allocated to deliver messages in the message bus. + + + + + Gets the performance counter representing the number of workers currently busy delivering messages in the message bus. + + + + + Gets the performance counter representing representing the current number of topics in the message bus. + + + + + Gets the performance counter representing the total number of all errors processed since the application was started. + + + + + Gets the performance counter representing the number of all errors processed per second. + + + + + Gets the performance counter representing the total number of hub resolution errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub resolution errors per second. + + + + + Gets the performance counter representing the total number of hub invocation errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub invocation errors per second. + + + + + Gets the performance counter representing the total number of transport errors processed since the application was started. + + + + + Gets the performance counter representing the number of transport errors per second. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the open state. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the buffering state. + + + + + Gets the performance counter representing the total number of scaleout errors since the application was started. + + + + + Gets the performance counter representing the number of scaleout errors per second. + + + + + Gets the performance counter representing the current scaleout send queue length. + + + + + Manages performance counters using Windows performance counters. + + + + + The performance counter category name for SignalR counters. + + + + + Creates a new instance. + + + + + Initializes the performance counters. + + The host instance name. + The CancellationToken representing the host shutdown. + + + + Gets the performance counter representing the total number of connection Connect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Reconnect events since the application was started. + + + + + Gets the performance counter representing the total number of connection Disconnect events since the application was started. + + + + + Gets the performance counter representing the number of connections currently connected. + + + + + Gets the performance counter representing the toal number of messages received by connections (server to client) since the application was started. + + + + + Gets the performance counter representing the total number of messages sent by connections (client to server) since the application was started. + + + + + Gets the performance counter representing the number of messages received by connections (server to client) per second. + + + + + Gets the performance counter representing the number of messages sent by connections (client to server) per second. + + + + + Gets the performance counter representing the total number of messages received by subscribers since the application was started. + + + + + Gets the performance counter representing the number of messages received by a subscribers per second. + + + + + Gets the performance counter representing the number of messages received by the scaleout message bus per second. + + + + + Gets the performance counter representing the total number of messages published to the message bus since the application was started. + + + + + Gets the performance counter representing the number of messages published to the message bus per second. + + + + + Gets the performance counter representing the current number of subscribers to the message bus. + + + + + Gets the performance counter representing the total number of subscribers to the message bus since the application was started. + + + + + Gets the performance counter representing the number of new subscribers to the message bus per second. + + + + + Gets the performance counter representing the number of workers allocated to deliver messages in the message bus. + + + + + Gets the performance counter representing the number of workers currently busy delivering messages in the message bus. + + + + + Gets the performance counter representing representing the current number of topics in the message bus. + + + + + Gets the performance counter representing the total number of all errors processed since the application was started. + + + + + Gets the performance counter representing the number of all errors processed per second. + + + + + Gets the performance counter representing the total number of hub resolution errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub resolution errors per second. + + + + + Gets the performance counter representing the total number of hub invocation errors processed since the application was started. + + + + + Gets the performance counter representing the number of hub invocation errors per second. + + + + + Gets the performance counter representing the total number of transport errors processed since the application was started. + + + + + Gets the performance counter representing the number of transport errors per second. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the open state. + + + + + Gets the performance counter representing the number of logical streams in the currently configured scaleout message bus provider that are in the buffering state. + + + + + Gets the performance counter representing the total number of scaleout errors since the application was started. + + + + + Gets the performance counter representing the number of scaleout errors per second. + + + + + Gets the performance counter representing the current scaleout send queue length. + + + + + Helper class to manage disposing a resource at an arbirtary time + + + + + Thread safe cancellation token source. Allows the following: + - Cancel will no-op if the token is disposed. + - Dispose may be called after Cancel. + + + + + Represents a JSON value. + + + + + Converts the parameter value to the specified . + + The to convert the parameter to. + The converted parameter value. + + + + Determines if the parameter can be converted to the specified . + + The to check. + True if the parameter can be converted to the specified , false otherwise. + + + + Implementations handle their own serialization to JSON. + + + + + Serializes itself to JSON via a . + + The that receives the JSON serialized object. + + + + An implementation of IJsonValue over JSON.NET + + + + + Sends a message to all connections subscribed to the specified signal. An example of signal may be a + specific connection id. + + The connection + The connectionId to send to. + The value to publish. + A task that represents when the broadcast is complete. + + + + Sends a message to all connections subscribed to the specified signal. An example of signal may be a + specific connection id. + + The connection + The connection ids to send to. + The value to publish. + A task that represents when the broadcast is complete. + + + + Broadcasts a value to all connections, excluding the connection ids specified. + + The connection + The value to broadcast. + The list of connection ids to exclude + A task that represents when the broadcast is complete. + + + + Describes a parameter resolver for resolving parameter-matching values based on provided information. + + + + + Resolves method parameter values based on provided objects. + + Method descriptor. + List of values to resolve parameter values from. + Array of parameter values. + + + + Resolves a parameter value based on the provided object. + + Parameter descriptor. + Value to resolve the parameter value from. + The parameter value. + + + + Resolves method parameter values based on provided objects. + + Method descriptor. + List of values to resolve parameter values from. + Array of parameter values. + + + + Holds information about a single hub method parameter. + + + + + Parameter name. + + + + + Parameter type. + + + + + Describes a hub method provider that builds a collection of available methods on a given hub. + + + + + Retrieve all methods on a given hub. + + Hub descriptor object. + Available methods. + + + + Tries to retrieve a method. + + Hub descriptor object + Name of the method. + Descriptor of the method, if found. Null otherwise. + Method parameters to match. + True, if a method has been found. + + + + Retrieves an existing dictionary of all available methods for a given hub from cache. + If cache entry does not exist - it is created automatically by BuildMethodCacheFor. + + + + + + + Builds a dictionary of all possible methods on a given hub. + Single entry contains a collection of available overloads for a given method name (key). + This dictionary is being cached afterwards. + + Hub to build cache for + Dictionary of available methods + + + + Searches the specified Hub for the specified . + + + In the case that there are multiple overloads of the specified , the parameter set helps determine exactly which instance of the overload should be resolved. + If there are multiple overloads found with the same number of matching parameters, none of the methods will be returned because it is not possible to determine which overload of the method was intended to be resolved. + + Hub to search for the specified on. + The method name to search for. + If successful, the that was resolved. + The set of parameters that will be used to help locate a specific overload of the specified . + True if the method matching the name/parameter set is found on the hub, otherwise false. + + + + Holds information about a single hub. + + + + + Hub type. + + + + + Describes a hub manager - main point in the whole hub and method lookup process. + + + + + Retrieves a single hub descriptor. + + Name of the hub. + Hub descriptor, if found. Null, otherwise. + + + + Retrieves all available hubs matching the given predicate. + + List of hub descriptors. + + + + Resolves a given hub name to a concrete object. + + Name of the hub. + Hub implementation instance, if found. Null otherwise. + + + + Resolves all available hubs to their concrete objects. + + List of hub instances. + + + + Retrieves a method with a given name on a given hub. + + Name of the hub. + Name of the method to find. + Method parameters to match. + Descriptor of the method, if found. Null otherwise. + + + + Gets all methods available to call on a given hub. + + Name of the hub, + Optional predicate for filtering results. + List of available methods. + + + + Generates a server id + + + + + The id of the server. + + + + + Default implementation. + + + + + The id of the server. + + + + + Provides access to information about a . + + + + + Gets the for the . + + + + + Gets the for the . + + + + + Handles commands from server to server. + + + + + Sends a command to all connected servers. + + + + + + + Gets or sets a callback that is invoked when a command is received. + + + + + Extensions for . + + + + + Deserializes the JSON to a .NET object. + + The serializer + The of object being deserialized. + The JSON to deserialize + The deserialized object from the JSON string. + + + + Deserializes the JSON to a .NET object. + + The serializer + The of object being deserialized. + The JSON buffer to deserialize + The encoding to use. + The deserialized object from the JSON string. + + + + Serializes the specified object to a . + + The JSON serializer + The object to serialize + The to serialize the object to. + + + + Serializes the specified object to a JSON string. + + The serializer + The object to serailize. + A JSON string representation of the object. + + + + Minifies a string in a way that can be reversed by this instance of . + + The string to be minified + A minified representation of the without the following characters:,|\ + + + + Reverses a call that was executed at least once previously on this instance of + without any subsequent calls to sharing the + same argument as the call that returned . + + + A minified string that was returned by a previous call to . + + + The argument of all previous calls to that returned . + If every call to on this instance of has never + returned or if the most recent call to that did + return was followed by a call to sharing + the same argument, may return null but must not throw. + + + + + A call to this function indicates that any future attempt to unminify strings that were previously minified + from may be met with a null return value. This provides an opportunity clean up + any internal data structures that reference . + + The string that may have previously have been minified. + + + + This class is the main coordinator. + It schedules work to be done for a particular subscription. + + + + + Represents a message to the scaleout backplane + + + + + The messages from SignalR + + + + + The time the message was created on the origin server + + + + + Common base class for scaleout message bus implementations. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Publishes a new message to the specified event on the bus. + + The message to publish. + + + + + + + + + + + + + + + Creates a topic for the specified key. + + The key to create the topic for. + A for the specified key. + + + + Opens the specified queue for sending messages. + The index of the stream to open. + + + + + Closes the specified queue. + The index of the stream to close. + + + + + Closes the specified queue for sending messages making all sends fail asynchronously. + + The index of the stream to close. + The error that occurred. + + + + Sends messages to the backplane + + The list of messages to send + + + + + Invoked when a payload is received from the backplane. There should only be one active call at any time. + + id of the stream. + id of the payload within that stream. + The scaleout message. + + + + + The number of streams can't change for the lifetime of this instance. + + + + + + + + + + Initializes a new instance of the struct. + + The array of messages associated with this . + The amount of messages populated in the messages array. + + + + Gets an associated with the result. + + + + + Common settings for scale-out message bus implementations. + + + + + Gets or sets a value that represents the queuing behavior for scale-out messages. + Defaults to QueuingBehavior.InitialOnly + + + + + The maximum length of the outgoing send queue. Messages being sent to the backplane are queued + up to this length. After the max length is reached, further sends will throw an InvalidOperationException. + + + + + Responsible for creating instances. + + + + + Creates a new instance of the class. + + The dependency resolver to use for when creating the . + + + + Creates an instance of the specified type using the dependency resolver or the type's default constructor. + + The type of to create. + An instance of a . + + + + Called when a new connection is made to the . + + + + + Called when a connection reconnects to the after a timeout. + + + + + Called when a connection is disconnected from the . + + + + + Gets a . Which contains information about the calling client. + + + + + Gets a dynamic object that represents all clients connected to this hub (not hub instance). + + + + + Gets the the hub instance. + + + + + Helpers for decoding URI query components. + + + + + Standard keys and values for use within the OWIN interfaces + + + + + Maps SignalR hubs to the app builder pipeline at "/signalr". + + The app builder + + + + Maps SignalR hubs to the app builder pipeline at "/signalr". + + The app builder + The to use + + + + Maps SignalR hubs to the app builder pipeline at the specified path. + + The app builder + The path to map signalr hubs + The to use + + + + Adds SignalR hubs to the app builder pipeline. + + The app builder + + + + Adds SignalR hubs to the app builder pipeline. + + The app builder + The to use + + + + Maps the specified SignalR to the app builder pipeline at + the specified path. + + The type of + The app builder + The path to map the + + + + Maps the specified SignalR to the app builder pipeline at + the specified path. + + The type of + The app builder + The path to map the persistent connection + The to use + + + + + Maps the specified SignalR to the app builder pipeline at + the specified path. + + The app builder + The path to map the persistent connection + The type of + The to use + + + + Adds the specified SignalR to the app builder. + + The type of + The app builder + + + + Adds the specified SignalR to the app builder. + + The type of + The app builder + The to use + + + + + Adds the specified SignalR to the app builder. + + The app builder + The type of + The to use + + + + + Describes hub descriptor provider, which provides information about available hubs. + + + + + Retrieve all avaiable hubs. + + Collection of hub descriptors. + + + + Tries to retrieve hub with a given name. + + Name of the hub. + Retrieved descriptor object. + True, if hub has been found + + + + Provides methods that communicate with SignalR connections that connected to a . + + + + + Called when a connection disconnects from this hub instance. + + A + + + + Called when the connection connects to this hub instance. + + A + + + + Called when the connection reconnects to this hub instance. + + A + + + + + + + + + Provides information about the calling client. + + + + + The group manager for this hub instance. + + + + + Gets the connection id of the calling client. + + + + + Gets the cookies for the request. + + + + + Gets the headers for the request. + + + + + Gets the querystring for the request. + + + + + Gets the for the request. + + + + + Gets the for the current HTTP request. + + + + + Handles all communication over the hubs persistent connection. + + + + + Represents a connection between client and server. + + + + + OWIN entry point. + + + + + + + Handles all requests for s. + + The for the current request. + A that completes when the pipeline is complete. + + Thrown if connection wasn't initialized. + Thrown if the transport wasn't specified. + Thrown if the connection id wasn't specified. + + + + + Returns the signals used in the . + + The user id for the current connection. + The id of the incoming connection. + The signals used for this . + + + + Called before every request and gives the user a authorize the user. + + The for the current connection. + A boolean value that represents if the request is authorized. + + + + Called when a connection reconnects after a timeout to determine which groups should be rejoined. + + The for the current connection. + The groups the calling connection claims to be part of. + The id of the reconnecting client. + A collection of group names that should be joined on reconnect + + + + Called when a new connection is made. + + The for the current connection. + The id of the connecting client. + A that completes when the connect operation is complete. + + + + Called when a connection reconnects after a timeout. + + The for the current connection. + The id of the re-connecting client. + A that completes when the re-connect operation is complete. + + + + Called when data is received from a connection. + + The for the current connection. + The id of the connection sending the data. + The payload sent to the connection. + A that completes when the receive operation is complete. + + + + Called when a connection disconnects. + + The for the current connection. + The id of the disconnected connection. + A that completes when the disconnect operation is complete. + + + + Gets the for the . + + + + + Gets the for the . + + + + + Initializes an instance of the class. + + Configuration settings determining whether to enable JS proxies and provide clients with detailed hub errors. + + + + Processes the hub's incoming method calls. + + + + + Helper class for common JSON operations. + + + + + Converts the specified name to camel case. + + The name to convert. + A camel cased version of the specified name. + + + + Creates a default instance. + + The newly created . + + + + Creates a instance with the default setting. + + The newly created . + + + + Gets a string that returns JSON mime type "application/json; charset=UTF-8". + + + + + Gets a string that returns JSONP mime type "application/javascript; charset=UTF-8". + + + + + The default implementation. + + + + + Initializes a new instance of the class. + + The this group resides on. + The prefix for this group. Either a name or type name. + + + + Sends a value to the specified group. + + The name of the group. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Sends a value to the specified group. + + The names of the groups. + The value to send. + The list of connection ids to exclude + A task that represents when send is complete. + + + + Adds a connection to the specified group. + + The connection id to add to the group. + The name of the group + A task that represents the connection id being added to the group. + + + + Removes a connection from the specified group. + + The connection id to remove from the group. + The name of the group + A task that represents the connection id being removed from the group. + + + + A server to server command. + + + + + Gets or sets the id of the command where this message originated from. + + + + + Gets of sets the command type. + + + + + Gets or sets the value for this command. + + + + + Default implementation. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to /// <summary>Calls the {0} method on the server-side {1} hub.&#10;Returns a jQuery.Deferred() promise.</summary>. + + + + + Looks up a localized string similar to /// <param name=\"{0}\" type=\"{1}\">Server side type is {2}</param>. + + + + + Looks up a localized string similar to Ambiguous message. Unable to send to both '{0}' and '{1}'.. + + + + + Looks up a localized string similar to Argument cannot be null or empty. + + + + + Looks up a localized string similar to The buffer size '{0}' is out of range.. + + + + + Looks up a localized string similar to Caller is not authorized to invoke the {0} method on {1}.. + + + + + Looks up a localized string similar to The ConnectionId is in the incorrect format.. + + + + + Looks up a localized string similar to The PersistentConnection is not initialized.. + + + + + Looks up a localized string similar to DisconnectTimeout cannot be configured after the KeepAlive.. + + + + + Looks up a localized string similar to DisconnectTimeout must be at least six seconds.. + + + + + Looks up a localized string similar to Do not read RequireOutgoing. Use protected _requireOutgoing instead.. + + + + + Looks up a localized string similar to Two Hubs must not share the same name. '{0}' and '{1}' both share the name '{2}'.. + + + + + Looks up a localized string similar to Duplicate Hub names found.. + + + + + Looks up a localized string similar to Duplicate payload id detected for stream '{0}'.. + + + + + Looks up a localized string similar to Error creating Hub {0}. . + + + + + Looks up a localized string similar to The ExceptionContext has already been modified once and cannot be modified again.. + + + + + Looks up a localized string similar to '{0}' Hub could not be resolved.. + + + + + Looks up a localized string similar to There was an error invoking Hub method '{0}.{1}'.. + + + + + Looks up a localized string similar to Invalid cursor.. + + + + + Looks up a localized string similar to The supplied frameId is in the incorrect format.. + + + + + Looks up a localized string similar to '{0}' is not a {1}.. + + + + + Looks up a localized string similar to SignalR: JavaScript Hub proxy generation has been disabled.. + + + + + Looks up a localized string similar to KeepAlive value must be greater than two seconds.. + + + + + Looks up a localized string similar to KeepAlive value must be no more than a third of the DisconnectTimeout.. + + + + + Looks up a localized string similar to '{0}' method could not be resolved.. + + + + + Looks up a localized string similar to Outgoing authorization can only be required for an entire Hub, not a specific method.. + + + + + Looks up a localized string similar to Multiple activators for type {0} are registered. Please call GetServices instead.. + + + + + Looks up a localized string similar to A configuration object must be specified.. + + + + + Looks up a localized string similar to A dependency resolver must be specified.. + + + + + Looks up a localized string similar to Not a valid web socket request.. + + + + + Looks up a localized string similar to Unexpected end when reading object.. + + + + + Looks up a localized string similar to Protocol error: Missing connection token.. + + + + + Looks up a localized string similar to Protocol error: Unknown transport.. + + + + + Looks up a localized string similar to Scaleout queuing is enabled but maximum queue size is 0. + + + + + Looks up a localized string similar to State has exceeded the maximum length of 4096 bytes.. + + + + + Looks up a localized string similar to The stream has been closed.. + + + + + Looks up a localized string similar to The stream is not open.. + + + + + Looks up a localized string similar to The queue is full.. + + + + + Looks up a localized string similar to Unable to add module. The HubPipeline has already been invoked.. + + + + + Looks up a localized string similar to Unrecognized user identity. The user identity cannot change during an active SignalR connection.. + + + + + Looks up a localized string similar to Using a Hub instance not created by the HubPipeline is unsupported.. + + + + + Looks up a localized string similar to WebSockets is not supported.. + + + + + Looks up a localized string similar to Forbidden: JSONP is disabled.. + + + + + Looks up a localized string similar to None of the classes from assembly "{0}" could be loaded when searching for Hubs. [{1}] + + Original exception type: {2} + Original exception message: {3} + + . + + + + + Represents a connection that can be tracked by an . + + + + + Applies a new state to the connection. + + + + + Causes the connection to disconnect. + + + + + Causes the connection to timeout. + + + + + Sends a keep alive ping over the connection. + + + + + Kills the connection. + + + + + Gets the id of the connection. + + + + + Gets a cancellation token that represents the connection's lifetime. + + + + + Gets the task that completes when the task returned by PersistentConnection.OnConnected does. + + + + + Gets a value that represents if the connection is alive. + + + + + Gets a value that represents if the connection is timed out. + + + + + Gets a value that represents if the connection supprots keep alive. + + + + + Gets a value indicating the amount of time to wait after the connection dies before firing the disconnecting the connection. + + + + + Gets the uri of the connection. + + + + + Represents a transport that communicates + + + + + Processes the specified for this transport. + + The to process. + A that completes when the transport has finished processing the connection. + + + + Sends data over the transport. + + The value to be sent. + A that completes when the send is complete. + + + + Gets or sets a callback that is invoked when the transport receives data. + + + + + Gets or sets a callback that is invoked when the initial connection connects to the transport. + + + + + Gets or sets a callback that is invoked when the transport connects. + + + + + Gets or sets a callback that is invoked when the transport reconnects. + + + + + Gets or sets a callback that is invoked when the transport disconnects. + + + + + Gets or sets the connection id for the transport. + + + + + Pointed to the HTMLOutputWriter to wrap output stream with an HTML friendly one + + + + + Manages tracking the state of connections. + + + + + Adds a new connection to the list of tracked connections. + + The connection to be added. + The connection it replaced, if any. + + + + Marks an existing connection as active. + + The connection to mark. + + + + Removes a connection from the list of tracked connections. + + The connection to remove. + + + + Gets a list of connections being tracked. + + A list of connections. + + + + Manages the transports for connections. + + + + + Gets the specified transport for the specified . + + The for the current request. + The for the specified . + + + + Determines whether the specified transport is supported. + + The name of the transport to test. + True if the transport is supported, otherwise False. + + + + Default implementation of . + + + + + Initializes and instance of the class. + + The . + + + + Adds a new connection to the list of tracked connections. + + The connection to be added. + + + + Removes a connection from the list of tracked connections. + + The connection to remove. + + + + Marks an existing connection as active. + + The connection to mark. + + + + Represents a response to a connection. + + + + + Creates a new instance of . + + A filter that determines whether messages should be written to the client. + The cursor writer. + + + + Serializes only the necessary components of the to JSON + using Json.NET's JsonTextWriter to improve performance. + + The that receives the JSON serialization. + + + + The list of messages to be sent to the receiving connection. + + + + + The total count of the messages sent the receiving connection. + + + + + True if the connection is in process of initializing + + + + + True if the connection receives a disconnect command. + + + + + True if the connection was forcibly closed. + + + + + True if the client should try reconnecting. + + + + + Signed token representing the list of groups. Updates on change. + + + + + The time the long polling client should wait before reestablishing a connection if no data is received. + + + + + A communication channel for a and its connections. + + + + + Sends a message to connections subscribed to the signal. + + The message to send. + A task that returns when the message has be sent. + + + + The main signal for this connection. This is the main signalr for a . + + + + + Which connection the message originated from + + + + + The signal for the message (connection id, group, etc) + + + + + The message payload + + + + + The command id if this message is a command + + + + + Determines if the caller should wait for acknowledgement for this message + + + + + Determines if this message is itself an ACK + + + + + A list of connection ids to filter out + + + + + The encoding of the message + + + + + The payload id. Only used in scaleout scenarios + + + + + The stream index this message came from. Only used the scaleout scenarios. + + + + + The default implementation. + + + + + Initializes a new instance of class. + + The default . + + + + Adds a new transport to the list of supported transports. + + The specified transport. + The factory method for the specified transport. + + + + Removes a transport from the list of supported transports. + + The specified transport. + + + + Gets the specified transport for the specified . + + The for the current request. + The for the specified . + + + + Determines whether the specified transport is supported. + + The name of the transport to test. + True if the transport is supported, otherwise False. + + + diff --git a/packages/Microsoft.AspNet.SignalR.JS.2.0.3/Microsoft.AspNet.SignalR.JS.2.0.3.nupkg b/packages/Microsoft.AspNet.SignalR.JS.2.0.3/Microsoft.AspNet.SignalR.JS.2.0.3.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..cfaa27b7028f2db1aa722588ad9f26e0edb59d48 GIT binary patch literal 35538 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 z�x7gqg3fzcyeg8hI1^| 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 To0Scuj136C17q!I2Z#p%_1&^7 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.js b/packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.js new file mode 100644 index 00000000..6bbfc149 --- /dev/null +++ b/packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.js @@ -0,0 +1,2693 @@ +/* jquery.signalR.core.js */ +/*global window:false */ +/*! + * ASP.NET SignalR JavaScript Library v2.0.3 + * http://signalr.net/ + * + * Copyright (C) Microsoft Corporation. All rights reserved. + * + */ + +/// +/// +(function ($, window, undefined) { + "use strict"; + + var resources = { + nojQuery: "jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.", + noTransportOnInit: "No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.", + errorOnNegotiate: "Error during negotiation request.", + stoppedWhileLoading: "The connection was stopped during page load.", + stoppedWhileNegotiating: "The connection was stopped during the negotiate request.", + errorParsingNegotiateResponse: "Error parsing negotiate response.", + protocolIncompatible: "You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.", + sendFailed: "Send failed.", + parseFailed: "Failed at parsing response: {0}", + longPollFailed: "Long polling request failed.", + eventSourceFailedToConnect: "EventSource failed to connect.", + eventSourceError: "Error raised by EventSource", + webSocketClosed: "WebSocket closed.", + pingServerFailedInvalidResponse: "Invalid ping response when pinging server: '{0}'.", + pingServerFailed: "Failed to ping server.", + pingServerFailedStatusCode: "Failed to ping server. Server responded with status code {0}, stopping the connection.", + pingServerFailedParse: "Failed to parse ping server response, stopping the connection.", + noConnectionTransport: "Connection is in an invalid state, there is no transport active.", + webSocketsInvalidState: "The Web Socket transport is in an invalid state, transitioning into reconnecting." + }; + + if (typeof ($) !== "function") { + // no jQuery! + throw new Error(resources.nojQuery); + } + + var signalR, + _connection, + _pageLoaded = (window.document.readyState === "complete"), + _pageWindow = $(window), + _negotiateAbortText = "__Negotiate Aborted__", + events = { + onStart: "onStart", + onStarting: "onStarting", + onReceived: "onReceived", + onError: "onError", + onConnectionSlow: "onConnectionSlow", + onReconnecting: "onReconnecting", + onReconnect: "onReconnect", + onStateChanged: "onStateChanged", + onDisconnect: "onDisconnect" + }, + ajaxDefaults = { + processData: true, + timeout: null, + async: true, + global: false, + cache: false + }, + log = function (msg, logging) { + if (logging === false) { + return; + } + var m; + if (typeof (window.console) === "undefined") { + return; + } + m = "[" + new Date().toTimeString() + "] SignalR: " + msg; + if (window.console.debug) { + window.console.debug(m); + } else if (window.console.log) { + window.console.log(m); + } + }, + + changeState = function (connection, expectedState, newState) { + if (expectedState === connection.state) { + connection.state = newState; + + $(connection).triggerHandler(events.onStateChanged, [{ oldState: expectedState, newState: newState }]); + return true; + } + + return false; + }, + + isDisconnecting = function (connection) { + return connection.state === signalR.connectionState.disconnected; + }, + + configureStopReconnectingTimeout = function (connection) { + var stopReconnectingTimeout, + onReconnectTimeout; + + // Check if this connection has already been configured to stop reconnecting after a specified timeout. + // Without this check if a connection is stopped then started events will be bound multiple times. + if (!connection._.configuredStopReconnectingTimeout) { + onReconnectTimeout = function (connection) { + connection.log("Couldn't reconnect within the configured timeout (" + connection.disconnectTimeout + "ms), disconnecting."); + connection.stop(/* async */ false, /* notifyServer */ false); + }; + + connection.reconnecting(function () { + var connection = this; + + // Guard against state changing in a previous user defined even handler + if (connection.state === signalR.connectionState.reconnecting) { + stopReconnectingTimeout = window.setTimeout(function () { onReconnectTimeout(connection); }, connection.disconnectTimeout); + } + }); + + connection.stateChanged(function (data) { + if (data.oldState === signalR.connectionState.reconnecting) { + // Clear the pending reconnect timeout check + window.clearTimeout(stopReconnectingTimeout); + } + }); + + connection._.configuredStopReconnectingTimeout = true; + } + }; + + signalR = function (url, qs, logging) { + /// Creates a new SignalR connection for the given url + /// The URL of the long polling endpoint + /// + /// [Optional] Custom querystring parameters to add to the connection URL. + /// If an object, every non-function member will be added to the querystring. + /// If a string, it's added to the QS as specified. + /// + /// + /// [Optional] A flag indicating whether connection logging is enabled to the browser + /// console/log. Defaults to false. + /// + + return new signalR.fn.init(url, qs, logging); + }; + + signalR._ = { + defaultContentType: "application/x-www-form-urlencoded; charset=UTF-8", + + ieVersion: (function () { + var version, + matches; + + if (window.navigator.appName === 'Microsoft Internet Explorer') { + // Check if the user agent has the pattern "MSIE (one or more numbers).(one or more numbers)"; + matches = /MSIE ([0-9]+\.[0-9]+)/.exec(window.navigator.userAgent); + + if (matches) { + version = window.parseFloat(matches[1]); + } + } + + // undefined value means not IE + return version; + })(), + + error: function (message, source, context) { + var e = new Error(message); + e.source = source; + + if (typeof context !== "undefined") { + e.context = context; + } + + return e; + }, + + transportError: function (message, transport, source, context) { + var e = this.error(message, source, context); + e.transport = transport ? transport.name : undefined; + return e; + }, + + format: function () { + /// Usage: format("Hi {0}, you are {1}!", "Foo", 100) + var s = arguments[0]; + for (var i = 0; i < arguments.length - 1; i++) { + s = s.replace("{" + i + "}", arguments[i + 1]); + } + return s; + }, + + firefoxMajorVersion: function (userAgent) { + // Firefox user agents: http://useragentstring.com/pages/Firefox/ + var matches = userAgent.match(/Firefox\/(\d+)/); + if (!matches || !matches.length || matches.length < 2) { + return 0; + } + return parseInt(matches[1], 10 /* radix */); + }, + + configurePingInterval: function (connection) { + var config = connection._.config, + onFail = function (error) { + $(connection).triggerHandler(events.onError, [error]); + }; + + if (config && !connection._.pingIntervalId && config.pingInterval) { + connection._.pingIntervalId = window.setInterval(function () { + signalR.transports._logic.pingServer(connection).fail(onFail); + }, config.pingInterval); + } + } + }; + + signalR.events = events; + + signalR.resources = resources; + + signalR.ajaxDefaults = ajaxDefaults; + + signalR.changeState = changeState; + + signalR.isDisconnecting = isDisconnecting; + + signalR.connectionState = { + connecting: 0, + connected: 1, + reconnecting: 2, + disconnected: 4 + }; + + signalR.hub = { + start: function () { + // This will get replaced with the real hub connection start method when hubs is referenced correctly + throw new Error("SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. ."); + } + }; + + _pageWindow.load(function () { _pageLoaded = true; }); + + function validateTransport(requestedTransport, connection) { + /// Validates the requested transport by cross checking it with the pre-defined signalR.transports + /// The designated transports that the user has specified. + /// The connection that will be using the requested transports. Used for logging purposes. + /// + + if ($.isArray(requestedTransport)) { + // Go through transport array and remove an "invalid" tranports + for (var i = requestedTransport.length - 1; i >= 0; i--) { + var transport = requestedTransport[i]; + if ($.type(transport) !== "string" || !signalR.transports[transport]) { + connection.log("Invalid transport: " + transport + ", removing it from the transports list."); + requestedTransport.splice(i, 1); + } + } + + // Verify we still have transports left, if we dont then we have invalid transports + if (requestedTransport.length === 0) { + connection.log("No transports remain within the specified transport array."); + requestedTransport = null; + } + } else if (!signalR.transports[requestedTransport] && requestedTransport !== "auto") { + connection.log("Invalid transport: " + requestedTransport.toString() + "."); + requestedTransport = null; + } else if (requestedTransport === "auto" && signalR._.ieVersion <= 8) { + // If we're doing an auto transport and we're IE8 then force longPolling, #1764 + return ["longPolling"]; + + } + + return requestedTransport; + } + + function getDefaultPort(protocol) { + if (protocol === "http:") { + return 80; + } else if (protocol === "https:") { + return 443; + } + } + + function addDefaultPort(protocol, url) { + // Remove ports from url. We have to check if there's a / or end of line + // following the port in order to avoid removing ports such as 8080. + if (url.match(/:\d+$/)) { + return url; + } else { + return url + ":" + getDefaultPort(protocol); + } + } + + function ConnectingMessageBuffer(connection, drainCallback) { + var that = this, + buffer = []; + + that.tryBuffer = function (message) { + if (connection.state === $.signalR.connectionState.connecting) { + buffer.push(message); + + return true; + } + + return false; + }; + + that.drain = function () { + // Ensure that the connection is connected when we drain (do not want to drain while a connection is not active) + if (connection.state === $.signalR.connectionState.connected) { + while (buffer.length > 0) { + drainCallback(buffer.shift()); + } + } + }; + + that.clear = function () { + buffer = []; + }; + } + + signalR.fn = signalR.prototype = { + init: function (url, qs, logging) { + var $connection = $(this); + + this.url = url; + this.qs = qs; + this._ = { + keepAliveData: {}, + connectingMessageBuffer: new ConnectingMessageBuffer(this, function (message) { + $connection.triggerHandler(events.onReceived, [message]); + }), + onFailedTimeoutHandle: null, + lastMessageAt: new Date().getTime(), + lastActiveAt: new Date().getTime(), + beatInterval: 5000, // Default value, will only be overridden if keep alive is enabled, + beatHandle: null, + totalTransportConnectTimeout: 0 // This will be the sum of the TransportConnectTimeout sent in response to negotiate and connection.transportConnectTimeout + }; + if (typeof (logging) === "boolean") { + this.logging = logging; + } + }, + + _parseResponse: function (response) { + var that = this; + + if (!response) { + return response; + } else if (typeof response === "string") { + return that.json.parse(response); + } else { + return response; + } + }, + + json: window.JSON, + + isCrossDomain: function (url, against) { + /// Checks if url is cross domain + /// The base URL + /// + /// An optional argument to compare the URL against, if not specified it will be set to window.location. + /// If specified it must contain a protocol and a host property. + /// + var link; + + url = $.trim(url); + + against = against || window.location; + + if (url.indexOf("http") !== 0) { + return false; + } + + // Create an anchor tag. + link = window.document.createElement("a"); + link.href = url; + + // When checking for cross domain we have to special case port 80 because the window.location will remove the + return link.protocol + addDefaultPort(link.protocol, link.host) !== against.protocol + addDefaultPort(against.protocol, against.host); + }, + + ajaxDataType: "text", + + contentType: "application/json; charset=UTF-8", + + logging: false, + + state: signalR.connectionState.disconnected, + + clientProtocol: "1.3", + + reconnectDelay: 2000, + + transportConnectTimeout: 0, + + disconnectTimeout: 30000, // This should be set by the server in response to the negotiate request (30s default) + + reconnectWindow: 30000, // This should be set by the server in response to the negotiate request + + keepAliveWarnAt: 2 / 3, // Warn user of slow connection if we breach the X% mark of the keep alive timeout + + start: function (options, callback) { + /// Starts the connection + /// Options map + /// A callback function to execute when the connection has started + var connection = this, + config = { + pingInterval: 300000, + waitForPageLoad: true, + transport: "auto", + jsonp: false + }, + initialize, + deferred = connection._deferral || $.Deferred(), // Check to see if there is a pre-existing deferral that's being built on, if so we want to keep using it + parser = window.document.createElement("a"); + + // Persist the deferral so that if start is called multiple times the same deferral is used. + connection._deferral = deferred; + + if (!connection.json) { + // no JSON! + throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8."); + } + + if ($.type(options) === "function") { + // Support calling with single callback parameter + callback = options; + } else if ($.type(options) === "object") { + $.extend(config, options); + if ($.type(config.callback) === "function") { + callback = config.callback; + } + } + + config.transport = validateTransport(config.transport, connection); + + // If the transport is invalid throw an error and abort start + if (!config.transport) { + throw new Error("SignalR: Invalid transport(s) specified, aborting start."); + } + + connection._.config = config; + + // Check to see if start is being called prior to page load + // If waitForPageLoad is true we then want to re-direct function call to the window load event + if (!_pageLoaded && config.waitForPageLoad === true) { + connection._.deferredStartHandler = function () { + connection.start(options, callback); + }; + _pageWindow.bind("load", connection._.deferredStartHandler); + + return deferred.promise(); + } + + // If we're already connecting just return the same deferral as the original connection start + if (connection.state === signalR.connectionState.connecting) { + return deferred.promise(); + } else if (changeState(connection, + signalR.connectionState.disconnected, + signalR.connectionState.connecting) === false) { + // We're not connecting so try and transition into connecting. + // If we fail to transition then we're either in connected or reconnecting. + + deferred.resolve(connection); + return deferred.promise(); + } + + configureStopReconnectingTimeout(connection); + + // Resolve the full url + parser.href = connection.url; + if (!parser.protocol || parser.protocol === ":") { + connection.protocol = window.document.location.protocol; + connection.host = window.document.location.host; + connection.baseUrl = connection.protocol + "//" + connection.host; + } else { + connection.protocol = parser.protocol; + connection.host = parser.host; + connection.baseUrl = parser.protocol + "//" + parser.host; + } + + // Set the websocket protocol + connection.wsProtocol = connection.protocol === "https:" ? "wss://" : "ws://"; + + // If jsonp with no/auto transport is specified, then set the transport to long polling + // since that is the only transport for which jsonp really makes sense. + // Some developers might actually choose to specify jsonp for same origin requests + // as demonstrated by Issue #623. + if (config.transport === "auto" && config.jsonp === true) { + config.transport = "longPolling"; + } + + // If the url is protocol relative, prepend the current windows protocol to the url. + if (connection.url.indexOf("//") === 0) { + connection.url = window.location.protocol + connection.url; + connection.log("Protocol relative URL detected, normalizing it to '" + connection.url + "'."); + } + + if (this.isCrossDomain(connection.url)) { + connection.log("Auto detected cross domain url."); + + if (config.transport === "auto") { + // TODO: Support XDM with foreverFrame + config.transport = ["webSockets", "serverSentEvents", "longPolling"]; + } + + if (typeof (config.withCredentials) === "undefined") { + config.withCredentials = true; + } + + // Determine if jsonp is the only choice for negotiation, ajaxSend and ajaxAbort. + // i.e. if the browser doesn't supports CORS + // If it is, ignore any preference to the contrary, and switch to jsonp. + if (!config.jsonp) { + config.jsonp = !$.support.cors; + + if (config.jsonp) { + connection.log("Using jsonp because this browser doesn't support CORS."); + } + } + + connection.contentType = signalR._.defaultContentType; + } + + connection.withCredentials = config.withCredentials; + + connection.ajaxDataType = config.jsonp ? "jsonp" : "text"; + + $(connection).bind(events.onStart, function (e, data) { + if ($.type(callback) === "function") { + callback.call(connection); + } + deferred.resolve(connection); + }); + + initialize = function (transports, index) { + var noTransportError = signalR._.error(resources.noTransportOnInit); + + index = index || 0; + if (index >= transports.length) { + // No transport initialized successfully + $(connection).triggerHandler(events.onError, [noTransportError]); + deferred.reject(noTransportError); + // Stop the connection if it has connected and move it into the disconnected state + connection.stop(); + return; + } + + // The connection was aborted + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + var transportName = transports[index], + transport = signalR.transports[transportName], + initializationComplete = false, + onFailed = function () { + // Check if we've already triggered onFailed, onStart + if (!initializationComplete) { + initializationComplete = true; + window.clearTimeout(connection._.onFailedTimeoutHandle); + transport.stop(connection); + initialize(transports, index + 1); + } + }; + + connection.transport = transport; + + try { + connection._.onFailedTimeoutHandle = window.setTimeout(function () { + connection.log(transport.name + " timed out when trying to connect."); + onFailed(); + }, connection._.totalTransportConnectTimeout); + + transport.start(connection, function () { // success + // Firefox 11+ doesn't allow sync XHR withCredentials: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest#withCredentials + var isFirefox11OrGreater = signalR._.firefoxMajorVersion(window.navigator.userAgent) >= 11, + asyncAbort = !!connection.withCredentials && isFirefox11OrGreater; + + // The connection was aborted while initializing transports + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + if (!initializationComplete) { + initializationComplete = true; + + window.clearTimeout(connection._.onFailedTimeoutHandle); + + if (transport.supportsKeepAlive && connection._.keepAliveData.activated) { + signalR.transports._logic.monitorKeepAlive(connection); + } + + signalR.transports._logic.startHeartbeat(connection); + + // Used to ensure low activity clients maintain their authentication. + // Must be configured once a transport has been decided to perform valid ping requests. + signalR._.configurePingInterval(connection); + + changeState(connection, + signalR.connectionState.connecting, + signalR.connectionState.connected); + + // Drain any incoming buffered messages (messages that came in prior to connect) + connection._.connectingMessageBuffer.drain(); + + $(connection).triggerHandler(events.onStart); + + // wire the stop handler for when the user leaves the page + _pageWindow.bind("unload", function () { + connection.log("Window unloading, stopping the connection."); + + connection.stop(asyncAbort); + }); + + if (isFirefox11OrGreater) { + // Firefox does not fire cross-domain XHRs in the normal unload handler on tab close. + // #2400 + _pageWindow.bind("beforeunload", function () { + // If connection.stop() runs runs in beforeunload and fails, it will also fail + // in unload unless connection.stop() runs after a timeout. + window.setTimeout(function () { + connection.stop(asyncAbort); + }, 0); + }); + } + } + }, onFailed); + } + catch (error) { + connection.log(transport.name + " transport threw '" + error.message + "' when attempting to start."); + onFailed(); + } + }; + + var url = connection.url + "/negotiate", + onFailed = function (error, connection) { + var err = signalR._.error(resources.errorOnNegotiate, error, connection._.negotiateRequest); + + $(connection).triggerHandler(events.onError, err); + deferred.reject(err); + // Stop the connection if negotiate failed + connection.stop(); + }; + + $(connection).triggerHandler(events.onStarting); + + url = signalR.transports._logic.prepareQueryString(connection, url); + + // Add the client version to the negotiate request. We utilize the same addQs method here + // so that it can append the clientVersion appropriately to the URL + url = signalR.transports._logic.addQs(url, { + clientProtocol: connection.clientProtocol + }); + + connection.log("Negotiating with '" + url + "'."); + + // Save the ajax negotiate request object so we can abort it if stop is called while the request is in flight. + connection._.negotiateRequest = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: "GET", + contentType: connection.contentType, + data: {}, + dataType: connection.ajaxDataType, + error: function (error, statusText) { + // We don't want to cause any errors if we're aborting our own negotiate request. + if (statusText !== _negotiateAbortText) { + onFailed(error, connection); + } else { + // This rejection will noop if the deferred has already been resolved or rejected. + deferred.reject(signalR._.error(resources.stoppedWhileNegotiating, null /* error */, connection._.negotiateRequest)); + } + }, + success: function (result) { + var res, + keepAliveData, + protocolError, + transports = [], + supportedTransports = []; + + try { + res = connection._parseResponse(result); + } catch (error) { + onFailed(signalR._.error(resources.errorParsingNegotiateResponse, error), connection); + return; + } + + keepAliveData = connection._.keepAliveData; + connection.appRelativeUrl = res.Url; + connection.id = res.ConnectionId; + connection.token = res.ConnectionToken; + connection.webSocketServerUrl = res.WebSocketServerUrl; + + // Once the server has labeled the PersistentConnection as Disconnected, we should stop attempting to reconnect + // after res.DisconnectTimeout seconds. + connection.disconnectTimeout = res.DisconnectTimeout * 1000; // in ms + + // Add the TransportConnectTimeout from the response to the transportConnectTimeout from the client to calculate the total timeout + connection._.totalTransportConnectTimeout = connection.transportConnectTimeout + res.TransportConnectTimeout * 1000; + + // If we have a keep alive + if (res.KeepAliveTimeout) { + // Register the keep alive data as activated + keepAliveData.activated = true; + + // Timeout to designate when to force the connection into reconnecting converted to milliseconds + keepAliveData.timeout = res.KeepAliveTimeout * 1000; + + // Timeout to designate when to warn the developer that the connection may be dead or is not responding. + keepAliveData.timeoutWarning = keepAliveData.timeout * connection.keepAliveWarnAt; + + // Instantiate the frequency in which we check the keep alive. It must be short in order to not miss/pick up any changes + connection._.beatInterval = (keepAliveData.timeout - keepAliveData.timeoutWarning) / 3; + } else { + keepAliveData.activated = false; + } + + connection.reconnectWindow = connection.disconnectTimeout + (keepAliveData.timeout || 0); + + if (!res.ProtocolVersion || res.ProtocolVersion !== connection.clientProtocol) { + protocolError = signalR._.error(signalR._.format(resources.protocolIncompatible, connection.clientProtocol, res.ProtocolVersion)); + $(connection).triggerHandler(events.onError, [protocolError]); + deferred.reject(protocolError); + + return; + } + + $.each(signalR.transports, function (key) { + if ((key.indexOf("_") === 0) || (key === "webSockets" && !res.TryWebSockets)) { + return true; + } + supportedTransports.push(key); + }); + + if ($.isArray(config.transport)) { + $.each(config.transport, function (_, transport) { + if ($.inArray(transport, supportedTransports) >= 0) { + transports.push(transport); + } + }); + } else if (config.transport === "auto") { + transports = supportedTransports; + } else if ($.inArray(config.transport, supportedTransports) >= 0) { + transports.push(config.transport); + } + + initialize(transports); + } + } + )); + + return deferred.promise(); + }, + + starting: function (callback) { + /// Adds a callback that will be invoked before anything is sent over the connection + /// A callback function to execute before the connection is fully instantiated. + /// + var connection = this; + $(connection).bind(events.onStarting, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + send: function (data) { + /// Sends data over the connection + /// The data to send over the connection + /// + var connection = this; + + if (connection.state === signalR.connectionState.disconnected) { + // Connection hasn't been started yet + throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()"); + } + + if (connection.state === signalR.connectionState.connecting) { + // Connection hasn't been started yet + throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started."); + } + + connection.transport.send(connection, data); + // REVIEW: Should we return deferred here? + return connection; + }, + + received: function (callback) { + /// Adds a callback that will be invoked after anything is received over the connection + /// A callback function to execute when any data is received on the connection + /// + var connection = this; + $(connection).bind(events.onReceived, function (e, data) { + callback.call(connection, data); + }); + return connection; + }, + + stateChanged: function (callback) { + /// Adds a callback that will be invoked when the connection state changes + /// A callback function to execute when the connection state changes + /// + var connection = this; + $(connection).bind(events.onStateChanged, function (e, data) { + callback.call(connection, data); + }); + return connection; + }, + + error: function (callback) { + /// Adds a callback that will be invoked after an error occurs with the connection + /// A callback function to execute when an error occurs on the connection + /// + var connection = this; + $(connection).bind(events.onError, function (e, errorData, sendData) { + // In practice 'errorData' is the SignalR built error object. + // In practice 'sendData' is undefined for all error events except those triggered by + // 'ajaxSend' and 'webSockets.send'.'sendData' is the original send payload. + callback.call(connection, errorData, sendData); + }); + return connection; + }, + + disconnected: function (callback) { + /// Adds a callback that will be invoked when the client disconnects + /// A callback function to execute when the connection is broken + /// + var connection = this; + $(connection).bind(events.onDisconnect, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + connectionSlow: function (callback) { + /// Adds a callback that will be invoked when the client detects a slow connection + /// A callback function to execute when the connection is slow + /// + var connection = this; + $(connection).bind(events.onConnectionSlow, function (e, data) { + callback.call(connection); + }); + + return connection; + }, + + reconnecting: function (callback) { + /// Adds a callback that will be invoked when the underlying transport begins reconnecting + /// A callback function to execute when the connection enters a reconnecting state + /// + var connection = this; + $(connection).bind(events.onReconnecting, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + reconnected: function (callback) { + /// Adds a callback that will be invoked when the underlying transport reconnects + /// A callback function to execute when the connection is restored + /// + var connection = this; + $(connection).bind(events.onReconnect, function (e, data) { + callback.call(connection); + }); + return connection; + }, + + stop: function (async, notifyServer) { + /// Stops listening + /// Whether or not to asynchronously abort the connection + /// Whether we want to notify the server that we are aborting the connection + /// + var connection = this, + // Save deferral because this is always cleaned up + deferral = connection._deferral; + + // Verify that we've bound a load event. + if (connection._.deferredStartHandler) { + // Unbind the event. + _pageWindow.unbind("load", connection._.deferredStartHandler); + } + + // Always clean up private non-timeout based state. + delete connection._deferral; + delete connection._.config; + delete connection._.deferredStartHandler; + + // This needs to be checked despite the connection state because a connection start can be deferred until page load. + // If we've deferred the start due to a page load we need to unbind the "onLoad" -> start event. + if (!_pageLoaded && (!connection._.config || connection._.config.waitForPageLoad === true)) { + connection.log("Stopping connection prior to negotiate."); + + // If we have a deferral we should reject it + if (deferral) { + deferral.reject(signalR._.error(resources.stoppedWhileLoading)); + } + + // Short-circuit because the start has not been fully started. + return; + } + + if (connection.state === signalR.connectionState.disconnected) { + return; + } + + connection.log("Stopping connection."); + + changeState(connection, connection.state, signalR.connectionState.disconnected); + + // Clear this no matter what + window.clearTimeout(connection._.beatHandle); + window.clearTimeout(connection._.onFailedTimeoutHandle); + window.clearInterval(connection._.pingIntervalId); + + if (connection.transport) { + connection.transport.stop(connection); + + if (notifyServer !== false) { + connection.transport.abort(connection, async); + } + + if (connection.transport.supportsKeepAlive && connection._.keepAliveData.activated) { + signalR.transports._logic.stopMonitoringKeepAlive(connection); + } + + connection.transport = null; + } + + if (connection._.negotiateRequest) { + // If the negotiation request has already completed this will noop. + connection._.negotiateRequest.abort(_negotiateAbortText); + delete connection._.negotiateRequest; + } + + // Trigger the disconnect event + $(connection).triggerHandler(events.onDisconnect); + + delete connection.messageId; + delete connection.groupsToken; + delete connection.id; + delete connection._.pingIntervalId; + delete connection._.lastMessageAt; + delete connection._.lastActiveAt; + + // Clear out our message buffer + connection._.connectingMessageBuffer.clear(); + + return connection; + }, + + log: function (msg) { + log(msg, this.logging); + } + }; + + signalR.fn.init.prototype = signalR.fn; + + signalR.noConflict = function () { + /// Reinstates the original value of $.connection and returns the signalR object for manual assignment + /// + if ($.connection === signalR) { + $.connection = _connection; + } + return signalR; + }; + + if ($.connection) { + _connection = $.connection; + } + + $.connection = $.signalR = signalR; + +}(window.jQuery, window)); +/* jquery.signalR.transports.common.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic; + + signalR.transports = {}; + + function beat(connection) { + if (connection._.keepAliveData.monitoring) { + checkIfAlive(connection); + } + + // Ensure that we successfully marked active before continuing the heartbeat. + if (transportLogic.markActive(connection)) { + connection._.beatHandle = window.setTimeout(function () { + beat(connection); + }, connection._.beatInterval); + } + } + + function checkIfAlive(connection) { + var keepAliveData = connection._.keepAliveData, + timeElapsed; + + // Only check if we're connected + if (connection.state === signalR.connectionState.connected) { + timeElapsed = new Date().getTime() - connection._.lastMessageAt; + + // Check if the keep alive has completely timed out + if (timeElapsed >= keepAliveData.timeout) { + connection.log("Keep alive timed out. Notifying transport that connection has been lost."); + + // Notify transport that the connection has been lost + connection.transport.lostConnection(connection); + } else if (timeElapsed >= keepAliveData.timeoutWarning) { + // This is to assure that the user only gets a single warning + if (!keepAliveData.userNotified) { + connection.log("Keep alive has been missed, connection may be dead/slow."); + $(connection).triggerHandler(events.onConnectionSlow); + keepAliveData.userNotified = true; + } + } else { + keepAliveData.userNotified = false; + } + } + } + + function addConnectionData(url, connectionData) { + var appender = url.indexOf("?") !== -1 ? "&" : "?"; + + if (connectionData) { + url += appender + "connectionData=" + window.encodeURIComponent(connectionData); + } + + return url; + } + + transportLogic = signalR.transports._logic = { + pingServer: function (connection) { + /// Pings the server + /// Connection associated with the server ping + /// + var url, deferral = $.Deferred(), xhr; + + if (connection.transport) { + url = connection.url + "/ping"; + + url = transportLogic.addQs(url, connection.qs); + + xhr = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: "GET", + contentType: connection.contentType, + data: {}, + dataType: connection.ajaxDataType, + success: function (result) { + var data; + + try { + data = connection._parseResponse(result); + } + catch (error) { + deferral.reject( + signalR._.transportError( + signalR.resources.pingServerFailedParse, + connection.transport, + error, + xhr + ) + ); + connection.stop(); + return; + } + + if (data.Response === "pong") { + deferral.resolve(); + } + else { + deferral.reject( + signalR._.transportError( + signalR._.format(signalR.resources.pingServerFailedInvalidResponse, result.responseText), + connection.transport, + null /* error */, + xhr + ) + ); + } + }, + error: function (error) { + if (error.status === 401 || error.status === 403) { + deferral.reject( + signalR._.transportError( + signalR._.format(signalR.resources.pingServerFailedStatusCode, error.status), + connection.transport, + error, + xhr + ) + ); + connection.stop(); + } + else { + deferral.reject( + signalR._.transportError( + signalR.resources.pingServerFailed, + connection.transport, + error, + xhr + ) + ); + } + } + } + )); + + } + else { + deferral.reject( + signalR._.transportError( + signalR.resources.noConnectionTransport, + connection.transport + ) + ); + } + + return deferral.promise(); + }, + + prepareQueryString: function (connection, url) { + url = transportLogic.addQs(url, connection.qs); + + return addConnectionData(url, connection.data); + }, + + addQs: function (url, qs) { + var appender = url.indexOf("?") !== -1 ? "&" : "?", + firstChar; + + if (!qs) { + return url; + } + + if (typeof (qs) === "object") { + return url + appender + $.param(qs); + } + + if (typeof (qs) === "string") { + firstChar = qs.charAt(0); + + if (firstChar === "?" || firstChar === "&") { + appender = ""; + } + + return url + appender + qs; + } + + throw new Error("Query string property must be either a string or object."); + }, + + getUrl: function (connection, transport, reconnecting, poll) { + /// Gets the url for making a GET based connect request + var baseUrl = transport === "webSockets" ? "" : connection.baseUrl, + url = baseUrl + connection.appRelativeUrl, + qs = "transport=" + transport + "&connectionToken=" + window.encodeURIComponent(connection.token); + + if (connection.groupsToken) { + qs += "&groupsToken=" + window.encodeURIComponent(connection.groupsToken); + } + + if (!reconnecting) { + url += "/connect"; + } else { + if (poll) { + // longPolling transport specific + url += "/poll"; + } else { + url += "/reconnect"; + } + + if (connection.messageId) { + qs += "&messageId=" + window.encodeURIComponent(connection.messageId); + } + } + url += "?" + qs; + url = transportLogic.prepareQueryString(connection, url); + url += "&tid=" + Math.floor(Math.random() * 11); + return url; + }, + + maximizePersistentResponse: function (minPersistentResponse) { + return { + MessageId: minPersistentResponse.C, + Messages: minPersistentResponse.M, + Initialized: typeof (minPersistentResponse.S) !== "undefined" ? true : false, + Disconnect: typeof (minPersistentResponse.D) !== "undefined" ? true : false, + ShouldReconnect: typeof (minPersistentResponse.T) !== "undefined" ? true : false, + LongPollDelay: minPersistentResponse.L, + GroupsToken: minPersistentResponse.G + }; + }, + + updateGroups: function (connection, groupsToken) { + if (groupsToken) { + connection.groupsToken = groupsToken; + } + }, + + stringifySend: function (connection, message) { + if (typeof (message) === "string" || typeof (message) === "undefined" || message === null) { + return message; + } + return connection.json.stringify(message); + }, + + ajaxSend: function (connection, data) { + var payload = transportLogic.stringifySend(connection, data), + url = connection.url + "/send" + "?transport=" + connection.transport.name + "&connectionToken=" + window.encodeURIComponent(connection.token), + xhr, + onFail = function (error, connection) { + $(connection).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.sendFailed, connection.transport, error, xhr), data]); + }; + + url = transportLogic.prepareQueryString(connection, url); + + xhr = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: connection.ajaxDataType === "jsonp" ? "GET" : "POST", + contentType: signalR._.defaultContentType, + dataType: connection.ajaxDataType, + data: { + data: payload + }, + success: function (result) { + var res; + + if (result) { + try { + res = connection._parseResponse(result); + } + catch (error) { + onFail(error, connection); + connection.stop(); + return; + } + + transportLogic.triggerReceived(connection, res); + } + }, + error: function (error, textStatus) { + if (textStatus === "abort" || textStatus === "parsererror") { + // The parsererror happens for sends that don't return any data, and hence + // don't write the jsonp callback to the response. This is harder to fix on the server + // so just hack around it on the client for now. + return; + } + + onFail(error, connection); + } + } + )); + + return xhr; + }, + + ajaxAbort: function (connection, async) { + if (typeof (connection.transport) === "undefined") { + return; + } + + // Async by default unless explicitly overidden + async = typeof async === "undefined" ? true : async; + + var url = connection.url + "/abort" + "?transport=" + connection.transport.name + "&connectionToken=" + window.encodeURIComponent(connection.token); + url = transportLogic.prepareQueryString(connection, url); + + $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + async: async, + timeout: 1000, + type: "POST", + contentType: connection.contentType, + dataType: connection.ajaxDataType, + data: {} + } + )); + + connection.log("Fired ajax abort async = " + async + "."); + }, + + tryInitialize: function (persistentResponse, onInitialized) { + if (persistentResponse.Initialized) { + onInitialized(); + } + }, + + triggerReceived: function (connection, data) { + if (!connection._.connectingMessageBuffer.tryBuffer(data)) { + $(connection).triggerHandler(events.onReceived, [data]); + } + }, + + processMessages: function (connection, minData, onInitialized) { + var data; + + // Update the last message time stamp + transportLogic.markLastMessage(connection); + + if (minData) { + data = transportLogic.maximizePersistentResponse(minData); + + if (data.Disconnect) { + connection.log("Disconnect command received from server."); + + // Disconnected by the server + connection.stop(false, false); + return; + } + + transportLogic.updateGroups(connection, data.GroupsToken); + + if (data.MessageId) { + connection.messageId = data.MessageId; + } + + if (data.Messages) { + $.each(data.Messages, function (index, message) { + transportLogic.triggerReceived(connection, message); + }); + + transportLogic.tryInitialize(data, onInitialized); + } + } + }, + + monitorKeepAlive: function (connection) { + var keepAliveData = connection._.keepAliveData; + + // If we haven't initiated the keep alive timeouts then we need to + if (!keepAliveData.monitoring) { + keepAliveData.monitoring = true; + + transportLogic.markLastMessage(connection); + + // Save the function so we can unbind it on stop + connection._.keepAliveData.reconnectKeepAliveUpdate = function () { + // Mark a new message so that keep alive doesn't time out connections + transportLogic.markLastMessage(connection); + }; + + // Update Keep alive on reconnect + $(connection).bind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate); + + connection.log("Now monitoring keep alive with a warning timeout of " + keepAliveData.timeoutWarning + " and a connection lost timeout of " + keepAliveData.timeout + "."); + } else { + connection.log("Tried to monitor keep alive but it's already being monitored."); + } + }, + + stopMonitoringKeepAlive: function (connection) { + var keepAliveData = connection._.keepAliveData; + + // Only attempt to stop the keep alive monitoring if its being monitored + if (keepAliveData.monitoring) { + // Stop monitoring + keepAliveData.monitoring = false; + + // Remove the updateKeepAlive function from the reconnect event + $(connection).unbind(events.onReconnect, connection._.keepAliveData.reconnectKeepAliveUpdate); + + // Clear all the keep alive data + connection._.keepAliveData = {}; + connection.log("Stopping the monitoring of the keep alive."); + } + }, + + startHeartbeat: function (connection) { + connection._.lastActiveAt = new Date().getTime(); + beat(connection); + }, + + markLastMessage: function (connection) { + connection._.lastMessageAt = new Date().getTime(); + }, + + markActive: function (connection) { + if (transportLogic.verifyLastActive(connection)) { + connection._.lastActiveAt = new Date().getTime(); + return true; + } + + return false; + }, + + isConnectedOrReconnecting: function (connection) { + return connection.state === signalR.connectionState.connected || + connection.state === signalR.connectionState.reconnecting; + }, + + ensureReconnectingState: function (connection) { + if (changeState(connection, + signalR.connectionState.connected, + signalR.connectionState.reconnecting) === true) { + $(connection).triggerHandler(events.onReconnecting); + } + return connection.state === signalR.connectionState.reconnecting; + }, + + clearReconnectTimeout: function (connection) { + if (connection && connection._.reconnectTimeout) { + window.clearTimeout(connection._.reconnectTimeout); + delete connection._.reconnectTimeout; + } + }, + + verifyLastActive: function (connection) { + if (new Date().getTime() - connection._.lastActiveAt >= connection.reconnectWindow) { + connection.log("There has not been an active server connection for an extended period of time. Stopping connection."); + connection.stop(); + return false; + } + + return true; + }, + + reconnect: function (connection, transportName) { + var transport = signalR.transports[transportName]; + + // We should only set a reconnectTimeout if we are currently connected + // and a reconnectTimeout isn't already set. + if (transportLogic.isConnectedOrReconnecting(connection) && !connection._.reconnectTimeout) { + // Need to verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration. + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + connection._.reconnectTimeout = window.setTimeout(function () { + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + transport.stop(connection); + + if (transportLogic.ensureReconnectingState(connection)) { + connection.log(transportName + " reconnecting."); + transport.start(connection); + } + }, connection.reconnectDelay); + } + }, + + handleParseFailure: function (connection, result, error, onFailed, context) { + // If we're in the initialization phase trigger onFailed, otherwise stop the connection. + if (connection.state === signalR.connectionState.connecting) { + connection.log("Failed to parse server response while attempting to connect."); + onFailed(); + } else { + $(connection).triggerHandler(events.onError, [ + signalR._.transportError( + signalR._.format(signalR.resources.parseFailed, result), + connection.transport, + error, + context)]); + connection.stop(); + } + }, + + foreverFrame: { + count: 0, + connections: {} + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.webSockets.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic; + + signalR.transports.webSockets = { + name: "webSockets", + + supportsKeepAlive: true, + + send: function (connection, data) { + var payload = transportLogic.stringifySend(connection, data); + + try { + connection.socket.send(payload); + } catch (ex) { + $(connection).triggerHandler(events.onError, + [signalR._.transportError( + signalR.resources.webSocketsInvalidState, + connection.transport, + ex, + connection.socket + ), + data]); + } + }, + + start: function (connection, onSuccess, onFailed) { + var url, + opened = false, + that = this, + reconnecting = !onSuccess, + $connection = $(connection); + + if (!window.WebSocket) { + onFailed(); + return; + } + + if (!connection.socket) { + if (connection.webSocketServerUrl) { + url = connection.webSocketServerUrl; + } else { + url = connection.wsProtocol + connection.host; + } + + url += transportLogic.getUrl(connection, this.name, reconnecting); + + connection.log("Connecting to websocket endpoint '" + url + "'."); + connection.socket = new window.WebSocket(url); + + connection.socket.onopen = function () { + opened = true; + connection.log("Websocket opened."); + + transportLogic.clearReconnectTimeout(connection); + + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + $connection.triggerHandler(events.onReconnect); + } + }; + + connection.socket.onclose = function (event) { + // Only handle a socket close if the close is from the current socket. + // Sometimes on disconnect the server will push down an onclose event + // to an expired socket. + + if (this === connection.socket) { + if (!opened) { + if (onFailed) { + onFailed(); + } else if (reconnecting) { + that.reconnect(connection); + } + return; + } else if (typeof event.wasClean !== "undefined" && event.wasClean === false) { + // Ideally this would use the websocket.onerror handler (rather than checking wasClean in onclose) but + // I found in some circumstances Chrome won't call onerror. This implementation seems to work on all browsers. + $(connection).triggerHandler(events.onError, [signalR._.transportError( + signalR.resources.webSocketClosed, + connection.transport, + event)]); + connection.log("Unclean disconnect from websocket: " + event.reason || "[no reason given]."); + } else { + connection.log("Websocket closed."); + } + + that.reconnect(connection); + } + }; + + connection.socket.onmessage = function (event) { + var data; + + try { + data = connection._parseResponse(event.data); + } + catch (error) { + transportLogic.handleParseFailure(connection, event.data, error, onFailed, event); + return; + } + + if (data) { + // data.M is PersistentResponse.Messages + if ($.isEmptyObject(data) || data.M) { + transportLogic.processMessages(connection, data, onSuccess); + } else { + // For websockets we need to trigger onReceived + // for callbacks to outgoing hub calls. + transportLogic.triggerReceived(connection, data); + } + } + }; + } + }, + + reconnect: function (connection) { + transportLogic.reconnect(connection, this.name); + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + stop: function (connection) { + // Don't trigger a reconnect after stopping + transportLogic.clearReconnectTimeout(connection); + + if (connection.socket) { + connection.log("Closing the Websocket."); + connection.socket.close(); + connection.socket = null; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.serverSentEvents.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic; + + signalR.transports.serverSentEvents = { + name: "serverSentEvents", + + supportsKeepAlive: true, + + timeOut: 3000, + + start: function (connection, onSuccess, onFailed) { + var that = this, + opened = false, + $connection = $(connection), + reconnecting = !onSuccess, + url, + reconnectTimeout; + + if (connection.eventSource) { + connection.log("The connection already has an event source. Stopping it."); + connection.stop(); + } + + if (!window.EventSource) { + if (onFailed) { + connection.log("This browser doesn't support SSE."); + onFailed(); + } + return; + } + + url = transportLogic.getUrl(connection, this.name, reconnecting); + + try { + connection.log("Attempting to connect to SSE endpoint '" + url + "'."); + connection.eventSource = new window.EventSource(url, { withCredentials: connection.withCredentials }); + } + catch (e) { + connection.log("EventSource failed trying to connect with error " + e.Message + "."); + if (onFailed) { + // The connection failed, call the failed callback + onFailed(); + } else { + $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceFailedToConnect, connection.transport, e)]); + if (reconnecting) { + // If we were reconnecting, rather than doing initial connect, then try reconnect again + that.reconnect(connection); + } + } + return; + } + + if (reconnecting) { + reconnectTimeout = window.setTimeout(function () { + if (opened === false) { + // If we're reconnecting and the event source is attempting to connect, + // don't keep retrying. This causes duplicate connections to spawn. + if (connection.eventSource.readyState !== window.EventSource.OPEN) { + // If we were reconnecting, rather than doing initial connect, then try reconnect again + that.reconnect(connection); + } + } + }, + that.timeOut); + } + + connection.eventSource.addEventListener("open", function (e) { + connection.log("EventSource connected."); + + if (reconnectTimeout) { + window.clearTimeout(reconnectTimeout); + } + + transportLogic.clearReconnectTimeout(connection); + + if (opened === false) { + opened = true; + + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + $connection.triggerHandler(events.onReconnect); + } + } + }, false); + + connection.eventSource.addEventListener("message", function (e) { + var res; + + // process messages + if (e.data === "initialized") { + return; + } + + try { + res = connection._parseResponse(e.data); + } + catch (error) { + transportLogic.handleParseFailure(connection, e.data, error, onFailed, e); + return; + } + + transportLogic.processMessages(connection, res, onSuccess); + }, false); + + connection.eventSource.addEventListener("error", function (e) { + // Only handle an error if the error is from the current Event Source. + // Sometimes on disconnect the server will push down an error event + // to an expired Event Source. + if (this !== connection.eventSource) { + return; + } + + if (!opened) { + if (onFailed) { + onFailed(); + } + + return; + } + + connection.log("EventSource readyState: " + connection.eventSource.readyState + "."); + + if (e.eventPhase === window.EventSource.CLOSED) { + // We don't use the EventSource's native reconnect function as it + // doesn't allow us to change the URL when reconnecting. We need + // to change the URL to not include the /connect suffix, and pass + // the last message id we received. + connection.log("EventSource reconnecting due to the server connection ending."); + that.reconnect(connection); + } else { + // connection error + connection.log("EventSource error."); + $connection.triggerHandler(events.onError, [signalR._.transportError(signalR.resources.eventSourceError, connection.transport, e)]); + } + }, false); + }, + + reconnect: function (connection) { + transportLogic.reconnect(connection, this.name); + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + stop: function (connection) { + // Don't trigger a reconnect after stopping + transportLogic.clearReconnectTimeout(connection); + + if (connection && connection.eventSource) { + connection.log("EventSource calling close()."); + connection.eventSource.close(); + connection.eventSource = null; + delete connection.eventSource; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.foreverFrame.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + transportLogic = signalR.transports._logic, + createFrame = function () { + var frame = window.document.createElement("iframe"); + frame.setAttribute("style", "position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"); + return frame; + }, + // Used to prevent infinite loading icon spins in older versions of ie + // We build this object inside a closure so we don't pollute the rest of + // the foreverFrame transport with unnecessary functions/utilities. + loadPreventer = (function () { + var loadingFixIntervalId = null, + loadingFixInterval = 1000, + attachedTo = 0; + + return { + prevent: function () { + // Prevent additional iframe removal procedures from newer browsers + if (signalR._.ieVersion <= 8) { + // We only ever want to set the interval one time, so on the first attachedTo + if (attachedTo === 0) { + // Create and destroy iframe every 3 seconds to prevent loading icon, super hacky + loadingFixIntervalId = window.setInterval(function () { + var tempFrame = createFrame(); + + window.document.body.appendChild(tempFrame); + window.document.body.removeChild(tempFrame); + + tempFrame = null; + }, loadingFixInterval); + } + + attachedTo++; + } + }, + cancel: function () { + // Only clear the interval if there's only one more object that the loadPreventer is attachedTo + if (attachedTo === 1) { + window.clearInterval(loadingFixIntervalId); + } + + if (attachedTo > 0) { + attachedTo--; + } + } + }; + })(); + + signalR.transports.foreverFrame = { + name: "foreverFrame", + + supportsKeepAlive: true, + + // Added as a value here so we can create tests to verify functionality + iframeClearThreshold: 50, + + start: function (connection, onSuccess, onFailed) { + var that = this, + frameId = (transportLogic.foreverFrame.count += 1), + url, + frame = createFrame(), + frameLoadHandler = function () { + connection.log("Forever frame iframe finished loading and is no longer receiving messages."); + that.reconnect(connection); + }; + + if (window.EventSource) { + // If the browser supports SSE, don't use Forever Frame + if (onFailed) { + connection.log("This browser supports SSE, skipping Forever Frame."); + onFailed(); + } + return; + } + + frame.setAttribute("data-signalr-connection-id", connection.id); + + // Start preventing loading icon + // This will only perform work if the loadPreventer is not attached to another connection. + loadPreventer.prevent(); + + // Build the url + url = transportLogic.getUrl(connection, this.name); + url += "&frameId=" + frameId; + + // Set body prior to setting URL to avoid caching issues. + window.document.body.appendChild(frame); + + connection.log("Binding to iframe's load event."); + + if (frame.addEventListener) { + frame.addEventListener("load", frameLoadHandler, false); + } else if (frame.attachEvent) { + frame.attachEvent("onload", frameLoadHandler); + } + + frame.src = url; + transportLogic.foreverFrame.connections[frameId] = connection; + + connection.frame = frame; + connection.frameId = frameId; + + if (onSuccess) { + connection.onSuccess = function () { + connection.log("Iframe transport started."); + onSuccess(); + }; + } + }, + + reconnect: function (connection) { + var that = this; + + // Need to verify connection state and verify before the setTimeout occurs because an application sleep could occur during the setTimeout duration. + if (transportLogic.isConnectedOrReconnecting(connection) && transportLogic.verifyLastActive(connection)) { + window.setTimeout(function () { + // Verify that we're ok to reconnect. + if (!transportLogic.verifyLastActive(connection)) { + return; + } + + if (connection.frame && transportLogic.ensureReconnectingState(connection)) { + var frame = connection.frame, + src = transportLogic.getUrl(connection, that.name, true) + "&frameId=" + connection.frameId; + connection.log("Updating iframe src to '" + src + "'."); + frame.src = src; + } + }, connection.reconnectDelay); + } + }, + + lostConnection: function (connection) { + this.reconnect(connection); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + receive: function (connection, data) { + var cw, + body; + + transportLogic.processMessages(connection, data, connection.onSuccess); + + // Protect against connection stopping from a callback trigger within the processMessages above. + if (connection.state === $.signalR.connectionState.connected) { + // Delete the script & div elements + connection.frameMessageCount = (connection.frameMessageCount || 0) + 1; + if (connection.frameMessageCount > signalR.transports.foreverFrame.iframeClearThreshold) { + connection.frameMessageCount = 0; + cw = connection.frame.contentWindow || connection.frame.contentDocument; + if (cw && cw.document && cw.document.body) { + body = cw.document.body; + + // Remove all the child elements from the iframe's body to conserver memory + while (body.firstChild) { + body.removeChild(body.firstChild); + } + } + } + } + }, + + stop: function (connection) { + var cw = null; + + // Stop attempting to prevent loading icon + loadPreventer.cancel(); + + if (connection.frame) { + if (connection.frame.stop) { + connection.frame.stop(); + } else { + try { + cw = connection.frame.contentWindow || connection.frame.contentDocument; + if (cw.document && cw.document.execCommand) { + cw.document.execCommand("Stop"); + } + } + catch (e) { + connection.log("Error occured when stopping foreverFrame transport. Message = " + e.message + "."); + } + } + + // Ensure the iframe is where we left it + if (connection.frame.parentNode === window.document.body) { + window.document.body.removeChild(connection.frame); + } + + delete transportLogic.foreverFrame.connections[connection.frameId]; + connection.frame = null; + connection.frameId = null; + delete connection.frame; + delete connection.frameId; + delete connection.onSuccess; + delete connection.frameMessageCount; + connection.log("Stopping forever frame."); + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + }, + + getConnection: function (id) { + return transportLogic.foreverFrame.connections[id]; + }, + + started: function (connection) { + if (changeState(connection, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + // If there's no onSuccess handler we assume this is a reconnect + $(connection).triggerHandler(events.onReconnect); + } + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.transports.longPolling.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var signalR = $.signalR, + events = $.signalR.events, + changeState = $.signalR.changeState, + isDisconnecting = $.signalR.isDisconnecting, + transportLogic = signalR.transports._logic; + + signalR.transports.longPolling = { + name: "longPolling", + + supportsKeepAlive: false, + + reconnectDelay: 3000, + + start: function (connection, onSuccess, onFailed) { + /// Starts the long polling connection + /// The SignalR connection to start + var that = this, + fireConnect = function () { + fireConnect = $.noop; + + connection.log("LongPolling connected."); + onSuccess(); + // Reset onFailed to null because it shouldn't be called again + onFailed = null; + }, + tryFailConnect = function () { + if (onFailed) { + onFailed(); + onFailed = null; + connection.log("LongPolling failed to connect."); + return true; + } + + return false; + }, + privateData = connection._, + reconnectErrors = 0, + fireReconnected = function (instance) { + window.clearTimeout(privateData.reconnectTimeoutId); + privateData.reconnectTimeoutId = null; + + if (changeState(instance, + signalR.connectionState.reconnecting, + signalR.connectionState.connected) === true) { + // Successfully reconnected! + instance.log("Raising the reconnect event"); + $(instance).triggerHandler(events.onReconnect); + } + }, + // 1 hour + maxFireReconnectedTimeout = 3600000; + + if (connection.pollXhr) { + connection.log("Polling xhr requests already exists, aborting."); + connection.stop(); + } + + connection.messageId = null; + + privateData.reconnectTimeoutId = null; + + privateData.pollTimeoutId = window.setTimeout(function () { + (function poll(instance, raiseReconnect) { + var messageId = instance.messageId, + connect = (messageId === null), + reconnecting = !connect, + polling = !raiseReconnect, + url = transportLogic.getUrl(instance, that.name, reconnecting, polling); + + // If we've disconnected during the time we've tried to re-instantiate the poll then stop. + if (isDisconnecting(instance) === true) { + return; + } + + connection.log("Opening long polling request to '" + url + "'."); + instance.pollXhr = $.ajax( + $.extend({}, $.signalR.ajaxDefaults, { + xhrFields: { withCredentials: connection.withCredentials }, + url: url, + type: "GET", + dataType: connection.ajaxDataType, + contentType: connection.contentType, + success: function (result) { + var minData, + delay = 0, + data, + shouldReconnect; + + connection.log("Long poll complete."); + + // Reset our reconnect errors so if we transition into a reconnecting state again we trigger + // reconnected quickly + reconnectErrors = 0; + + try { + minData = connection._parseResponse(result); + } + catch (error) { + transportLogic.handleParseFailure(instance, result, error, tryFailConnect, instance.pollXhr); + return; + } + + // If there's currently a timeout to trigger reconnect, fire it now before processing messages + if (privateData.reconnectTimeoutId !== null) { + fireReconnected(instance); + } + + if (minData) { + data = transportLogic.maximizePersistentResponse(minData); + } + + transportLogic.processMessages(instance, minData, fireConnect); + + if (data && + $.type(data.LongPollDelay) === "number") { + delay = data.LongPollDelay; + } + + if (data && data.Disconnect) { + return; + } + + if (isDisconnecting(instance) === true) { + return; + } + + shouldReconnect = data && data.ShouldReconnect; + if (shouldReconnect) { + // Transition into the reconnecting state + // If this fails then that means that the user transitioned the connection into a invalid state in processMessages. + if (!transportLogic.ensureReconnectingState(instance)) { + return; + } + } + + // We never want to pass a raiseReconnect flag after a successful poll. This is handled via the error function + if (delay > 0) { + privateData.pollTimeoutId = window.setTimeout(function () { + poll(instance, shouldReconnect); + }, delay); + } else { + poll(instance, shouldReconnect); + } + }, + + error: function (data, textStatus) { + // Stop trying to trigger reconnect, connection is in an error state + // If we're not in the reconnect state this will noop + window.clearTimeout(privateData.reconnectTimeoutId); + privateData.reconnectTimeoutId = null; + + if (textStatus === "abort") { + connection.log("Aborted xhr request."); + return; + } + + if (!tryFailConnect()) { + + // Increment our reconnect errors, we assume all errors to be reconnect errors + // In the case that it's our first error this will cause Reconnect to be fired + // after 1 second due to reconnectErrors being = 1. + reconnectErrors++; + + if (connection.state !== signalR.connectionState.reconnecting) { + connection.log("An error occurred using longPolling. Status = " + textStatus + ". Response = " + data.responseText + "."); + $(instance).triggerHandler(events.onError, [signalR._.transportError(signalR.resources.longPollFailed, connection.transport, data, instance.pollXhr)]); + } + + // We check the state here to verify that we're not in an invalid state prior to verifying Reconnect. + // If we're not in connected or reconnecting then the next ensureReconnectingState check will fail and will return. + // Therefore we don't want to change that failure code path. + if ((connection.state === signalR.connectionState.connected || + connection.state === signalR.connectionState.reconnecting) && + !transportLogic.verifyLastActive(connection)) { + return; + } + + // Transition into the reconnecting state + // If this fails then that means that the user transitioned the connection into the disconnected or connecting state within the above error handler trigger. + if (!transportLogic.ensureReconnectingState(instance)) { + return; + } + + // Call poll with the raiseReconnect flag as true after the reconnect delay + privateData.pollTimeoutId = window.setTimeout(function () { + poll(instance, true); + }, that.reconnectDelay); + } + } + } + )); + + + // This will only ever pass after an error has occured via the poll ajax procedure. + if (reconnecting && raiseReconnect === true) { + // We wait to reconnect depending on how many times we've failed to reconnect. + // This is essentially a heuristic that will exponentially increase in wait time before + // triggering reconnected. This depends on the "error" handler of Poll to cancel this + // timeout if it triggers before the Reconnected event fires. + // The Math.min at the end is to ensure that the reconnect timeout does not overflow. + privateData.reconnectTimeoutId = window.setTimeout(function () { fireReconnected(instance); }, Math.min(1000 * (Math.pow(2, reconnectErrors) - 1), maxFireReconnectedTimeout)); + } + }(connection)); + }, 250); // Have to delay initial poll so Chrome doesn't show loader spinner in tab + }, + + lostConnection: function (connection) { + throw new Error("Lost Connection not handled for LongPolling"); + }, + + send: function (connection, data) { + transportLogic.ajaxSend(connection, data); + }, + + stop: function (connection) { + /// Stops the long polling connection + /// The SignalR connection to stop + + window.clearTimeout(connection._.pollTimeoutId); + window.clearTimeout(connection._.reconnectTimeoutId); + + delete connection._.pollTimeoutId; + delete connection._.reconnectTimeoutId; + + if (connection.pollXhr) { + connection.pollXhr.abort(); + connection.pollXhr = null; + delete connection.pollXhr; + } + }, + + abort: function (connection, async) { + transportLogic.ajaxAbort(connection, async); + } + }; + +}(window.jQuery, window)); +/* jquery.signalR.hubs.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// + +(function ($, window, undefined) { + "use strict"; + + var eventNamespace = ".hubProxy", + signalR = $.signalR; + + function makeEventName(event) { + return event + eventNamespace; + } + + // Equivalent to Array.prototype.map + function map(arr, fun, thisp) { + var i, + length = arr.length, + result = []; + for (i = 0; i < length; i += 1) { + if (arr.hasOwnProperty(i)) { + result[i] = fun.call(thisp, arr[i], i, arr); + } + } + return result; + } + + function getArgValue(a) { + return $.isFunction(a) ? null : ($.type(a) === "undefined" ? null : a); + } + + function hasMembers(obj) { + for (var key in obj) { + // If we have any properties in our callback map then we have callbacks and can exit the loop via return + if (obj.hasOwnProperty(key)) { + return true; + } + } + + return false; + } + + function clearInvocationCallbacks(connection, error) { + /// + var callbacks = connection._.invocationCallbacks, + callback; + + if (hasMembers(callbacks)) { + connection.log("Clearing hub invocation callbacks with error: " + error + "."); + } + + // Reset the callback cache now as we have a local var referencing it + connection._.invocationCallbackId = 0; + delete connection._.invocationCallbacks; + connection._.invocationCallbacks = {}; + + // Loop over the callbacks and invoke them. + // We do this using a local var reference and *after* we've cleared the cache + // so that if a fail callback itself tries to invoke another method we don't + // end up with its callback in the list we're looping over. + for (var callbackId in callbacks) { + callback = callbacks[callbackId]; + callback.method.call(callback.scope, { E: error }); + } + } + + // hubProxy + function hubProxy(hubConnection, hubName) { + /// + /// Creates a new proxy object for the given hub connection that can be used to invoke + /// methods on server hubs and handle client method invocation requests from the server. + /// + return new hubProxy.fn.init(hubConnection, hubName); + } + + hubProxy.fn = hubProxy.prototype = { + init: function (connection, hubName) { + this.state = {}; + this.connection = connection; + this.hubName = hubName; + this._ = { + callbackMap: {} + }; + }, + + hasSubscriptions: function () { + return hasMembers(this._.callbackMap); + }, + + on: function (eventName, callback) { + /// Wires up a callback to be invoked when a invocation request is received from the server hub. + /// The name of the hub event to register the callback for. + /// The callback to be invoked. + var that = this, + callbackMap = that._.callbackMap; + + // Normalize the event name to lowercase + eventName = eventName.toLowerCase(); + + // If there is not an event registered for this callback yet we want to create its event space in the callback map. + if (!callbackMap[eventName]) { + callbackMap[eventName] = {}; + } + + // Map the callback to our encompassed function + callbackMap[eventName][callback] = function (e, data) { + callback.apply(that, data); + }; + + $(that).bind(makeEventName(eventName), callbackMap[eventName][callback]); + + return that; + }, + + off: function (eventName, callback) { + /// Removes the callback invocation request from the server hub for the given event name. + /// The name of the hub event to unregister the callback for. + /// The callback to be invoked. + var that = this, + callbackMap = that._.callbackMap, + callbackSpace; + + // Normalize the event name to lowercase + eventName = eventName.toLowerCase(); + + callbackSpace = callbackMap[eventName]; + + // Verify that there is an event space to unbind + if (callbackSpace) { + // Only unbind if there's an event bound with eventName and a callback with the specified callback + if (callbackSpace[callback]) { + $(that).unbind(makeEventName(eventName), callbackSpace[callback]); + + // Remove the callback from the callback map + delete callbackSpace[callback]; + + // Check if there are any members left on the event, if not we need to destroy it. + if (!hasMembers(callbackSpace)) { + delete callbackMap[eventName]; + } + } else if (!callback) { // Check if we're removing the whole event and we didn't error because of an invalid callback + $(that).unbind(makeEventName(eventName)); + + delete callbackMap[eventName]; + } + } + + return that; + }, + + invoke: function (methodName) { + /// Invokes a server hub method with the given arguments. + /// The name of the server hub method. + + var that = this, + connection = that.connection, + args = $.makeArray(arguments).slice(1), + argValues = map(args, getArgValue), + data = { H: that.hubName, M: methodName, A: argValues, I: connection._.invocationCallbackId }, + d = $.Deferred(), + callback = function (minResult) { + var result = that._maximizeHubResponse(minResult), + source, + error; + + // Update the hub state + $.extend(that.state, result.State); + + if (result.Error) { + // Server hub method threw an exception, log it & reject the deferred + if (result.StackTrace) { + connection.log(result.Error + "\n" + result.StackTrace + "."); + } + + // result.ErrorData is only set if a HubException was thrown + source = result.IsHubException ? "HubException" : "Exception"; + error = signalR._.error(result.Error, source); + error.data = result.ErrorData; + + connection.log(that.hubName + "." + methodName + " failed to execute. Error: " + error.message); + d.rejectWith(that, [error]); + } else { + // Server invocation succeeded, resolve the deferred + connection.log("Invoked " + that.hubName + "." + methodName); + d.resolveWith(that, [result.Result]); + } + }; + + connection._.invocationCallbacks[connection._.invocationCallbackId.toString()] = { scope: that, method: callback }; + connection._.invocationCallbackId += 1; + + if (!$.isEmptyObject(that.state)) { + data.S = that.state; + } + + connection.log("Invoking " + that.hubName + "." + methodName); + connection.send(data); + + return d.promise(); + }, + + _maximizeHubResponse: function (minHubResponse) { + return { + State: minHubResponse.S, + Result: minHubResponse.R, + Id: minHubResponse.I, + IsHubException: minHubResponse.H, + Error: minHubResponse.E, + StackTrace: minHubResponse.T, + ErrorData: minHubResponse.D + }; + } + }; + + hubProxy.fn.init.prototype = hubProxy.fn; + + // hubConnection + function hubConnection(url, options) { + /// Creates a new hub connection. + /// [Optional] The hub route url, defaults to "/signalr". + /// [Optional] Settings to use when creating the hubConnection. + var settings = { + qs: null, + logging: false, + useDefaultPath: true + }; + + $.extend(settings, options); + + if (!url || settings.useDefaultPath) { + url = (url || "") + "/signalr"; + } + return new hubConnection.fn.init(url, settings); + } + + hubConnection.fn = hubConnection.prototype = $.connection(); + + hubConnection.fn.init = function (url, options) { + var settings = { + qs: null, + logging: false, + useDefaultPath: true + }, + connection = this; + + $.extend(settings, options); + + // Call the base constructor + $.signalR.fn.init.call(connection, url, settings.qs, settings.logging); + + // Object to store hub proxies for this connection + connection.proxies = {}; + + connection._.invocationCallbackId = 0; + connection._.invocationCallbacks = {}; + + // Wire up the received handler + connection.received(function (minData) { + var data, proxy, dataCallbackId, callback, hubName, eventName; + if (!minData) { + return; + } + + if (typeof (minData.I) !== "undefined") { + // We received the return value from a server method invocation, look up callback by id and call it + dataCallbackId = minData.I.toString(); + callback = connection._.invocationCallbacks[dataCallbackId]; + if (callback) { + // Delete the callback from the proxy + connection._.invocationCallbacks[dataCallbackId] = null; + delete connection._.invocationCallbacks[dataCallbackId]; + + // Invoke the callback + callback.method.call(callback.scope, minData); + } + } else { + data = this._maximizeClientHubInvocation(minData); + + // We received a client invocation request, i.e. broadcast from server hub + connection.log("Triggering client hub event '" + data.Method + "' on hub '" + data.Hub + "'."); + + // Normalize the names to lowercase + hubName = data.Hub.toLowerCase(); + eventName = data.Method.toLowerCase(); + + // Trigger the local invocation event + proxy = this.proxies[hubName]; + + // Update the hub state + $.extend(proxy.state, data.State); + $(proxy).triggerHandler(makeEventName(eventName), [data.Args]); + } + }); + + connection.error(function (errData, origData) { + var callbackId, callback; + + if (!origData) { + // No original data passed so this is not a send error + return; + } + + callbackId = origData.I; + callback = connection._.invocationCallbacks[callbackId]; + + // Verify that there is a callback bound (could have been cleared) + if (callback) { + // Delete the callback + connection._.invocationCallbacks[callbackId] = null; + delete connection._.invocationCallbacks[callbackId]; + + // Invoke the callback with an error to reject the promise + callback.method.call(callback.scope, { E: errData }); + } + }); + + connection.reconnecting(function () { + if (connection.transport && connection.transport.name === "webSockets") { + clearInvocationCallbacks(connection, "Connection started reconnecting before invocation result was received."); + } + }); + + connection.disconnected(function () { + clearInvocationCallbacks(connection, "Connection was disconnected before invocation result was received."); + }); + }; + + hubConnection.fn._maximizeClientHubInvocation = function (minClientHubInvocation) { + return { + Hub: minClientHubInvocation.H, + Method: minClientHubInvocation.M, + Args: minClientHubInvocation.A, + State: minClientHubInvocation.S + }; + }; + + hubConnection.fn._registerSubscribedHubs = function () { + /// + /// Sets the starting event to loop through the known hubs and register any new hubs + /// that have been added to the proxy. + /// + var connection = this; + + if (!connection._subscribedToHubs) { + connection._subscribedToHubs = true; + connection.starting(function () { + // Set the connection's data object with all the hub proxies with active subscriptions. + // These proxies will receive notifications from the server. + var subscribedHubs = []; + + $.each(connection.proxies, function (key) { + if (this.hasSubscriptions()) { + subscribedHubs.push({ name: key }); + connection.log("Client subscribed to hub '" + key + "'."); + } + }); + + if (subscribedHubs.length === 0) { + connection.log("No hubs have been subscribed to. The client will not receive data from hubs. To fix, declare at least one client side function prior to connection start for each hub you wish to subscribe to."); + } + + connection.data = connection.json.stringify(subscribedHubs); + }); + } + }; + + hubConnection.fn.createHubProxy = function (hubName) { + /// + /// Creates a new proxy object for the given hub connection that can be used to invoke + /// methods on server hubs and handle client method invocation requests from the server. + /// + /// + /// The name of the hub on the server to create the proxy for. + /// + + // Normalize the name to lowercase + hubName = hubName.toLowerCase(); + + var proxy = this.proxies[hubName]; + if (!proxy) { + proxy = hubProxy(this, hubName); + this.proxies[hubName] = proxy; + } + + this._registerSubscribedHubs(); + + return proxy; + }; + + hubConnection.fn.init.prototype = hubConnection.fn; + + $.hubConnection = hubConnection; + +}(window.jQuery, window)); +/* jquery.signalR.version.js */ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.md in the project root for license information. + +/*global window:false */ +/// +(function ($, undefined) { + $.signalR.version = "2.0.3"; +}(window.jQuery)); diff --git a/packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.min.js b/packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.min.js new file mode 100644 index 00000000..6c53ded8 --- /dev/null +++ b/packages/Microsoft.AspNet.SignalR.JS.2.0.3/content/Scripts/jquery.signalR-2.0.3.min.js @@ -0,0 +1,8 @@ +/*! + * ASP.NET SignalR JavaScript Library v2.0.3 + * http://signalr.net/ + * + * Copyright (C) Microsoft Corporation. All rights reserved. + * + */ +(function(n,t,i){"use strict";function p(t,i){var u,f;if(n.isArray(t)){for(u=t.length-1;u>=0;u--)f=t[u],n.type(f)==="string"&&r.transports[f]||(i.log("Invalid transport: "+f+", removing it from the transports list."),t.splice(u,1));t.length===0&&(i.log("No transports remain within the specified transport array."),t=null)}else if(r.transports[t]||t==="auto"){if(t==="auto"&&r._.ieVersion<=8)return["longPolling"]}else i.log("Invalid transport: "+t.toString()+"."),t=null;return t}function w(n){return n==="http:"?80:n==="https:"?443:void 0}function l(n,t){return t.match(/:\d+$/)?t:t+":"+w(n)}function b(t,i){var u=this,r=[];u.tryBuffer=function(i){return t.state===n.signalR.connectionState.connecting?(r.push(i),!0):!1};u.drain=function(){if(t.state===n.signalR.connectionState.connected)while(r.length>0)i(r.shift())};u.clear=function(){r=[]}}var f={nojQuery:"jQuery was not found. Please ensure jQuery is referenced before the SignalR client JavaScript file.",noTransportOnInit:"No transport could be initialized successfully. Try specifying a different transport or none at all for auto initialization.",errorOnNegotiate:"Error during negotiation request.",stoppedWhileLoading:"The connection was stopped during page load.",stoppedWhileNegotiating:"The connection was stopped during the negotiate request.",errorParsingNegotiateResponse:"Error parsing negotiate response.",protocolIncompatible:"You are using a version of the client that isn't compatible with the server. Client version {0}, server version {1}.",sendFailed:"Send failed.",parseFailed:"Failed at parsing response: {0}",longPollFailed:"Long polling request failed.",eventSourceFailedToConnect:"EventSource failed to connect.",eventSourceError:"Error raised by EventSource",webSocketClosed:"WebSocket closed.",pingServerFailedInvalidResponse:"Invalid ping response when pinging server: '{0}'.",pingServerFailed:"Failed to ping server.",pingServerFailedStatusCode:"Failed to ping server. Server responded with status code {0}, stopping the connection.",pingServerFailedParse:"Failed to parse ping server response, stopping the connection.",noConnectionTransport:"Connection is in an invalid state, there is no transport active.",webSocketsInvalidState:"The Web Socket transport is in an invalid state, transitioning into reconnecting."};if(typeof n!="function")throw new Error(f.nojQuery);var r,h,s=t.document.readyState==="complete",e=n(t),c="__Negotiate Aborted__",u={onStart:"onStart",onStarting:"onStarting",onReceived:"onReceived",onError:"onError",onConnectionSlow:"onConnectionSlow",onReconnecting:"onReconnecting",onReconnect:"onReconnect",onStateChanged:"onStateChanged",onDisconnect:"onDisconnect"},a=function(n,i){if(i!==!1){var r;typeof t.console!="undefined"&&(r="["+(new Date).toTimeString()+"] SignalR: "+n,t.console.debug?t.console.debug(r):t.console.log&&t.console.log(r))}},o=function(t,i,r){return i===t.state?(t.state=r,n(t).triggerHandler(u.onStateChanged,[{oldState:i,newState:r}]),!0):!1},v=function(n){return n.state===r.connectionState.disconnected},y=function(n){var i,u;n._.configuredStopReconnectingTimeout||(u=function(n){n.log("Couldn't reconnect within the configured timeout ("+n.disconnectTimeout+"ms), disconnecting.");n.stop(!1,!1)},n.reconnecting(function(){var n=this;n.state===r.connectionState.reconnecting&&(i=t.setTimeout(function(){u(n)},n.disconnectTimeout))}),n.stateChanged(function(n){n.oldState===r.connectionState.reconnecting&&t.clearTimeout(i)}),n._.configuredStopReconnectingTimeout=!0)};r=function(n,t,i){return new r.fn.init(n,t,i)};r._={defaultContentType:"application/x-www-form-urlencoded; charset=UTF-8",ieVersion:function(){var i,n;return t.navigator.appName==="Microsoft Internet Explorer"&&(n=/MSIE ([0-9]+\.[0-9]+)/.exec(t.navigator.userAgent),n&&(i=t.parseFloat(n[1]))),i}(),error:function(n,t,i){var r=new Error(n);return r.source=t,typeof i!="undefined"&&(r.context=i),r},transportError:function(n,t,r,u){var f=this.error(n,r,u);return f.transport=t?t.name:i,f},format:function(){for(var t=arguments[0],n=0;n<\/script>.");}};e.load(function(){s=!0});r.fn=r.prototype={init:function(t,i,r){var f=n(this);this.url=t;this.qs=i;this._={keepAliveData:{},connectingMessageBuffer:new b(this,function(n){f.triggerHandler(u.onReceived,[n])}),onFailedTimeoutHandle:null,lastMessageAt:(new Date).getTime(),lastActiveAt:(new Date).getTime(),beatInterval:5e3,beatHandle:null,totalTransportConnectTimeout:0};typeof r=="boolean"&&(this.logging=r)},_parseResponse:function(n){var t=this;return n?typeof n=="string"?t.json.parse(n):n:n},json:t.JSON,isCrossDomain:function(i,r){var u;return(i=n.trim(i),r=r||t.location,i.indexOf("http")!==0)?!1:(u=t.document.createElement("a"),u.href=i,u.protocol+l(u.protocol,u.host)!==r.protocol+l(r.protocol,r.host))},ajaxDataType:"text",contentType:"application/json; charset=UTF-8",logging:!1,state:r.connectionState.disconnected,clientProtocol:"1.3",reconnectDelay:2e3,transportConnectTimeout:0,disconnectTimeout:3e4,reconnectWindow:3e4,keepAliveWarnAt:2/3,start:function(i,h){var l=this,a={pingInterval:3e5,waitForPageLoad:!0,transport:"auto",jsonp:!1},k,v=l._deferral||n.Deferred(),w=t.document.createElement("a"),b,d;if(l._deferral=v,!l.json)throw new Error("SignalR: No JSON parser found. Please ensure json2.js is referenced before the SignalR.js file if you need to support clients without native JSON parsing support, e.g. IE<8.");if(n.type(i)==="function"?h=i:n.type(i)==="object"&&(n.extend(a,i),n.type(a.callback)==="function"&&(h=a.callback)),a.transport=p(a.transport,l),!a.transport)throw new Error("SignalR: Invalid transport(s) specified, aborting start.");return(l._.config=a,!s&&a.waitForPageLoad===!0)?(l._.deferredStartHandler=function(){l.start(i,h)},e.bind("load",l._.deferredStartHandler),v.promise()):l.state===r.connectionState.connecting?v.promise():o(l,r.connectionState.disconnected,r.connectionState.connecting)===!1?(v.resolve(l),v.promise()):(y(l),w.href=l.url,w.protocol&&w.protocol!==":"?(l.protocol=w.protocol,l.host=w.host,l.baseUrl=w.protocol+"//"+w.host):(l.protocol=t.document.location.protocol,l.host=t.document.location.host,l.baseUrl=l.protocol+"//"+l.host),l.wsProtocol=l.protocol==="https:"?"wss://":"ws://",a.transport==="auto"&&a.jsonp===!0&&(a.transport="longPolling"),l.url.indexOf("//")===0&&(l.url=t.location.protocol+l.url,l.log("Protocol relative URL detected, normalizing it to '"+l.url+"'.")),this.isCrossDomain(l.url)&&(l.log("Auto detected cross domain url."),a.transport==="auto"&&(a.transport=["webSockets","serverSentEvents","longPolling"]),typeof a.withCredentials=="undefined"&&(a.withCredentials=!0),a.jsonp||(a.jsonp=!n.support.cors,a.jsonp&&l.log("Using jsonp because this browser doesn't support CORS.")),l.contentType=r._.defaultContentType),l.withCredentials=a.withCredentials,l.ajaxDataType=a.jsonp?"jsonp":"text",n(l).bind(u.onStart,function(){n.type(h)==="function"&&h.call(l);v.resolve(l)}),k=function(i,s){var y=r._.error(f.noTransportOnInit);if(s=s||0,s>=i.length){n(l).triggerHandler(u.onError,[y]);v.reject(y);l.stop();return}if(l.state!==r.connectionState.disconnected){var p=i[s],h=r.transports[p],c=!1,a=function(){c||(c=!0,t.clearTimeout(l._.onFailedTimeoutHandle),h.stop(l),k(i,s+1))};l.transport=h;try{l._.onFailedTimeoutHandle=t.setTimeout(function(){l.log(h.name+" timed out when trying to connect.");a()},l._.totalTransportConnectTimeout);h.start(l,function(){var i=r._.firefoxMajorVersion(t.navigator.userAgent)>=11,f=!!l.withCredentials&&i;l.state!==r.connectionState.disconnected&&(c||(c=!0,t.clearTimeout(l._.onFailedTimeoutHandle),h.supportsKeepAlive&&l._.keepAliveData.activated&&r.transports._logic.monitorKeepAlive(l),r.transports._logic.startHeartbeat(l),r._.configurePingInterval(l),o(l,r.connectionState.connecting,r.connectionState.connected),l._.connectingMessageBuffer.drain(),n(l).triggerHandler(u.onStart),e.bind("unload",function(){l.log("Window unloading, stopping the connection.");l.stop(f)}),i&&e.bind("beforeunload",function(){t.setTimeout(function(){l.stop(f)},0)})))},a)}catch(w){l.log(h.name+" transport threw '"+w.message+"' when attempting to start.");a()}}},b=l.url+"/negotiate",d=function(t,i){var e=r._.error(f.errorOnNegotiate,t,i._.negotiateRequest);n(i).triggerHandler(u.onError,e);v.reject(e);i.stop()},n(l).triggerHandler(u.onStarting),b=r.transports._logic.prepareQueryString(l,b),b=r.transports._logic.addQs(b,{clientProtocol:l.clientProtocol}),l.log("Negotiating with '"+b+"'."),l._.negotiateRequest=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:l.withCredentials},url:b,type:"GET",contentType:l.contentType,data:{},dataType:l.ajaxDataType,error:function(n,t){t!==c?d(n,l):v.reject(r._.error(f.stoppedWhileNegotiating,null,l._.negotiateRequest))},success:function(t){var i,e,h,o=[],s=[];try{i=l._parseResponse(t)}catch(c){d(r._.error(f.errorParsingNegotiateResponse,c),l);return}if(e=l._.keepAliveData,l.appRelativeUrl=i.Url,l.id=i.ConnectionId,l.token=i.ConnectionToken,l.webSocketServerUrl=i.WebSocketServerUrl,l.disconnectTimeout=i.DisconnectTimeout*1e3,l._.totalTransportConnectTimeout=l.transportConnectTimeout+i.TransportConnectTimeout*1e3,i.KeepAliveTimeout?(e.activated=!0,e.timeout=i.KeepAliveTimeout*1e3,e.timeoutWarning=e.timeout*l.keepAliveWarnAt,l._.beatInterval=(e.timeout-e.timeoutWarning)/3):e.activated=!1,l.reconnectWindow=l.disconnectTimeout+(e.timeout||0),!i.ProtocolVersion||i.ProtocolVersion!==l.clientProtocol){h=r._.error(r._.format(f.protocolIncompatible,l.clientProtocol,i.ProtocolVersion));n(l).triggerHandler(u.onError,[h]);v.reject(h);return}n.each(r.transports,function(n){if(n.indexOf("_")===0||n==="webSockets"&&!i.TryWebSockets)return!0;s.push(n)});n.isArray(a.transport)?n.each(a.transport,function(t,i){n.inArray(i,s)>=0&&o.push(i)}):a.transport==="auto"?o=s:n.inArray(a.transport,s)>=0&&o.push(a.transport);k(o)}})),v.promise())},starting:function(t){var i=this;return n(i).bind(u.onStarting,function(){t.call(i)}),i},send:function(n){var t=this;if(t.state===r.connectionState.disconnected)throw new Error("SignalR: Connection must be started before data can be sent. Call .start() before .send()");if(t.state===r.connectionState.connecting)throw new Error("SignalR: Connection has not been fully initialized. Use .start().done() or .start().fail() to run logic after the connection has started.");return t.transport.send(t,n),t},received:function(t){var i=this;return n(i).bind(u.onReceived,function(n,r){t.call(i,r)}),i},stateChanged:function(t){var i=this;return n(i).bind(u.onStateChanged,function(n,r){t.call(i,r)}),i},error:function(t){var i=this;return n(i).bind(u.onError,function(n,r,u){t.call(i,r,u)}),i},disconnected:function(t){var i=this;return n(i).bind(u.onDisconnect,function(){t.call(i)}),i},connectionSlow:function(t){var i=this;return n(i).bind(u.onConnectionSlow,function(){t.call(i)}),i},reconnecting:function(t){var i=this;return n(i).bind(u.onReconnecting,function(){t.call(i)}),i},reconnected:function(t){var i=this;return n(i).bind(u.onReconnect,function(){t.call(i)}),i},stop:function(i,h){var l=this,a=l._deferral;if(l._.deferredStartHandler&&e.unbind("load",l._.deferredStartHandler),delete l._deferral,delete l._.config,delete l._.deferredStartHandler,!s&&(!l._.config||l._.config.waitForPageLoad===!0)){l.log("Stopping connection prior to negotiate.");a&&a.reject(r._.error(f.stoppedWhileLoading));return}if(l.state!==r.connectionState.disconnected)return l.log("Stopping connection."),o(l,l.state,r.connectionState.disconnected),t.clearTimeout(l._.beatHandle),t.clearTimeout(l._.onFailedTimeoutHandle),t.clearInterval(l._.pingIntervalId),l.transport&&(l.transport.stop(l),h!==!1&&l.transport.abort(l,i),l.transport.supportsKeepAlive&&l._.keepAliveData.activated&&r.transports._logic.stopMonitoringKeepAlive(l),l.transport=null),l._.negotiateRequest&&(l._.negotiateRequest.abort(c),delete l._.negotiateRequest),n(l).triggerHandler(u.onDisconnect),delete l.messageId,delete l.groupsToken,delete l.id,delete l._.pingIntervalId,delete l._.lastMessageAt,delete l._.lastActiveAt,l._.connectingMessageBuffer.clear(),l},log:function(n){a(n,this.logging)}};r.fn.init.prototype=r.fn;r.noConflict=function(){return n.connection===r&&(n.connection=h),r};n.connection&&(h=n.connection);n.connection=n.signalR=r})(window.jQuery,window),function(n,t){"use strict";function f(n){n._.keepAliveData.monitoring&&o(n);r.markActive(n)&&(n._.beatHandle=t.setTimeout(function(){f(n)},n._.beatInterval))}function o(t){var r=t._.keepAliveData,f;t.state===i.connectionState.connected&&(f=(new Date).getTime()-t._.lastMessageAt,f>=r.timeout?(t.log("Keep alive timed out. Notifying transport that connection has been lost."),t.transport.lostConnection(t)):f>=r.timeoutWarning?r.userNotified||(t.log("Keep alive has been missed, connection may be dead/slow."),n(t).triggerHandler(u.onConnectionSlow),r.userNotified=!0):r.userNotified=!1)}function s(n,i){var r=n.indexOf("?")!==-1?"&":"?";return i&&(n+=r+"connectionData="+t.encodeURIComponent(i)),n}var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,r;i.transports={};r=i.transports._logic={pingServer:function(t){var e,u=n.Deferred(),f;return t.transport?(e=t.url+"/ping",e=r.addQs(e,t.qs),f=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:t.withCredentials},url:e,type:"GET",contentType:t.contentType,data:{},dataType:t.ajaxDataType,success:function(n){var r;try{r=t._parseResponse(n)}catch(e){u.reject(i._.transportError(i.resources.pingServerFailedParse,t.transport,e,f));t.stop();return}r.Response==="pong"?u.resolve():u.reject(i._.transportError(i._.format(i.resources.pingServerFailedInvalidResponse,n.responseText),t.transport,null,f))},error:function(n){n.status===401||n.status===403?(u.reject(i._.transportError(i._.format(i.resources.pingServerFailedStatusCode,n.status),t.transport,n,f)),t.stop()):u.reject(i._.transportError(i.resources.pingServerFailed,t.transport,n,f))}}))):u.reject(i._.transportError(i.resources.noConnectionTransport,t.transport)),u.promise()},prepareQueryString:function(n,t){return t=r.addQs(t,n.qs),s(t,n.data)},addQs:function(t,i){var r=t.indexOf("?")!==-1?"&":"?",u;if(!i)return t;if(typeof i=="object")return t+r+n.param(i);if(typeof i=="string")return u=i.charAt(0),(u==="?"||u==="&")&&(r=""),t+r+i;throw new Error("Query string property must be either a string or object.");},getUrl:function(n,i,u,f){var s=i==="webSockets"?"":n.baseUrl,e=s+n.appRelativeUrl,o="transport="+i+"&connectionToken="+t.encodeURIComponent(n.token);return n.groupsToken&&(o+="&groupsToken="+t.encodeURIComponent(n.groupsToken)),u?(e+=f?"/poll":"/reconnect",n.messageId&&(o+="&messageId="+t.encodeURIComponent(n.messageId))):e+="/connect",e+="?"+o,e=r.prepareQueryString(n,e),e+("&tid="+Math.floor(Math.random()*11))},maximizePersistentResponse:function(n){return{MessageId:n.C,Messages:n.M,Initialized:typeof n.S!="undefined"?!0:!1,Disconnect:typeof n.D!="undefined"?!0:!1,ShouldReconnect:typeof n.T!="undefined"?!0:!1,LongPollDelay:n.L,GroupsToken:n.G}},updateGroups:function(n,t){t&&(n.groupsToken=t)},stringifySend:function(n,t){return typeof t=="string"||typeof t=="undefined"||t===null?t:n.json.stringify(t)},ajaxSend:function(f,e){var c=r.stringifySend(f,e),o=f.url+"/send?transport="+f.transport.name+"&connectionToken="+t.encodeURIComponent(f.token),s,h=function(t,r){n(r).triggerHandler(u.onError,[i._.transportError(i.resources.sendFailed,r.transport,t,s),e])};return o=r.prepareQueryString(f,o),s=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:f.withCredentials},url:o,type:f.ajaxDataType==="jsonp"?"GET":"POST",contentType:i._.defaultContentType,dataType:f.ajaxDataType,data:{data:c},success:function(n){var t;if(n){try{t=f._parseResponse(n)}catch(i){h(i,f);f.stop();return}r.triggerReceived(f,t)}},error:function(n,t){t!=="abort"&&t!=="parsererror"&&h(n,f)}}))},ajaxAbort:function(i,u){if(typeof i.transport!="undefined"){u=typeof u=="undefined"?!0:u;var f=i.url+"/abort?transport="+i.transport.name+"&connectionToken="+t.encodeURIComponent(i.token);f=r.prepareQueryString(i,f);n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:i.withCredentials},url:f,async:u,timeout:1e3,type:"POST",contentType:i.contentType,dataType:i.ajaxDataType,data:{}}));i.log("Fired ajax abort async = "+u+".")}},tryInitialize:function(n,t){n.Initialized&&t()},triggerReceived:function(t,i){t._.connectingMessageBuffer.tryBuffer(i)||n(t).triggerHandler(u.onReceived,[i])},processMessages:function(t,i,u){var f;if(r.markLastMessage(t),i){if(f=r.maximizePersistentResponse(i),f.Disconnect){t.log("Disconnect command received from server.");t.stop(!1,!1);return}r.updateGroups(t,f.GroupsToken);f.MessageId&&(t.messageId=f.MessageId);f.Messages&&(n.each(f.Messages,function(n,i){r.triggerReceived(t,i)}),r.tryInitialize(f,u))}},monitorKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring?t.log("Tried to monitor keep alive but it's already being monitored."):(i.monitoring=!0,r.markLastMessage(t),t._.keepAliveData.reconnectKeepAliveUpdate=function(){r.markLastMessage(t)},n(t).bind(u.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t.log("Now monitoring keep alive with a warning timeout of "+i.timeoutWarning+" and a connection lost timeout of "+i.timeout+"."))},stopMonitoringKeepAlive:function(t){var i=t._.keepAliveData;i.monitoring&&(i.monitoring=!1,n(t).unbind(u.onReconnect,t._.keepAliveData.reconnectKeepAliveUpdate),t._.keepAliveData={},t.log("Stopping the monitoring of the keep alive."))},startHeartbeat:function(n){n._.lastActiveAt=(new Date).getTime();f(n)},markLastMessage:function(n){n._.lastMessageAt=(new Date).getTime()},markActive:function(n){return r.verifyLastActive(n)?(n._.lastActiveAt=(new Date).getTime(),!0):!1},isConnectedOrReconnecting:function(n){return n.state===i.connectionState.connected||n.state===i.connectionState.reconnecting},ensureReconnectingState:function(t){return e(t,i.connectionState.connected,i.connectionState.reconnecting)===!0&&n(t).triggerHandler(u.onReconnecting),t.state===i.connectionState.reconnecting},clearReconnectTimeout:function(n){n&&n._.reconnectTimeout&&(t.clearTimeout(n._.reconnectTimeout),delete n._.reconnectTimeout)},verifyLastActive:function(n){return(new Date).getTime()-n._.lastActiveAt>=n.reconnectWindow?(n.log("There has not been an active server connection for an extended period of time. Stopping connection."),n.stop(),!1):!0},reconnect:function(n,u){var f=i.transports[u];if(r.isConnectedOrReconnecting(n)&&!n._.reconnectTimeout){if(!r.verifyLastActive(n))return;n._.reconnectTimeout=t.setTimeout(function(){r.verifyLastActive(n)&&(f.stop(n),r.ensureReconnectingState(n)&&(n.log(u+" reconnecting."),f.start(n)))},n.reconnectDelay)}},handleParseFailure:function(t,r,f,e,o){t.state===i.connectionState.connecting?(t.log("Failed to parse server response while attempting to connect."),e()):(n(t).triggerHandler(u.onError,[i._.transportError(i._.format(i.resources.parseFailed,r),t.transport,f,o)]),t.stop())},foreverFrame:{count:0,connections:{}}}}(window.jQuery,window),function(n,t){"use strict";var r=n.signalR,u=n.signalR.events,f=n.signalR.changeState,i=r.transports._logic;r.transports.webSockets={name:"webSockets",supportsKeepAlive:!0,send:function(t,f){var e=i.stringifySend(t,f);try{t.socket.send(e)}catch(o){n(t).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketsInvalidState,t.transport,o,t.socket),f])}},start:function(e,o,s){var h,c=!1,l=this,a=!o,v=n(e);if(!t.WebSocket){s();return}e.socket||(h=e.webSocketServerUrl?e.webSocketServerUrl:e.wsProtocol+e.host,h+=i.getUrl(e,this.name,a),e.log("Connecting to websocket endpoint '"+h+"'."),e.socket=new t.WebSocket(h),e.socket.onopen=function(){c=!0;e.log("Websocket opened.");i.clearReconnectTimeout(e);f(e,r.connectionState.reconnecting,r.connectionState.connected)===!0&&v.triggerHandler(u.onReconnect)},e.socket.onclose=function(t){if(this===e.socket){if(c)typeof t.wasClean!="undefined"&&t.wasClean===!1?(n(e).triggerHandler(u.onError,[r._.transportError(r.resources.webSocketClosed,e.transport,t)]),e.log("Unclean disconnect from websocket: "+t.reason||"[no reason given].")):e.log("Websocket closed.");else{s?s():a&&l.reconnect(e);return}l.reconnect(e)}},e.socket.onmessage=function(t){var r;try{r=e._parseResponse(t.data)}catch(u){i.handleParseFailure(e,t.data,u,s,t);return}r&&(n.isEmptyObject(r)||r.M?i.processMessages(e,r,o):i.triggerReceived(e,r))})},reconnect:function(n){i.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},stop:function(n){i.clearReconnectTimeout(n);n.socket&&(n.log("Closing the Websocket."),n.socket.close(),n.socket=null)},abort:function(n,t){i.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){"use strict";var i=n.signalR,u=n.signalR.events,f=n.signalR.changeState,r=i.transports._logic;i.transports.serverSentEvents={name:"serverSentEvents",supportsKeepAlive:!0,timeOut:3e3,start:function(e,o,s){var h=this,c=!1,l=n(e),a=!o,v,y;if(e.eventSource&&(e.log("The connection already has an event source. Stopping it."),e.stop()),!t.EventSource){s&&(e.log("This browser doesn't support SSE."),s());return}v=r.getUrl(e,this.name,a);try{e.log("Attempting to connect to SSE endpoint '"+v+"'.");e.eventSource=new t.EventSource(v,{withCredentials:e.withCredentials})}catch(p){e.log("EventSource failed trying to connect with error "+p.Message+".");s?s():(l.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceFailedToConnect,e.transport,p)]),a&&h.reconnect(e));return}a&&(y=t.setTimeout(function(){c===!1&&e.eventSource.readyState!==t.EventSource.OPEN&&h.reconnect(e)},h.timeOut));e.eventSource.addEventListener("open",function(){e.log("EventSource connected.");y&&t.clearTimeout(y);r.clearReconnectTimeout(e);c===!1&&(c=!0,f(e,i.connectionState.reconnecting,i.connectionState.connected)===!0&&l.triggerHandler(u.onReconnect))},!1);e.eventSource.addEventListener("message",function(n){var t;if(n.data!=="initialized"){try{t=e._parseResponse(n.data)}catch(i){r.handleParseFailure(e,n.data,i,s,n);return}r.processMessages(e,t,o)}},!1);e.eventSource.addEventListener("error",function(n){if(this===e.eventSource){if(!c){s&&s();return}e.log("EventSource readyState: "+e.eventSource.readyState+".");n.eventPhase===t.EventSource.CLOSED?(e.log("EventSource reconnecting due to the server connection ending."),h.reconnect(e)):(e.log("EventSource error."),l.triggerHandler(u.onError,[i._.transportError(i.resources.eventSourceError,e.transport,n)]))}},!1)},reconnect:function(n){r.reconnect(n,this.name)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){r.clearReconnectTimeout(n);n&&n.eventSource&&(n.log("EventSource calling close()."),n.eventSource.close(),n.eventSource=null,delete n.eventSource)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n,t){"use strict";var r=n.signalR,e=n.signalR.events,o=n.signalR.changeState,i=r.transports._logic,u=function(){var n=t.document.createElement("iframe");return n.setAttribute("style","position:absolute;top:0;left:0;width:0;height:0;visibility:hidden;"),n},f=function(){var i=null,f=1e3,n=0;return{prevent:function(){r._.ieVersion<=8&&(n===0&&(i=t.setInterval(function(){var n=u();t.document.body.appendChild(n);t.document.body.removeChild(n);n=null},f)),n++)},cancel:function(){n===1&&t.clearInterval(i);n>0&&n--}}}();r.transports.foreverFrame={name:"foreverFrame",supportsKeepAlive:!0,iframeClearThreshold:50,start:function(n,r,e){var l=this,s=i.foreverFrame.count+=1,h,o=u(),c=function(){n.log("Forever frame iframe finished loading and is no longer receiving messages.");l.reconnect(n)};if(t.EventSource){e&&(n.log("This browser supports SSE, skipping Forever Frame."),e());return}o.setAttribute("data-signalr-connection-id",n.id);f.prevent();h=i.getUrl(n,this.name);h+="&frameId="+s;t.document.body.appendChild(o);n.log("Binding to iframe's load event.");o.addEventListener?o.addEventListener("load",c,!1):o.attachEvent&&o.attachEvent("onload",c);o.src=h;i.foreverFrame.connections[s]=n;n.frame=o;n.frameId=s;r&&(n.onSuccess=function(){n.log("Iframe transport started.");r()})},reconnect:function(n){var r=this;i.isConnectedOrReconnecting(n)&&i.verifyLastActive(n)&&t.setTimeout(function(){if(i.verifyLastActive(n)&&n.frame&&i.ensureReconnectingState(n)){var u=n.frame,t=i.getUrl(n,r.name,!0)+"&frameId="+n.frameId;n.log("Updating iframe src to '"+t+"'.");u.src=t}},n.reconnectDelay)},lostConnection:function(n){this.reconnect(n)},send:function(n,t){i.ajaxSend(n,t)},receive:function(t,u){var f,e;if(i.processMessages(t,u,t.onSuccess),t.state===n.signalR.connectionState.connected&&(t.frameMessageCount=(t.frameMessageCount||0)+1,t.frameMessageCount>r.transports.foreverFrame.iframeClearThreshold&&(t.frameMessageCount=0,f=t.frame.contentWindow||t.frame.contentDocument,f&&f.document&&f.document.body)))for(e=f.document.body;e.firstChild;)e.removeChild(e.firstChild)},stop:function(n){var r=null;if(f.cancel(),n.frame){if(n.frame.stop)n.frame.stop();else try{r=n.frame.contentWindow||n.frame.contentDocument;r.document&&r.document.execCommand&&r.document.execCommand("Stop")}catch(u){n.log("Error occured when stopping foreverFrame transport. Message = "+u.message+".")}n.frame.parentNode===t.document.body&&t.document.body.removeChild(n.frame);delete i.foreverFrame.connections[n.frameId];n.frame=null;n.frameId=null;delete n.frame;delete n.frameId;delete n.onSuccess;delete n.frameMessageCount;n.log("Stopping forever frame.")}},abort:function(n,t){i.ajaxAbort(n,t)},getConnection:function(n){return i.foreverFrame.connections[n]},started:function(t){o(t,r.connectionState.reconnecting,r.connectionState.connected)===!0&&n(t).triggerHandler(e.onReconnect)}}}(window.jQuery,window),function(n,t){"use strict";var i=n.signalR,u=n.signalR.events,e=n.signalR.changeState,f=n.signalR.isDisconnecting,r=i.transports._logic;i.transports.longPolling={name:"longPolling",supportsKeepAlive:!1,reconnectDelay:3e3,start:function(o,s,h){var a=this,v=function(){v=n.noop;o.log("LongPolling connected.");s();h=null},y=function(){return h?(h(),h=null,o.log("LongPolling failed to connect."),!0):!1},c=o._,l=0,p=function(r){t.clearTimeout(c.reconnectTimeoutId);c.reconnectTimeoutId=null;e(r,i.connectionState.reconnecting,i.connectionState.connected)===!0&&(r.log("Raising the reconnect event"),n(r).triggerHandler(u.onReconnect))},w=36e5;o.pollXhr&&(o.log("Polling xhr requests already exists, aborting."),o.stop());o.messageId=null;c.reconnectTimeoutId=null;c.pollTimeoutId=t.setTimeout(function(){(function e(s,h){var d=s.messageId,g=d===null,b=!g,nt=!h,k=r.getUrl(s,a.name,b,nt);f(s)!==!0&&(o.log("Opening long polling request to '"+k+"'."),s.pollXhr=n.ajax(n.extend({},n.signalR.ajaxDefaults,{xhrFields:{withCredentials:o.withCredentials},url:k,type:"GET",dataType:o.ajaxDataType,contentType:o.contentType,success:function(i){var h,w=0,u,a;o.log("Long poll complete.");l=0;try{h=o._parseResponse(i)}catch(b){r.handleParseFailure(s,i,b,y,s.pollXhr);return}(c.reconnectTimeoutId!==null&&p(s),h&&(u=r.maximizePersistentResponse(h)),r.processMessages(s,h,v),u&&n.type(u.LongPollDelay)==="number"&&(w=u.LongPollDelay),u&&u.Disconnect)||f(s)!==!0&&(a=u&&u.ShouldReconnect,!a||r.ensureReconnectingState(s))&&(w>0?c.pollTimeoutId=t.setTimeout(function(){e(s,a)},w):e(s,a))},error:function(f,h){if(t.clearTimeout(c.reconnectTimeoutId),c.reconnectTimeoutId=null,h==="abort"){o.log("Aborted xhr request.");return}if(!y()){if(l++,o.state!==i.connectionState.reconnecting&&(o.log("An error occurred using longPolling. Status = "+h+". Response = "+f.responseText+"."),n(s).triggerHandler(u.onError,[i._.transportError(i.resources.longPollFailed,o.transport,f,s.pollXhr)])),(o.state===i.connectionState.connected||o.state===i.connectionState.reconnecting)&&!r.verifyLastActive(o))return;if(!r.ensureReconnectingState(s))return;c.pollTimeoutId=t.setTimeout(function(){e(s,!0)},a.reconnectDelay)}}})),b&&h===!0&&(c.reconnectTimeoutId=t.setTimeout(function(){p(s)},Math.min(1e3*(Math.pow(2,l)-1),w))))})(o)},250)},lostConnection:function(){throw new Error("Lost Connection not handled for LongPolling");},send:function(n,t){r.ajaxSend(n,t)},stop:function(n){t.clearTimeout(n._.pollTimeoutId);t.clearTimeout(n._.reconnectTimeoutId);delete n._.pollTimeoutId;delete n._.reconnectTimeoutId;n.pollXhr&&(n.pollXhr.abort(),n.pollXhr=null,delete n.pollXhr)},abort:function(n,t){r.ajaxAbort(n,t)}}}(window.jQuery,window),function(n){"use strict";function r(n){return n+e}function s(n,t,i){for(var f=n.length,u=[],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 rp@aFqe-Zw@`@b#fDN9+Fq+n3~M literal 0 HcmV?d00001 diff --git a/packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.XML b/packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.XML new file mode 100644 index 00000000..6bb82b21 --- /dev/null +++ b/packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.XML @@ -0,0 +1,115 @@ + + + + Microsoft.AspNet.SignalR.SystemWeb + + + + + Returns the for this . + + The request + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The type of . + The name of the route. + path of the route. + The registered route. + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The type of . + The name of the route. + path of the route. + Configuration options. + The registered route. + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The type of . + The name of the route. + path of the route. + Configuration options. + An action to further configure the OWIN pipeline. + The registered route + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The name of the route. + path of the route. + The type of . + Configuration options. + The registered route + + + + Maps a with the default dependency resolver to the specified path. + + The route table. + The name of the route. + path of the route. + The type of . + Configuration options. + An action to further configure the OWIN pipeline. + The registered route. + + + + Initializes the default hub route (/signalr). + + The route table. + The registered route. + + + + Initializes the default hub route (/signalr). + + The route table. + Configuration options. + The registered route. + + + + Initializes the hub route using specified configuration. + + The route table. + The path of the hubs route. + Configuration options. + The registered route. + + + + Initializes the hub route using specified configuration. + + The route table. + The path of the hubs route. + Configuration options. + An action to further configure the OWIN pipeline. + The registered route. + + + + Initializes the hub route using specified configuration. + + The route table. + The name of the route. + The path of the hubs route. + Configuration options. + + The registered route. + + + diff --git a/packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.dll b/packages/Microsoft.AspNet.SignalR.SystemWeb.2.0.3/lib/net45/Microsoft.AspNet.SignalR.SystemWeb.dll new file mode 100644 index 0000000000000000000000000000000000000000..d5671367b85bf02e1bc4357e9fa1daea043b00df GIT binary patch literal 14008 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.XML b/packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.XML new file mode 100644 index 00000000..ab7df591 --- /dev/null +++ b/packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.XML @@ -0,0 +1,3157 @@ + + + + Microsoft.Owin + + + +

+ Extension methods for . + + + + + Inserts a middleware into the OWIN pipeline. + + The middleware type + + Any additional arguments for the middleware constructor + + + + + Inserts into the OWIN pipeline a middleware which does not have a next middleware reference. + + + An app that handles all requests + + + + Inserts a middleware into the OWIN pipeline. + + + An app that handles the request or calls the given next Func + + + + + Represents a middleware for executing in-line function middleware. + + + + + Initializes a new instance of the class. + + The pointer to next middleware. + A function that handles all requests. + + + + Initializes a new instance of the class. + + The pointer to next middleware. + A function that handles the request or calls the given next function. + + + + Invokes the handler for processing the request. + + The OWIN context. + The object that represents the request operation. + + + + Contains the parsed form values. + + + + + Accessors for query, forms, etc. + + + + + Accessors for headers, query, forms, etc. + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Create a new wrapper + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + + + + + + + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Contains the parsed form values. + + + + + Initializes a new instance of the class. + + The store for the form. + + + + Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders. + + + + + Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders. + + + + + Get the associated values from the collection separated into individual values. + Quoted values will not be split, and the quotes will be removed. + + The header name. + the associated values from the collection separated into individual values, or null if the key is not present. + + + + Add a new value. Appends to the header if already present + + The header name. + The header value. + + + + Add new values. Each item remains a separate array entry. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values with any existing values. + + The header name. + The header values. + + + + Sets a specific header value. + + The header name. + The header value. + + + + Sets the specified header values without modification. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values. + + The header name. + The header values. + + + + Get or sets the associated value from the collection as a single string. + + The header name. + the associated value from the collection as a single string or null if the key is not present. + + + + Initializes a new instance of the class. + + The underlying data store. + + + + Returns an enumerator that iterates through a collection. + + An object that can be used to iterate through the collection. + + + + Returns an enumerator that iterates through a collection. + + An object that can be used to iterate through the collection. + + + + Get the associated value from the collection as a single string. + + The header name. + the associated value from the collection as a single string or null if the key is not present. + + + + Get the associated values from the collection without modification. + + The header name. + the associated value from the collection without modification, or null if the key is not present. + + + + Get the associated values from the collection separated into individual values. + Quoted values will not be split, and the quotes will be removed. + + The header name. + the associated values from the collection separated into individual values, or null if the key is not present. + + + + Add a new value. Appends to the header if already present + + The header name. + The header value. + + + + Add new values. Each item remains a separate array entry. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values with any existing values. + + The header name. + The header values. + + + + Sets a specific header value. + + The header name. + The header value. + + + + Sets the specified header values without modification. + + The header name. + The header values. + + + + Quotes any values containing comas, and then coma joins all of the values. + + The header name. + The header values. + + + + Adds the given header and values to the collection. + + The header name. + The header values. + + + + Determines whether the contains a specific key. + + The key. + true if the contains a specific key; otherwise, false. + + + + Removes the given header from the collection. + + The header name. + true if the specified object was removed from the collection; otherwise, false. + + + + Retrieves a value from the dictionary. + + The header name. + The value. + true if the contains the key; otherwise, false. + + + + Adds a new list of items to the collection. + + The item to add. + + + + Clears the entire list of objects. + + + + + Returns a value indicating whether the specified object occurs within this collection. + + The item. + true if the specified object occurs within this collection; otherwise, false. + + + + Copies the elements to a one-dimensional Array instance at the specified index. + + The one-dimensional Array that is the destination of the specified objects copied from the . + The zero-based index in at which copying begins. + + + + Removes the given item from the the collection. + + The item. + true if the specified object was removed from the collection; otherwise, false. + + + + Gets an that contains the keys in the ;. + + An that contains the keys in the . + + + + + + + + + Gets the number of elements contained in the ;. + + The number of elements contained in the . + + + + Gets a value that indicates whether the is in read-only mode. + + true if the is in read-only mode; otherwise, false. + + + + Get or sets the associated value from the collection as a single string. + + The header name. + the associated value from the collection as a single string or null if the key is not present. + + + + Throws KeyNotFoundException if the key is not present. + + The header name. + + + + + Represents the host portion of a Uri can be used to construct Uri's properly formatted and encoded for use in + HTTP headers. + + + + + Creates a new HostString without modification. The value should be Unicode rather than punycode, and may have a port. + IPv4 and IPv6 addresses are also allowed, and also may have ports. + + + + + + Returns the value as normalized by ToUriComponent(). + + + + + + Returns the value properly formatted and encoded for use in a URI in a HTTP header. + Any Unicode is converted to punycode. IPv6 addresses will have brackets added if they are missing. + + + + + + Creates a new HostString from the given uri component. + Any punycode will be converted to Unicode. + + + + + + + Creates a new HostString from the host and port of the give Uri instance. + Punycode will be converted to Unicode. + + + + + + + Compares the equality of the Value property, ignoring case. + + + + + + + Compares against the given object only if it is a HostString. + + + + + + + Gets a hash code for the value. + + + + + + Compares the two instances for equality. + + + + + + + + Compares the two instances for inequality. + + + + + + + + Returns the original value from the constructor. + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets a wrapper exposing request specific properties. + + A wrapper exposing request specific properties. + + + + Gets a wrapper exposing response specific properties. + + A wrapper exposing response specific properties. + + + + Gets the Authentication middleware functionality available on the current request. + + The authentication middleware functionality available on the current request. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets or sets the host.TraceOutput environment value. + + The host.TraceOutput TextWriter. + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Asynchronously reads and parses the request body as a form. + + The parsed form data. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or set the HTTP method. + + The HTTP method. + + + + Gets or set the HTTP request scheme from owin.RequestScheme. + + The HTTP request scheme from owin.RequestScheme. + + + + Returns true if the owin.RequestScheme is https. + + true if this request is using https; otherwise, false. + + + + Gets or set the Host header. May include the port. + + The Host header. + + + + Gets or set the owin.RequestPathBase. + + The owin.RequestPathBase. + + + + Gets or set the request path from owin.RequestPath. + + The request path from owin.RequestPath. + + + + Gets or set the query string from owin.RequestQueryString. + + The query string from owin.RequestQueryString. + + + + Gets the query value collection parsed from owin.RequestQueryString. + + The query value collection parsed from owin.RequestQueryString. + + + + Gets the uniform resource identifier (URI) associated with the request. + + The uniform resource identifier (URI) associated with the request. + + + + Gets or set the owin.RequestProtocol. + + The owin.RequestProtocol. + + + + Gets the request headers. + + The request headers. + + + + Gets the collection of Cookies for this request. + + The collection of Cookies for this request. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Cache-Control header. + + The Cache-Control header. + + + + Gets or sets the Media-Type header. + + The Media-Type header. + + + + Gets or set the Accept header. + + The Accept header. + + + + Gets or set the owin.RequestBody Stream. + + The owin.RequestBody Stream. + + + + Gets or sets the cancellation token for the request. + + The cancellation token for the request. + + + + Gets or set the server.LocalIpAddress. + + The server.LocalIpAddress. + + + + Gets or set the server.LocalPort. + + The server.LocalPort. + + + + Gets or set the server.RemoteIpAddress. + + The server.RemoteIpAddress. + + + + Gets or set the server.RemotePort. + + The server.RemotePort. + + + + Gets or set the server.User. + + The server.User. + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Registers for an event that fires when the response headers are sent. + + The callback method. + The callback state. + + + + Sets a 302 response status code and the Location header. + + The location where to redirect the client. + + + + Writes the given text to the response body stream using UTF-8. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or sets the optional owin.ResponseStatusCode. + + The optional owin.ResponseStatusCode, or 200 if not set. + + + + Gets or sets the the optional owin.ResponseReasonPhrase. + + The the optional owin.ResponseReasonPhrase. + + + + Gets or sets the owin.ResponseProtocol. + + The owin.ResponseProtocol. + + + + Gets the response header collection. + + The response header collection. + + + + Gets a collection used to manipulate the Set-Cookie header. + + A collection used to manipulate the Set-Cookie header. + + + + Gets or sets the Content-Length header. + + The Content-Length header. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Expires header. + + The Expires header. + + + + Gets or sets the E-Tag header. + + The E-Tag header. + + + + Gets or sets the owin.ResponseBody Stream. + + The owin.ResponseBody Stream. + + + + Used to mark which class in an assembly should be used for automatic startup. + + + + + Initializes a new instance of the class + + The startup class + + + + Initializes a new instance of the class + + A non-default configuration, e.g. staging. + The startup class + + + + Initializes a new instance of the class + + The startup class + Specifies which method to call + + + + Initializes a new instance of the class + + A non-default configuration, e.g. staging. + The startup class + Specifies which method to call + + + + A non-default configuration if any. e.g. Staging. + + + + + The startup class + + + + + The name of the configuration method + + + + + An ordered list of known Asp.Net integrated pipeline stages. More details on the ASP.NET integrated pipeline can be found at http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx + + + + + Corresponds to the AuthenticateRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostAuthenticateRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the AuthorizeRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostAuthorizeRequest stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the ResolveRequestCache stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostResolveRequestCache stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the MapRequestHandler stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostMapRequestHandler stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the AcquireRequestState stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PostAcquireRequestState stage of the ASP.NET integrated pipeline. + + + + + Corresponds to the PreRequestHandlerExecute stage of the ASP.NET integrated pipeline. + + + + + Extension methods for the MapMiddleware + + + + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of + continuing to the next component in the pipeline. + + + The path to match + The branch to take for positive path matches + + + + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of + continuing to the next component in the pipeline. + + + The path to match + The branch to take for positive path matches + + + + + Used to create path based branches in your application pipeline. + The owin.RequestPathBase is not included in the evaluation, only owin.RequestPath. + Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase. + + + + + Initializes a new instance of the class + + The normal pipeline taken for a negative match + + + + + Process an individual request. + + + + + + + Options for the Map middleware + + + + + The path to match + + + + + The branch taken for a positive match + + + + + Extension methods for the MapWhenMiddleware + + + + + Branches the request pipeline based on the result of the given predicate. + + + Invoked with the request environment to determine if the branch should be taken + Configures a branch to take + + + + + Branches the request pipeline based on the async result of the given predicate. + + + Invoked asynchronously with the request environment to determine if the branch should be taken + Configures a branch to take + + + + + Determines if the request should take a specific branch of the pipeline by passing the environment + to a user defined callback. + + + + + Initializes a new instance of the class + + The normal application pipeline + + + + + Process an individual request. + + + + + + + Options for the MapWhen middleware + + + + + The user callback that determines if the branch should be taken + + + + + The async user callback that determines if the branch should be taken + + + + + The branch taken for a positive match + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Create a new wrapper. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets a wrapper exposing request specific properties. + + A wrapper exposing request specific properties. + + + + Gets a wrapper exposing response specific properties. + + A wrapper exposing response specific properties. + + + + Gets the Authentication middleware functionality available on the current request. + + The authentication middleware functionality available on the current request. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets or sets the host.TraceOutput environment value. + + The host.TraceOutput TextWriter. + + + + Provides correct escaping for Path and PathBase values when needed to reconstruct a request or redirect URI string + + + + + Represents the empty path. This field is read-only. + + + + + Initialize the path string with a given value. This value must be in un-escaped format. Use + PathString.FromUriComponent(value) if you have a path value which is in an escaped format. + + The unescaped path to be assigned to the Value property. + + + + Provides the path string escaped in a way which is correct for combining into the URI representation. + + The escaped path value + + + + Provides the path string escaped in a way which is correct for combining into the URI representation. + + The escaped path value + + + + Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any + value that is not a path. + + The escaped path as it appears in the URI format. + The resulting PathString + + + + Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported. + + The Uri object + The resulting PathString + + + + Checks if this instance starts with or exactly matches the other instance. Only full segments are matched. + + + + + + + Checks if this instance starts with or exactly matches the other instance. Only full segments are matched. + + + Any remaining segments from this instance not included in the other instance. + + + + + Adds two PathString instances into a combined PathString value. + + The combined PathString value + + + + Combines a PathString and QueryString into the joined URI formatted string value. + + The joined URI formatted string value + + + + Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase. + + The second PathString for comparison. + True if both PathString values are equal + + + + Compares this PathString value to another value using a specific StringComparison type + + The second PathString for comparison + The StringComparison type to use + True if both PathString values are equal + + + + Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase. + + The second PathString for comparison. + True if both PathString values are equal + + + + Returns the hash code for the PathString value. The hash code is provided by the OrdinalIgnoreCase implementation. + + The hash code + + + + Operator call through to Equals + + The left parameter + The right parameter + True if both PathString values are equal + + + + Operator call through to Equals + + The left parameter + The right parameter + True if both PathString values are not equal + + + + Operator call through to Add + + The left parameter + The right parameter + The PathString combination of both values + + + + Operator call through to Add + + The left parameter + The right parameter + The PathString combination of both values + + + + The unescaped path value + + + + + True if the path is not empty + + + + + Provides correct handling for QueryString value when needed to reconstruct a request or redirect URI string + + + + + Represents the empty query string. This field is read-only. + + + + + Initalize the query string with a given value. This value must be in escaped and delimited format without + a leading '?' character. + + The query string to be assigned to the Value property. + + + + Initialize a query string with a single given parameter name and value. The value is + + The unencoded parameter name + The unencoded parameter value + + + + Provides the query string escaped in a way which is correct for combining into the URI representation. + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentally + dangerous are escaped. + + The query string value + + + + Provides the query string escaped in a way which is correct for combining into the URI representation. + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially + dangerous are escaped. + + The query string value + + + + Returns an QueryString given the query as it is escaped in the URI format. The string MUST NOT contain any + value that is not a query. + + The escaped query as it appears in the URI format. + The resulting QueryString + + + + Returns an QueryString given the query as from a Uri object. Relative Uri objects are not supported. + + The Uri object + The resulting QueryString + + + + Indicates whether the current instance is equal to the other instance. + + + + + + + Indicates whether the current instance is equal to the other instance. + + + + + + + Returns the hash code for this instance. + + + + + + Compares the two instances for equality. + + + + + + + + Compares the two instances for inequality. + + + + + + + + The unescaped query string without the leading '?' character + + + + + True if the query string is not empty + + + + + A wrapper for the request Cookie header + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + Returns null rather than throwing KeyNotFoundException + + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Conversion delegate must take one parameter.. + + + + + Looks up a localized string similar to The type '{0}' does not match any known middleware pattern.. + + + + + Looks up a localized string similar to The OWIN key 'server.OnSendingHeaders' is not available for this request.. + + + + + Looks up a localized string similar to The class '{0}' does not have a constructor taking {1} arguments.. + + + + + Looks up a localized string similar to No conversion available between {0} and {1}.. + + + + + Looks up a localized string similar to The path must not end with a '/'. + + + + + Looks up a localized string similar to The path must start with a '/' followed by one or more characters.. + + + + + Looks up a localized string similar to The path is required. + + + + + Looks up a localized string similar to The query string must start with a '?' unless null or empty.. + + + + + A standard implementation of IAppBuilder + + + + + Initializes a new instance of the the type. + + + + + + + + + + + + Adds a middleware node to the OWIN function pipeline. The middleware are + invoked in the order they are added: the first middleware passed to Use will + be the outermost function, and the last middleware passed to Use will be the + innermost. + + + The middleware parameter determines which behavior is being chained into the + pipeline. + + If the middleware given to Use is a Delegate, then it will be invoked with the "next app" in + the chain as the first parameter. If the delegate takes more than the single argument, + then the additional values must be provided to Use in the args array. + + If the middleware given to Use is a Type, then the public constructor will be + invoked with the "next app" in the chain as the first parameter. The resulting object + must have a public Invoke method. If the object has constructors which take more than + the single "next app" argument, then additional values may be provided in the args array. + + + Any additional args passed to Use will be passed as additional values, following the "next app" + parameter, when the OWIN call pipeline is build. + + They are passed as additional parameters if the middleware parameter is a Delegate, or as additional + constructor arguments if the middle parameter is a Type. + + + The IAppBuilder itself is returned. This enables you to chain your use statements together. + + + + + The New method creates a new instance of an IAppBuilder. This is needed to create + a tree structure in your processing, rather than a linear pipeline. The new instance share the + same Properties, but will be created with a new, empty middleware list. + + To create a tangent pipeline you would first call New, followed by several calls to Use on + the new builder, ending with a call to Build on the new builder. The return value from Build + will be the entry-point to your tangent pipeline. This entry-point may now be added to the + main pipeline as an argument to a switching middleware, which will either call the tangent + pipeline or the "next app", based on something in the request. + + That said - all of that work is typically hidden by a middleware like Map, which will do that + for you. + + The new instance of the IAppBuilder implementation + + + + The Build is called at the point when all of the middleware should be chained + together. This is typically done by the hosting component which created the app builder, + and does not need to be called by the startup method if the IAppBuilder is passed in. + + + The Type argument indicates which calling convention should be returned, and + is typically typeof() for the OWIN + calling convention. + + + Returns an instance of the pipeline's entry point. This object may be safely cast to the + type which was provided + + + + + Contains arbitrary properties which may added, examined, and modified by + components during the startup sequence. + + Returns . + + + + Simple object used by AppBuilder as seed OWIN callable if the + builder.Properties["builder.DefaultApp"] is not set + + + + + Abstracts the system clock to facilitate testing. + + + + + Retrieves the current system time in UTC. + + + + + Provides access to the normal system clock. + + + + + Retrieves the current system time in UTC. + + + + + Response generation utilities. + + + + + Append the given query to the uri. + + The base uri. + The query string to append, if any. + The combine result. + + + + Append the given query key and value to the uri. + + The base uri. + The name of the query key. + The query value. + The combine result. + + + + Append the given query keys and values to the uri. + + The base uri. + A collection of name value query pairs to append. + The combine result. + + + + A wrapper for the response Set-Cookie header + + + + + Create a new wrapper + + + + + + Add a new cookie and value + + + + + + + Add a new cookie + + + + + + + + Sets an expired cookie + + + + + + Sets an expired cookie + + + + + + + Acts as the return value from calls to the IAuthenticationManager's AuthenticeAsync methods. + + + + + Create an instance of the result object + + Assigned to Identity. May be null. + Assigned to Properties. Contains extra information carried along with the identity. + Assigned to Description. Contains information describing the authentication provider. + + + + Contains the claims that were authenticated by the given AuthenticationType. If the authentication + type was not successful the Identity property will be null. + + + + + Contains extra values that were provided with the original SignIn call. + + + + + Contains description properties for the middleware authentication type in general. Does not + vary per request. + + + + + Contains information describing an authentication provider. + + + + + Initializes a new instance of the class + + + + + Initializes a new instance of the class + + + + + + Contains metadata about the authentication provider. + + + + + Gets or sets the name used to reference the authentication middleware instance. + + + + + Gets or sets the display name for the authentication provider. + + + + + Extension methods used to indicate at which stage in the integrated pipeline prior middleware should run. + + + + + Call after other middleware to specify when they should run in the integrated pipeline. + + The IAppBuilder. + The name of the integrated pipeline in which to run. + The original IAppBuilder for chaining. + + + + Call after other middleware to specify when they should run in the integrated pipeline. + + The IAppBuilder. + The stage of the integrated pipeline in which to run. + The original IAppBuilder for chaining. + + + + Logging extension methods for IAppBuilder. + + + + + Sets the server.LoggerFactory in the Properties collection. + + + + + + + Retrieves the server.LoggerFactory from the Properties collection. + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Used to create logger instances of the given name. + + + + + Creates a new ILogger instance of the given name. + + + + + + + A generic interface for logging. + + + + + Aggregates most logging patterns to a single method. This must be compatible with the Func representation in the OWIN environment. + + To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written. + + + + + + + + + + + Contains the parts of an address. + + + + + Initializes a new instance. + + + + + + Initializes a new with the given parts. + + The scheme. + The host. + The port. + The path. + + + + Creates a new + + A new + + + + Determines whether the specified object is equal to the current object. + + The other object. + true if the specified object is equal to the current object; otherwise, false. + + + + Determines whether the specified object is equal to the current object. + + The other object. + true if the specified object is equal to the current object; otherwise, false. + + + + Returns the hash code for this instance. + + The hash code for this instance. + + + + Determines whether two specified instances of are equal. + + The first object to compare. + The second object to compare. + true if left and right represent the same address; otherwise, false. + + + + Determines whether two specified instances of are not equal. + + The first object to compare. + The second object to compare. + true if left and right do not represent the same address; otherwise, false. + + + + Gets a specified key and value from the underlying dictionary. + + + The key. + + + + + Sets a specified key and value in the underlying dictionary. + + The key. + The value. + + + + + Gets the internal dictionary for this collection. + + The internal dictionary for this collection. + + + + The uri scheme. + + + + + The uri host. + + + + + The uri port. + + + + + The uri path. + + + + + Wraps the host.Addresses list. + + + + + Initializes a new instance of the class. + + The address list to set to the collection. + + + + Adds the specified address to the collection. + + The address to add to the collection. + + + + Gets the enumerator that iterates through the collection. + + The enumerator that can be used to iterate through the collection. + + + + Gets the enumerator that iterates through the collection. + + The enumerator that can be used to iterate through the collection. + + + + Creates a new empty instance of . + + A new empty instance of . + + + + Determines whether the current collection is equal to the specified collection. + + The other collection to compare to the current collection. + true if current collection is equal to the specified collection; otherwise, false. + + + + Determines whether the current collection is equal to the specified object. + + The object to compare to the current collection. + true if current collection is equal to the specified object; otherwise, false. + + + + Gets the hash code for this instance. + + The hash code for this instance. + + + + Determines whether the first collection is equal to the second collection. + + The first collection to compare. + The second collection to compare. + true if both collections are equal; otherwise, false. + + + + Determines whether the first collection is not equal to the second collection. + + The first collection to compare. + The second collection to compare. + true if both collections are not equal; otherwise, false. + + + + Gets the underlying address list. + + The underlying address list. + + + + Gets the number of elements in the collection. + + The number of elements in the collection. + + + + Gets the item with the specified index from the collection. + + The index. + The item with the specified index. + + + + A wrapper for the IDictionary. + + + + + Initializes a new instance of the class. + + + + + + Determines whether the current AppProperties is equal to the specified AppProperties. + + The other AppProperties to compare with the current instance. + true if the current AppProperties is equal to the specified AppProperties; otherwise, false. + + + + Determines whether the current AppProperties is equal to the specified object. + + The object to compare with the current instance. + true if the current AppProperties is equal to the specified object; otherwise, false. + + + + Returns the hash code for this instance. + + The hash code for this instance. + + + + Determines whether the first AppPProperties is equal to the second AppProperties. + + The first AppPropeties to compare. + The second AppPropeties to compare. + true if both AppProperties are equal; otherwise, false. + + + + Determines whether the first AppPProperties is not equal to the second AppProperties. + + The first AppPropeties to compare. + The second AppPropeties to compare. + true if both AppProperties are not equal; otherwise, false. + + + + Gets the value from the dictionary with the specified key. + + The type of the value. + The key of the value to get. + The value with the specified key. + + + + Sets the value with the specified key. + + The key of the value to set. + The value to set. + This instance. + + + + Gets or sets the string value for “owin.Version”. + + The string value for “owin.Version”. + + + + Gets or sets the function delegate for “builder.DefaultApp”. + + The function delegate for “builder.DefaultApp”. + + + + Gets or sets the action delegate for “builder.AddSignatureConversion”. + + The action delegate for “builder.AddSignatureConversion”. + + + + Gets or sets the string value for “host.AppName”. + + The string value for “host.AppName”. + + + + Gets or sets the text writer for “host.TraceOutput”. + + The text writer for “host.TraceOutput”. + + + + Gets or sets the cancellation token for “host.OnAppDisposing”. + + The cancellation token for “host.OnAppDisposing”. + + + + Gets or sets the address collection for “host.Addresses”. + + The address collection for “host.Addresses”. + + + + Gets or sets the list of “server.Capabilities”. + + The list of “server.Capabilities”. + + + + Gets the underlying dictionary for this instance. + + The underlying dictionary for this instance. + + + + Represents the capabilities for the builder properties. + + + + + Initializes a new instance of the class. + + + + + + Initializes a new instance of the class. + + A new instance of the class. + + + + Determines whether the current Capabilities instance is equal to the specified Capabilities. + + The other Capabilities to compare with the current instance. + true if the specified object is equal to the current object; otherwise, false. + + + + Determines whether the current Capabilities is equal to the specified object. + + The object to compare with the current instance. + true if the current Capabilities is equal to the specified object; otherwise, false. + + + + Returns the hash code for this instance. + + The hash code for this instance. + + + + Determines whether two specified instances of are equal. + + The first object to compare. + The second object to compare. + true if the two specified instances of are equal; otherwise, false. + + + + Determines whether two specified instances of are not equal. + + The first object to compare. + The second object to compare. + true if the two specified instances of are not equal; otherwise, false. + + + + Gets the value from the dictionary with the specified key. + + The type of the value. + The key of the value to get. + The value with the specified key. + + + + Sets the given key and value in the underlying dictionary. + + The key of the value to set. + The value to set. + This instance. + + + + The underling IDictionary + + + + + Gets or sets the string value for "sendfile.Version" + + the string value for "sendfile.Version" + + + + Gets or sets the websocket version. + + The websocket version. + + + + Options used to create a new cookie. + + + + + Creates a default cookie with a path of '/'. + + + + + Gets or sets the domain to associate the cookie with. + + The domain to associate the cookie with. + + + + Gets or sets the cookie path. + + The cookie path. + + + + Gets or sets the expiration date and time for the cookie. + + The expiration date and time for the cookie. + + + + Gets or sets a value that indicates whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only. + + true to transmit the cookie only over an SSL connection (HTTPS); otherwise, false. + + + + Gets or sets a value that indicates whether a cookie is accessible by client-side script. + + true if a cookie is accessible by client-side script; otherwise, false. + + + + Provides a default ILoggerFactory. + + + + + Provides a default ILoggerFactory based on System.Diagnostics.TraceSorce. + + + + + Extension methods for IAppBuilder. + + + + + The Build is called at the point when all of the middleware should be chained + together. May be called to build pipeline branches. + + + The request processing entry point for this section of the pipeline. + + + + The Build is called at the point when all of the middleware should be chained + together. May be called to build pipeline branches. + + The application signature. + + The request processing entry point for this section of the pipeline. + + + + Adds converters for adapting between disparate application signatures. + + + + + + + Adds converters for adapting between disparate application signatures. + + + + + + + + + Provides helper methods for processing requests. + + + + + Parses an HTTP form body. + + The HTTP form body to parse. + The object containing the parsed HTTP form body. + + + + Converts between an OwinMiddlware and an . + + + + + An abstract base class for a standard middleware pattern. + + + + + Instantiates the middleware with an optional pointer to the next component. + + + + + + Process an individual request. + + + + + + + The optional next component. + + + + + + + + + + + + + + + + + + Transitions between and OwinMiddleware. + + + + + + + + + + + + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + + Adds adapters between and OwinMiddleware. + + + + + Adds adapters between and OwinMiddleware. + + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Create a new environment wrapper exposing request properties. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Asynchronously reads and parses the request body as a form. + + The parsed form data. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or set the HTTP method. + + The HTTP method. + + + + Gets or set the HTTP request scheme from owin.RequestScheme. + + The HTTP request scheme from owin.RequestScheme. + + + + Returns true if the owin.RequestScheme is https. + + true if this request is using https; otherwise, false. + + + + Gets or set the Host header. May include the port. + + The Host header. + + + + Gets or set the owin.RequestPathBase. + + The owin.RequestPathBase. + + + + Gets or set the request path from owin.RequestPath. + + The request path from owin.RequestPath. + + + + Gets or set the query string from owin.RequestQueryString. + + The query string from owin.RequestQueryString. + + + + Gets the query value collection parsed from owin.RequestQueryString. + + The query value collection parsed from owin.RequestQueryString. + + + + Gets the uniform resource identifier (URI) associated with the request. + + The uniform resource identifier (URI) associated with the request. + + + + Gets or set the owin.RequestProtocol. + + The owin.RequestProtocol. + + + + Gets the request headers. + + The request headers. + + + + Gets the collection of Cookies for this request. + + The collection of Cookies for this request. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Cache-Control header. + + The Cache-Control header. + + + + Gets or sets the Media-Type header. + + The Media-Type header. + + + + Gets or set the Accept header. + + The Accept header. + + + + Gets or set the owin.RequestBody Stream. + + The owin.RequestBody Stream. + + + + Gets or sets the cancellation token for the request. + + The cancellation token for the request. + + + + Gets or set the server.LocalIpAddress. + + The server.LocalIpAddress. + + + + Gets or set the server.LocalPort. + + The server.LocalPort. + + + + Gets or set the server.RemoteIpAddress. + + The server.RemoteIpAddress. + + + + Gets or set the server.RemotePort. + + The server.RemotePort. + + + + Gets or set the server.User. + + The server.User. + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Creates a new environment wrapper exposing response properties. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Registers for an event that fires when the response headers are sent. + + The callback method. + The callback state. + + + + Sets a 302 response status code and the Location header. + + The location where to redirect the client. + + + + Writes the given text to the response body stream using UTF-8. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + + + + Writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given text to the response body stream using UTF-8. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Asynchronously writes the given bytes to the response body stream. + + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + A token used to indicate cancellation. + A Task tracking the state of the write operation. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or sets the optional owin.ResponseStatusCode. + + The optional owin.ResponseStatusCode, or 200 if not set. + + + + Gets or sets the the optional owin.ResponseReasonPhrase. + + The the optional owin.ResponseReasonPhrase. + + + + Gets or sets the owin.ResponseProtocol. + + The owin.ResponseProtocol. + + + + Gets the response header collection. + + The response header collection. + + + + Gets a collection used to manipulate the Set-Cookie header. + + A collection used to manipulate the Set-Cookie header. + + + + Gets or sets the Content-Length header. + + The Content-Length header. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Expires header. + + The Expires header. + + + + Gets or sets the E-Tag header. + + The E-Tag header. + + + + Gets or sets the owin.ResponseBody Stream. + + The owin.ResponseBody Stream. + + + + Used to interact with authentication middleware that have been chained in the pipeline + + + + + Lists all of the description data provided by authentication middleware that have been chained + + The authentication descriptions + + + + Lists the description data of all of the authentication middleware which are true for a given predicate + + A function provided by the caller which returns true for descriptions that should be in the returned list + The authentication descriptions + + + + Call back through the middleware to ask for a specific form of authentication to be performed + on the current request + + Identifies which middleware should respond to the request + for authentication. This value is compared to the middleware's Options.AuthenticationType property. + Returns an object with the results of the authentication. The AuthenticationResult.Identity + may be null if authentication failed. Even if the Identity property is null, there may still be + AuthenticationResult.properties and AuthenticationResult.Description information returned. + + + + Called to perform any number of authentication mechanisms on the current request. + + Identifies one or more middleware which should attempt to respond + Returns the AuthenticationResult information from the middleware which responded. The + order is determined by the order the middleware are in the pipeline. Latest added is first in the list. + + + + Add information into the response environment that will cause the authentication middleware to challenge + the caller to authenticate. This also changes the status code of the response to 401. The nature of that + challenge varies greatly, and ranges from adding a response header or changing the 401 status code to + a 302 redirect. + + Additional arbitrary values which may be used by particular authentication types. + Identify which middleware should perform their alterations on the + response. If the authenticationTypes is null or empty, that means the + AuthenticationMode.Active middleware should perform their alterations on the response. + + + + Add information into the response environment that will cause the authentication middleware to challenge + the caller to authenticate. This also changes the status code of the response to 401. The nature of that + challenge varies greatly, and ranges from adding a response header or changing the 401 status code to + a 302 redirect. + + Identify which middleware should perform their alterations on the + response. If the authenticationTypes is null or empty, that means the + AuthenticationMode.Active middleware should perform their alterations on the response. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary. + Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2 + access code or token response. + + Contains additional properties the middleware are expected to persist along with + the claims. These values will be returned as the AuthenticateResult.properties collection when AuthenticateAsync + is called on subsequent requests. + Determines which claims are granted to the signed in user. The + ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType + value to determine which claims are granted by which middleware. The recommended use is to have a single + ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary. + Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2 + access code or token response. + + Determines which claims are granted to the signed in user. The + ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType + value to determine which claims are granted by which middleware. The recommended use is to have a single + ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to revoke any claims identity associated the the caller. The exact method varies. + + Additional arbitrary values which may be used by particular authentication types. + Identifies which middleware should perform the work to sign out. + Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear + cookies and redirect to an external single-sign out url. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to revoke any claims identity associated the the caller. The exact method varies. + + Identifies which middleware should perform the work to sign out. + Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear + cookies and redirect to an external single-sign out url. + + + + Returns the current user for the request + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Exposes the security.SignOut environment value as a strong type. + + + + + + + + + + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Exposes the security.SignOut environment value as a strong type. + + + + + Dictionary used to store state values about the authentication session. + + + + + Initializes a new instance of the class + + + + + Initializes a new instance of the class + + + + + + State values about the authentication session. + + + + + Gets or sets whether the authentication session is persisted across multiple requests. + + + + + Gets or sets the full path or absolute URI to be used as an http redirect response value. + + + + + Gets or sets the time at which the authentication ticket was issued. + + + + + Gets or sets the time at which the authentication ticket expires. + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Initializes a new instance of the class + + + + + + + List of the authentication types that should send a challenge in the response. + + + + + Dictionary used to store state values about the authentication session. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Initializes a new instance of the class. + + + + + + + Initializes a new instance of the class. + + + + + + + The identity associated with the user sign in. + + + + + The security principal associated with the user sign in. + + + + + Dictionary used to store state values about the authentication session. + + + + + Exposes the security.SignOut and security.SignOutProperties environment values as a strong type. + + + + + Initializes a new instance of the class + + + + + + Initializes a new instance of the class + + + + + + + List of the authentication types that should be revoked on sign out. + + + + + Dictionary used to store state values about the authentication session. + + + + + Provides an ILoggerFactory based on System.Diagnostics.TraceSource. + + + + + Initializes a new instance of the class. + + + Creates a factory named "Microsoft.Owin". + + + + + Initializes a new instance of the class. + + + + + + + Creates a new DiagnosticsLogger for the given component name. + + + + + + + ILogger extension methods for common scenarios. + + + + + Checks if the given TraceEventType is enabled. + + + + + + + + Writes a verbose log message. + + + + + + + Writes an informational log message. + + + + + + + Writes a warning log message. + + + + + + + + Writes a warning log message. + + + + + + + + Writes an error log message. + + + + + + + Writes an error log message. + + + + + + + + Writes a critical log message. + + + + + + + Writes a critical log message. + + + + + + + diff --git a/packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.dll b/packages/Microsoft.Owin.3.0.0-beta1/lib/net45/Microsoft.Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..0c98e8e70e7aa7b244c94d69ff32bf942d660b60 GIT binary patch literal 95920 zcmc${2Y^&X);3&KxBGUO=^lDQ4=}*=5QfWSa*}99BnTpA(kLi!v3o|;amK-bs3@X{ zin_X(&~=qn*PPaXt`RdPFzvW2rd<^?{?9p8x4VZy*7tkA|Nlq3ZawFmI(6z)ymjkd z4nE>yVF@98`2G5;5clCqe`7h^bI=NQwDf_fxI6Sh*?n^23uV*iFGwYpB;Dhavlk`i z&R)FOZAi?iPb3=`Cl)MD>@#^?_1XX^DfT4w~lW_P$VMIWk9x zL!=NvO?~ks#1n|O;wnTZjw@|95o`+R?=kQ}-_TE?T(iz0QTjh~HIPX7YlYr}I3k5Z zPVoMYl44_5fa|2l#pQq{Qgripzvr4ro6gcf-~+PK)il(f(g6J0RM-n1mlbwr|0RT& zRg+95=Yq(#QQ4`W({auE8;k0yN!BlPAxO58&Ex}dLe~%Nk{9)X?{jTdi%{h+V&C)+DuDsw-3{!gD)Zo8-ck{j1N@Oj^YOBsv?SGCi12A@b5w{Drw8JeTZ*s(#uwE2L>;aWi?tWGkQgQR z5*J?x5gE4Q)_U7Pw6eT{($@YTrLDL~ISE+cYoCYJ48=a>Yet3nDtc&{^mVyv+5&ph z8x*i$(_4tT2cjXkWm)AJ0Gps8mbz03J8Y|FN@iQlB(0j>B)}={o%UUjNcBWox0hB> zP-lrrNRM$KRv1og1V1O>Yo@5jt{9*xZa>NqF2;CZlTs&4k>4@_jfPEt>DmO2Ko?q;?IP1K zDP~Za4XUz1H37;BdD|7`%JMmAK3o7wX}R!4xMGCXWBFVZGo#kCw{La|=RfVxw}iBx z;XoQ5P<~eJd<_`3s{*!zOe!l1Gub#lQ>t{X&d&Dmm-cW+d-!8}_+2~bqI6-Z9$h+g zvn}S)f8Hk%wS$}Uyjj`BsxRC?(ET$M1S&qvObD1Qyc$92 zpUNQjR)}IOZ7zZ{F?Ghtr%(Z3`Z3gnP`+Zcowq^G4ekqy_&0u+qLC`q^d6`@5jAh6 z)T)UtE*iD%qPp$oZA3kt!=`r;ZzAoSqdNV4M4f!NWcaU8*e>m1l=cHkn^CBmG@-p3 zrvwVznUHTMO1j-6n3|EljWLNAfKPmWHdxsdzJ$QH7d6q|52=Ak4QEtraWd z;rD(f8=Hs~QTe`|MMq;X6Z2`=B2EcSM?zD+rJ3#QA=5irNq%7~D;t$|57z;EHDh9d zKi{uy9IJ}8jWK_=k$%s}tw(4J3;ZhIHYVEbO!R9L{hGP8I7gN4)GE2W0p}=`U~55p zs)MrfT5nu8IKlkAjRru!Vqgr=a)|br|$ZOCz=T6CVp)5ITDVj(Ceb8skqxzF5)h(l2RTdOg$b z+l>LK`_VS2<6(N+UB|-+^gBD=eNYfEh}uc z4AzX??>`0+{T?+UF2*kxRelkE5ex)pfspo zI0OZO{D5;jBGr4V&c=d3^LAuoN*_=TW*{1%rm#9<6$Dg%aAy(vNl7fIg-!7T&V1;~ z4`}9pcYQ%9Kct7Ay;T>JeLLre(hhhTjYB)XAf)ocX7mYbZ<*{vdh`itCJlPrR(9+9 zoctVb(Ccb)&dGLtj+ZkHdhGWcm7i;}&25)$j?Olx-Jr*{$t@^*(92N0K`(pEdlLB?B&8`dHZ-1g!gh?wDgfweis z98{iN71y$;Rgftald&Lgzh>`&{=#c^ia5`bGvhpODBe$Lr+;U>7ld3FB}vdW3Yt7A zMiyC|*?Lvans`-DF>Br`6vYXE~NPwiWW6v zK|zor>SB5ysBk znVw9Mrel<4WraH>4N&olH#EjLNO?HOAY4_d6M;tg4eX?o0#de|s{QcY3$?++H$}V= z9^Rz;9`b5Fj|Zf`8Z8_xo1#2$hHY;Qr<`VIAms$82iAY^a6_9j6eGJyw=KpQ-E=q8 zn4WPh?v!EWd<@|#YA@^yzG7+K2C=_ zkzLW&OrNghU8y{RSBzKAM{q!T*kYgg1co0`K=qM4gVqkXwW$o-)t&W%=w$dKtU0!e zm0M-Ga%V$H@(IZD{&0>;zD((`PN)nxOR2T=w%t>34YUCHTA;#bJO4%^Eg5jJ0;$Aa zIpvG_=Vn|BDSuN-rK5N+G$&9rP}w>0++k-zKv_ZeROpO^h#ComYEP{61&e3q1_PJ_ zf;@)m;qy}!3>pm=5|aCou7evDA1m8A*yG^lc#5XAiLvEMx%R8=}E#CxsA zh!ACDk6HTbufNhdN{KEo$xk+0&bKHSw!U+dAtjdBPBW6DmvPzj^N99x*dqT1DIntY zg(B#2&Z1nKFi!dgqF;WFYw6B`IT#u!s=}3lcvH^tU4;On6{}QDq$2eaY{|{n>yYOEP+rB%uRK<%(+N8? zqc@}W&`T(!`^~?DRN%|^>HahrqbqUvevnyqzRfMo`GL}YMrk{<*5dHiJ|+XB{ar{@ zuTjopC`LTI6*p`TBla#e4%rC_Ve!Kc)0Vmr801J*Mc35XaMo#DW*V*aSVDyg+r@|T z9vo&PdgLZ5NFk|y*XUECvrt{z>pM;_(lOGqW4J1ssU|9p^PI(=*cng2eJ)xf?UgH@ z-Kg$LcY0OROjVO!_m~No_gSzZkY4?pheg$@&|4$<#eOiB+X=?4jI8CHgUqlw+&!J# zr%54Yx&6T_uTWMo&lh-f=v!~=hdO8$-@~scb3t8DB!9Q=DnHga)w|Wrt=rdve&ef- z74EcsxZg>kQH5KH#B_SrRq3n%&9j5{zb&yp@~1z=rdN+rrBzN0qE%Q?alb9?IWS*& z4-^cgCSKZeo7Ygd&6W2#uob=JcHY5Rh9 z!uRa)j$Sd(&XVoZ(gQcN#Y$ZVC4Jf z4|=)`Kk7U&d14l+bbcaOf^?4}U1u7Pl6}y8T@3MhUYUT3R~<&v(vjEL#ido(*sV)R0Q0&|7)&Q564P6$0qTV4!>IE>F;WLwsc}}^ zZl0i(SY~Ldt?A_K1trP%;Efc#OOMZ*TS*pE9A8K4D?fUp)hGsZ++m^8X}vTVWx*Xb zojm}pYMhac5~$_}XquuMA(f=|8r!`J`LwhklT1&?eg)^o&n)%2W-4@-LU%k|IUdh# zPeP)c(%FGJf1vcV{(VZvaqNixC8c#78{R(_D6Or@4U|^b1OlbU?v$0XI5$|WiYxF; zn5uImGz|D_oOU;w5ap+Y75D7!(XO_mJy}=MhGGWmtyR4WIa0 z&Oik)h*!)}{KV6gAgjESbY+9l3uR>nw&S>}aKqIK4dy9#d!kQ2`o5^$qi@Q$DvC$n z6e)4yP>6El**B@ldiG7wJqYGjRN$t{2o6a{sSWZ&@d8r7u|kS1$4cNDDkQH2sC98$ z;#zK{vhwa4R!qK%7R-DkS~`lSbsqzs)SH=)rq5S2eY*0HVVXXEM5L+g8@`p?ZEanpvDVDovcg<6k zCW`g31D3&NA(@E^VQU-6b?t9~F;MASV2U{9WI!DE^DM773n^vRW+994W+BC>?Bg@W zw=N?mCNulV*`u~oL)zg%+(l@Yb41YCsn05vao?$i814C93v2aRC8D_3k?|N}>a-Ro zL737if%#VSMA{ZCxp7wEKya!O$pT9(+3ZlUdVt`rN07Q6LD+63ITo(y+HwwA(?hlL zb%rw#>XW!BS;7qW1|+C3)YZGCzPej#v2S-8rtX${!EUK9?Uowz?@sTS_EcJX9t)q) zpSf*F-GqWPpNF!l6mDh1%~$~=x`CqSQnZP9$;+Wg?X>rW6H>Q;r?=EK?{&%qUC5`2 z&Sz8+XBz!Jt=rmFFV#0`rm=zY!D@0M($VpOu)XQ+uIq zX|LobSfGzFTF!ou3ESpiN+)Lspyu;b#iuXA?rq4$c5u5%n>UmbCfwUWGwr53^5{)% zj?QX?-8&G3?TZ!^*U(K*e4V>di}E=NGz5X+3HPn+C~}7PT*79r;KrB==wKmT>E4Ny z1$O0(m`x8*!#M$ZD2IJ9Ee3RnMeYiqG5&SW)CCcK7v4JjI8QFeG~*!cI<4%1M5)~Dr#=93Y!)| zwlNZ_@`nn1Tf0CVmwE$A?MJEoy3~agF*@s_%N!9$Ezo5qyU@CY1G{jH@G)quQof4K zXiL%@fBhTLA}IVp8CP&C@k%hwlmO3YbO9bG+dM#}iG+-52RlEkuN3TEiskc)m0gM( zc2f#nhM{8C<+=dtcbj*$g)fCYy6@G0X#*RAM*uT&PQePZS++5C$$Ml zT8YGT2W#!hmJ2+ILrCHok{}Y(of1e?m)hJ3LmX-ktR)(-5_J6u_a^ZpeymS`UU9x)lRV%78{B zlvQDcX~mfgvT5W)5!KBPja+GuJ&!C*D^I;Z*j-%_JYg z@nzB(vzrKJYB+2c1mgvvVc)@)!UA9FaY}|~4l%o#3_&Cq3$1IW>|=hmLN|az;Ztq^ zBhcxD$D&~{C(yDI(p>v^R%_D^T)34;OsB)FmDGzWbAuNxfIVau2F{rSPYM=0rJx%c zR$e&MV5iVh!{olo7TghQwK%hHnhcSc?vz2Iss>|JUd+GKegefvy^567E+YXmAcx{S zEODI|1ki%8?O70tg<`N|%+8(Mf&!?mbS-J0;x0r~Q(NljwvVasgb47p0*ijM-Zun0_}(cL&X(U8{iZQ+Ck!39V)KK8opH*3L&}q*3ncR8emr z(0$MrW8k+M@*DRd3@>kjnG?_r?gP(rxj}YPB-C=TSFFR*P9hT1GfvVYjds&oQsVnf zKdtr@&P@A>NG%j-Kg|raV829H&EX`p1tzuSG{_dTGhAa)HNLj*T>N2HF1uAMgCt+7*EL2E^u@$tTGA-qxx$IwF&jOvB%`?%UJ zJRYuCY$Z=b*G;TJ-EeliB5S#v($+XfLRl-vy&;R%$i>iC2Yt?mq%R-)(X{y;u3t#o zjTBRLa%4|GZ10)6WPUG+WN z`T#w1Lo23d4mZMvfxETg&uJS{Z4jrufKPBOZ*K!;)9XNuR2~p=|A|Ph9jNw|j;U0o zooc6~)MTBn`wFVmxh|;|6?RmvHA-$B@xHTNAvO{_yW4oV0jQX8k2aFZd*U-^R zA+m0$GMm7d;f_a5(*pYjs(3mf!V&U&ke^@rsm#uCkV-y*YDz>obB!Ug#GSoSun@%z5&P^q+dW^ZfOqJ9}Q7) zQ&%y6v97F`zq2pBDZ;*6AM}h)ot~cK0CI zu{66!u&TybM2~yEghg~5FWDCo&R0OR;TcXIO>i7yT1jch?{0xgsH#t^Dn&_gSeA%O z(?o7$kq$mC2*!f((E3LJ?e@}&-v+XAUyMI`VMr<{SR!=3p`r0--Nm! z4F4DArk=!Hh_kKDlspvLX+K4CBUS<7W=g1QmIl>$h;v|PCNK1gg>&b4uAFWNZU|M3 zby6_kV&V>0qxGhFwu_Y=?g=uKK(IQ395;D6<_4WU7)))wk)DsJPU4mFN0jo%-ITJb zmzCTGi&WE3;Oa(1J}=?dF!Wf0&4)cD|1y)D8{KY_laF_oJNftr{&ps$%sjs@BBcAde{+II<$*sf#PRXwoCpruW4r~QoQ zOscbHva51bfCc{L(%B%Nt@VFc;F1sl1>ma2mGzhq_5+!kG0MC1h!N_p)&P~p2nA0&_fnZ-&u|27zX=P2gmT z4o(a4z=wfd4}2WKNQfSz2^<08W{<#;W6W+v<`|`OGO5ZMU^7->fMq7M-0ErJ2+l9| zgSAc*C7qxg9O1B;V(~nTUF78C4t$~*KF_gOJkuDB@tKl)XB?|?Z9OcZN$3akbdQ0# zOAI4f_zBI`yAN_vS>fcdP;7Q0s`BiHF?jNj6TlJ!EtYp!td)82I?pZ6>146jPmfbg zKcifhdlsmDb_SN?k^)7)V}<<0aO9bK9xWz}I}eiGtpV4-0IXqNpqBLul4~cB-59&X zh~KiCl6iK=>_&8D*j*I}r10((9Xz;Xm&_cT``|rw=RHKU)fLOF^s7lvL!Y@pw0K44 zw34Fzvfg-gmJubZvfs%{(|j9MGIpfsYPma6lGM4o$p0%_{?8ZGaM1esXeX%(QHO-p$u&S4H5fiB<{8M-Ja>y5@wt6B+8audI!>xqxgyws&sXQ zgu_v31S}UXzlL>Tu-(X{Jmp*fD_lHh3{we-h-Vf|vxv5zI%yKEVLO}AVd&TiiJD_4tWqaA1Ffn0QRTdbuBDHiyo?whJ4v5AS-CQOPK0#*#<>$x zy8Ck{qrUjw(+#If`X9ITqn2M=@%0 z)CV_`t>`sn)cX6H9z_60+abn1iuQ3G>=ANrBap?T&2V~6nRx`Vcq6lQ63F6V!(@qr zW|TSHp2_b}N{9WTN|ZfGz*IrfW z#E1g1Co^K`E9?SznXc&AbV+*|HKe^v5$7RN!(JvK?PZE(d6`An%M?rRLuU7FO0nm@ z%@SVUrkuH|{(^MWxA}@HdxDBrV_ZnUayBDRuCjk*^9Xo6GnlbMP-fDFGSekp=22dm zDdIevE;9+~GE*$8%q+rXrr2)FOeywUW|r{EOgYo4fjbmGPIg`=J5c&Np^4qW5fJY3 z2pj?7ZjZnb5dP{BI0C{w9)Tk@sjJZgovoBX*Oq&UheuuJN-y45>UlO4PEVeh4@B^* zsQN_gUAeB50E^j3cBhq zFSwsj9%~gg=RQX)g+0QsQwOII70OeqUwDtSzI0j&&A@QLa3^M4qwmubx5$g_5 zsXjJ=p@=AuLJjj-DC7;Xw>pRsrGwZ{X)%6+4Q)h$SR$hhreQ9zQ(-DH{7&nOqj1IA zIM$7KhjE@nmuS6R+!8@0uD3fY_Xnt0i9~9>-9@=S5yG7;P*>&tl0hZP{gn_FVc=Rw#+9!hmH)$lK@(_L(yR3a5E>Frb%bixtZk%uBFpH8BofL%)z z%X6wG;hm^mgov_>&;=cYh_Z{&A3F#U#R#ETcL2GAO`{=Txwt9Tjpk+I;Z}vGGXj>2 zn*+`Jj(A>UBjC9Mb)p1%vKY;MqBC5B9mh`aB0j&7ijgYH&Z(4p+D=BEodi5vU}qyq;;xHbO~9gkR=Aqhq_&uV20jMiNX<|z^g{U?F5tPY)!a0L2telr-~78#Z+M*81bnM`>9<1;6F^y@4NAWbOVS zD(FXa%xmx{FDNZ zg@uD=%Z-{SmJ3Je@#8sawBrnqfaQ+&c)w=z2xNFpf6B!hYB8EDp*=(zYF$)?ovNpy zR`+dO1Tw(9Olgvp5i_Ks271BkG#d3L@6%{BiAN(!=cBr$cMfA1h5C?OpDYESm4lWZ znfd~lL(-XC%*l5Q_?&UO0Y6PKBQWyv&X1xTo~;LZw(|H_Iu<57WC~2~hbx;r*_e#< zez7m~VEIBeSCAlfaXBYa1X?9%usL}+>BW>3b}%KiH=HDQG5l!H3Yw`{9Z@n<$MKY8 zA5(<{Ec!wYk6ARX_kvB};*7!tB)A_~I98tH3_}&^2kbVEXH-*pPF9H;^fI>+6=kw| zFq0K>r@_l|Arp4TLIws|ajVLY$8LBr(H%#m(KyVBEB0gDTGBZL3(Pu7us3mWXfdP1 z=k80iv;?C`*(&iB6q494tuyL#`;%6#FMVbWWyMjIe4*b=ww?XS6NcXfS4^CE=1jdJ z-Is9;CG-9=bK3Rc7ISZ4H9w5bh2f7b|l%Kw(2fZmUJ-vgW(b$<=Zo358SlbCW+_#oJirH3iiVJb`b#HK3(q z!p6-7PJE!*hpTc`6V}E+c#=$w$y@)RG_lm1P(}N#ET6(TtZ*|4E8KEyp`39`5O(Gx z=I(`<&6?6#4^d6HWkKT~MVe_$Av+Ety>A)4#8-vT_BLr74Y@)mi74#w-iN@<%xerR zoOz8gMKxjloBfnYHDM`-b4@ zTzaV}Hgh&v!3PJm&-J%$4n|pN&ZYv=cOIx*7-;v0l4dp=b2n+n+)Yr=-AF`pHxcOM z9O)z9y@dQQhp_LkbY#tAylFZ;ER@uJ9WW>ItQj#yJobcsjDnHu|U$Rl6 ziJJDBpXm=#sncPGS9P$>BOxC7=f$AteNyx_ib~J#Gmi^%a7IuIUbLXL zD*)cHDs=EBlwFyt0;x5KFjCGOMDeOc7li|1lu_z1SY@SXY$F)$p#A9jxnB(WT%Wy6*Uw_I(yNyf@U<3{Le~y&@;Gp)_AreBmOyog>Bh$&A*uE; zCDP8oxy5=rtIWpHA48ODj2#UH+5_6rH0!a4oI}B=?c+I|99UTlhm%unc1WgBx=P{u zLh?OZouc`VE2hG#n%Lg6<;Js-U}pNm+i2`qtD|FIZtvKjZZ$fe%)tN*OEJ_G&8Jy; z8(-fc27b7Uua`j3jHS<`PEcANOL6ao4@$&q>aiHYO_k3*7IMv4wxh*USaqtts-`lg z;dTlfEbo2pk?;(Usp&6JjmGRm3h@OhEbK9&;wFy2KsAFZGQ9P0)kO4mpPypEB2EUM z@PKN*5NAHW#tKWNP>-vJp*R>ogwt<5?^PZ{dONZf(Eu+x1la?`Izw^>#BSv-s91uqklX3KD-UFX0Qoh_~X z{Io|VP+cDXiH!cLgq^uvOSD1`$IFj~#q^+D-vp|iMRXGwM8QcH^z3pEs52#{zj+VX z&R~*kZ!lAg!Mm~d)&Do_C8fX5UXpBYFH^L=r+JOYIS*ro;^SsK@j4gKSc7J?iP{?N zrgH>@r#%8kmU{|P$H48*YSLmkt5}(HDd~7cOVERef4~&)41y8WX?!{j-IHI7@}$;Lp^j5cl#PWKlddD;ab(N!2+-uw=Jm6B z3~0F5nh$E&Vy$%aC|p%%JJ%x(&ef#8Y%!ihX{AfRFUA)(7~y?fz{Yd1L@C^9;SucvN~=$T%%?DwoAROq^9-{A z6k7MiD^8$uG{t$Dh8Zs`EOeLC4jF$NK8sb_DQ*?Eyh3gwemP!;Y@fErF8o_};dhPm zz7k%kc>tx_qpGfPe3SUq-_EM@E?Mnr3ix|WU;JOvgWoQF57mIFm(HsAMFMq(Wn7Gp zdnfzAclx+DJypU3CHnY1l@I6I6z{n~T(rD~vhe=E?PxElM)<##NK9`fpSHa2N!*c^ zAQIDC$raRACisPT@!2mQLH=Sjeha6anrf(DRC7pu%56-}txu(6ht$uWSD&m(EK1FF zlM5HjsY=YKPo@^Qi$@KrsiXg@5_>l;Y-mi@k6K*c*pQsPuqrX7an8a8a}TONb-H_E z{o+w`h7O%Qc<$gK{f7@6R9`o2c(0C`H7;&gu&Cb4eOf&>TQdI`!jy6Q(ErIDW6zxv zJMiL_e{XzvOT+lb>Lwoa%4<81>3iPSSMSwzzz?%Jf3pAa?;sg&V?;jEW1i+e+^32U z@WcEiuEuqNh4Sw!P7!lOy;y>e87#nQo5gsQac{n!3~CZD$!qF#Fl0+E+ncwurKF$7?Klj8hkVx-1!1~+`D(?u4<+sA=N|!mLj_< z!Cr}|+MO3XC5OOWC&8WtP*4x&U5ErTc9&o(gs3%~3KPj~+UH(TI@+)gq!&VJ5!*y5 zuZL<`wYR(YWZi2L^XeDYA3wXHKC!4V)sSeIePVsWU0k17G8_MPOMOFqvPO=aKEFQE zaO#r!MBk>m=Dvw}Zhb02|D?;J*$s2&CuT1`HF4r%cj@B9q6PEjEv#QUJ4wkKkals6 zJdhGkKJ36ri4*HjP4rFGCy{Z@dh07HE~TPoBMC;p{mJ>l4Sh z$wb3^kdyT%HP)vZYUDUlHFx3cRBBg4=FdL4J~2Bn*Ik@yNH)%Gpro@;g!)8N|K`N( zK8YpYGl|g4esKZ?M1kf}x*D0F3{jH#+BZ~WSe;n90F>E@ zzO{Yj`1TU1hS|x6EItacaG|@jeqLhEsq9r4w#bEh=FW$E=fXp6m~(fexBTm zs3>^y)C9^zMdA8spTn5GiN?hX>*0{ajSCkhpuK+4l7>^!dB;zifW1W2HU4t(JDCQ@ zfpr7>4=0KrjY5cT5cF!nKQ6OKh>yo2K8-WN%#3Fjx1;0cfp+LLaXNP5=@zcn{)Zlj zXBuK9@Ml%P;}^PfNEm+@-sEAW>vKX#BYx~NkUn-rxu1*QJpAzBNVL%yh##%{F;Spt z;=Mgwv4)}d9R(JI;sD?>Txa2jD1T#$t_l2#@SBAn<{(otTkQ0I=eI?|_S?3o;c$vQ z3h|>jegcQ5*d%i%hpRZelEXhR_co5-hg4zlq&*n_a>g4>`Nn<^dVb-!FF+aw1^jkY zyc(kTl<vu0Uvur~BU0*A@>sBvaZ?^s~j_s*);O%&MA%a4CmtIJ}F)=c`EOeGb2<`tE=1)1C(4XSZ_9yy>94{F_lzj$JUQ-c9Me~6A0k-(V0MdL_n8MQredj+{9)dP& ziyH@1+Q$b^s)~v)25%W06@ejJ2HT?B5c15BAtb*S$M@&(Nv1qBl*)DL@Y%!jMb(Je z!)=C4TYNQ==(llu_=V#GN0H5QMp3J~U=+z* z!|{7Zk>tap$Ul9@QX81V;ZhDSLP))a`VoavEW?&ecbrrAGm_}tBQTW{@`*n}W&!_O zBNmR>67LcqKmJvqF!TPzJReT25br^tLZr%P-m`{Rz`S=koe%c_A>{WtPb60^7G5H5ZaiF3FRAfx{yeh0O|wY)j)VJNDjtXgpjz2%dj_)ALGJJoZnP=tR%F7 z(aDU8#jPy4j3v8>JD7JV^SX$?FuIXZiMR{@s8}a)H}do2nc4&59H7UMryp<7YV<6l zT7zC^G{&H9jP^F@OGf(}gcDfMG6jfyrWEBc11N|bqNBs3R;%qU0BljE~85YwiY4T#^`b&&7=IT5XVaL*_W`) zFV+G55w-apY!TuHAj;2Yk>m|xmZUb=$)GvR>u!->ZV>g1hFAw$e!RoDkkM>L8$^oJ zHCfbJ|0GUlbcJ;nBySTfoZquR0_ZIKYjT~$TZj|yZ02oe-k-&C=6%h)KZ|qOFUlA8 zbr-jb^B7e!x&!NT^4Tax8^x`R4r25d@dR5o(??d{DPD#xLLBEKTkaL_vSkfE^5A`9 z8>91lYkY)0lFMM(pE%up;$w8kPT~PyHx-oki+?hD9>|aO@hPYK2crkYXPn=UobEyK zB_rEUxj!WODDriI|3H-KVKD(7?<6XK{6I%3^88pvkBQS69nNTzIG53>jGjT;Aj!)Z zJ;!r(Cvm5rO7wzQ$Gj&Qy(q3$RDbU=dPUrzETC5~+WT>mXd|P4Fxn#SWOPRzwdA+O z-C5{kaSx-922i@s#C?pu!J~7(_*(ppQD7LMZ^h$`bPnH%CmCHil6XIery1FM5&Bs? z&!~>kFXBZ;rK2c!C0}QxwS?uHjOJiD;>SM@@fM>ifx4sby~AiTqXPLJBmWqZ>?*f0 z>cXf*e!%D?M&0E{jMe~kM-TglDib+@+eMj(1s+1*Ul$mUTBEQ`Tp9WZ@y0v~FU@-g z9eg9=w*6J!$JUJ2@AE!E= zb2vFpufL3BmN8Yua4W%{^HDHieFZ2M`PmtLDwM+4yJIQ z!M{Xe;uH=)DZVZ`M0{V|=+iBn;(14;?ISs@ z^(+n(0g7LSczN^NOcYYyskTI;JU`7LUB zTI;(Ux45@$kf)2h?j|prStR4 z#4)80BCIc^HgHX8yugbSMT$$xDAlbTK2}zW+oHG19EATy7!%`q?uYn!J=Yd`{WmAD zmTsNUqP%u>Wbaf_nV8r6Ab9VWQD2m!bbZM3J2-rp!xuPw7a`?75r;pXDW|rlOQB2D zz3*!{z@RA^Zkd?W_pSKU)+75;+LQaL;xe(eZvf%ezPZKy#r{q$!b1>J-BH+z&=%j< zl;ZATv(pPX?w%Atpv1JR{|Kctra~Z<-oN2h@iS{RMxBiVjTlD2{Btj`> z^uH3Pa_js50g~<0?$tFrE&i3(0iL83{RWK1)AtDj$+wgWUL8pJ{@|d$h%W|G_~XED zN^B7v^gY5A6{P=O=c$A(x(@q0!ir%pBK)A=%RO!JF9+kZxNT%6{#L*IUbgtUf@){N zz}~%eE>xo0-nRJTUR0vsph1XxHdpo`?jVE{M-4}K*eKHJjvCcRiql7pN2tr#d$h!T z+Xwx=D7VG@ewB!O8jeT&`>&ZsR!I%DEqjU?&J z7ta_(It#=<3_3PYD+|Sc7=0iY1x5k=$cU`&3Z(zEowPqef14ur1`d_j0O7w){>Pw` zo~6>?CjS=jx@Z8jEpVhPNu$qzx~EYfc&IE*qnzN8=z02YlfMY4m#}&f*0%H!2}Zi? ztTL!1v_bAIt~RJFbQ{pE233UamHUYM4GMy{pLm)P z)mWR{Uu@PWcwK0_JV0z=v`O5`=zYx-cQLxI4_UTWJRbTIlC|X?`c@t&W-w}#Z-#!B z6U2#(Hiydj) z7MhTIhnkh<9hG}`7FwLUUCvJPmO*C*U7P!Wnv>@JIrs4_^dQpBP4iwtx(xaV>E@+* z|3SJ8Dvvy;XdjvWHbrV9n={BiCh~?lPP2IK7@CCw!ENezkH>9rK^jpT%%I$8N@h?= zw8F}uis*KELOR{ZXj>Mdnx@BJ^tUNOHJw3J)3gImf14r~<85$t!Oje#nqHFTQB9|j|IX;))=3`E{{+(U z!vRn>`JV@BNb{bL&b1n|&;sk^GO3G+2U_Jg3)ODfVEt_mPU_R=ZcTg=xOUb@l6`NXk8#C_9aEjgGG7UGBImC;(Uwo^~vYVlbb)%n(l z)eh$eJNNP7BbSwoc%^ftI6|Y~^_?2kIx)wfzjSH>I?Mtbd8{M zgS=Xt&1kLY5miV2L`LNp)!NgQG%X(suTIKoIiTrfED zCo$LXXm+|yEHQ{?r`trUMpyw3Reu(LHi%}Y+r{II$Y--68^tRc1#1gWh}}8=uJp0~-rwba3mRp!H9IOi99I2H)sdY!@@t1a$hcv4O|_0ROB=IK+Y;$4^(Op zt!W<>Ra%mBe^jht)D{|2bbsVA@u8LsjW2ox=u6F$i;6bL$HX@VH5M%e`e_K|*Ctz- z*BASEILpzwXV1ZfkBLEysC=8D$G>BHCPl&k&(F*Aaajrp~ z<4b`yFd{F#8F@l%Wu(3IB>pKg%6*d{FFhspXGC7w8hJ`gHE0LW(_$8*G5wPFN zQN&v-0>y_#w}}RWV#V{KABt}ntrlg)$>=}C0ob)9Eww;x;xa~S#ZX9oB3@3TrO{8t zR|Xvfou7-b*tMh_WsbyBxwu`>eYht$FOT?s5?$ z@=I=BcX>-173B4hFEFCgmgJSn4;bn4C8TeE%1`&kGFifi%GWcmO!hHo2T(6LfRQdk zAGtRpDnnIXA32K=-QNz$E0^;PIuyKe*`OtZe4i>;Git-#=a@W4{(+Ice|O|fjLw42 z4bqVt8C@D&+4*=#ereEkofiS^FzB|G2ys-vV zGn!%0Bt{Djav7az&}EFSFz5kBw;S|2qbC`WCpO4_vi3mAoyu@0@|(h_E!0rbOI6C5 z8p+M}^LdqWkwIsbyp~rjTMat5>`xKqS#lyEG4w7FRv=zLGa)&`< zNBptuV7W-!!t>Z9dA70a)^5`}O_Db-TFxuEN%DD(xQ-^v$FkB*mXsTMK%}i(A~spR z#=N$WM&Gqdhm&3STPwcrRsqS0X;c@RDmSOm(AadjhHs6jO^lDtkbhycEJ*hjhspa5 z3UnVIJ4`;QB?axH%#=aCQC<#oKZub*nbLE|kmIaq|Ujp=?;Wd;jjm?u!7+!PtW}xQ{Z)NwhWA*Yi!@Iis`9SY! z9{cP#`E42vjvOcRkKo*c)UJ=0T^TJ4Hg_K!IbQZMynTCYm-A(vK}Ypy1KQi56nG2d z6obwHZ-Jc0XqmX6M?jt+FJ`n>yx5~x{)zIXG^)&BBz=5?y;i)}V^F>;4>0J99;5P4 zlII!pYma^Nlk)a7nv~xlH>c6e{FA+U_ve?+&R;4&WFFPn^88ceuZ-Fx@lH)kPA|PF z|1_D;x9}wSTK*ZbmJxP8z-yIzr+I@T=g5g^^kx2Xd9p^qlS+H3^JR-cv{!PzyucvZ zD>+}TGw6HpE|51HBymr9fxO3{*3#{ArF_Dm^Ge%*UNNXQ?nN(@+YG8kx(nqOjMj?$ z((m#wl0Rx5R!_eGMUST1)HA{=S#A)`co)l2jA%yi6Nm(Wpb@X@KVo$%jLBi1+OoyE4V`5Y!Iy@uaI{e)Hg5+yr&JiH?U8^mGWJUFo#bp zxJrJ-NY55m%dy9j)ije#E4W(DW<=#X8fXzCS{=>>TE6ciDEJ zWd==xWsk}84WhpJH+hLc)HnYouQKS2sK4-WdA&gwMDu`dGiXj3?yKb81}!SV2E#9gH?%)?QWkvfP~Jomu#b+@=xF=&#EEFj^~a==sOO z*JS5;q;s{ntLM#yugio%kM_L3@C`YL5#_K!zA4X2qrs6k<#miUg=l|bi`>9yS&;T8 zw#dI29_=~4B_A<}_PyVd&lyDf-fzjb4WhC9ZTX2oG?u?DcNj$b-tWjzJ(oR1``+)! zxIwh<{f?|Pi1xkTmE#PeeeZYW41;Lj`#m||AlmnSPtrfG4S$Ac-+QZEWf1LqZ4!FZX4%Ecjf{KJtBe2&1+T?Sj8A zk2R9C|M|W=$spSQd|#ez5bc70AlDj1yWk(lTMVLI@DJsK2GK6~hw?>(Xczn=`MyE4 z3;vP(+928+{aE6y1};18jeaci45D4|f5>hI(JuHuWTip03*IJ&8AQ9_ZSnwvXcznw z*2GI`rr?T68Z71!J ze=3h*v@EE4ZI{@IHmJB)8_;P+l6KEOljj;lyXT+DK_`%wHc7kZpUcx3ZQ?z$&*d!! z(eC*d@-arb&3`5HPNZ~t9{WmGG16`R-*ONm-RA!-M;RWq`TxiX2GKtIf8;A2L-XPj_ z|5o}IQW-XdXxIH)ImIAqbvxu7gQ(T*kf#_#yYAn~`wXI8_wQtgH{~~lXxIIFSz-|F zx_>Wg45F6xgB)oPwX7fHM2#fvy8kGf45D54pXHSX(XRV1^0qXZYweVerqKfHSNW1b zwCk?adug=PveduR=nTuReodq0maPgFbJ^u9(N$JZIR??HD_0%BXc^XE&lN`0BEzFS z_&i0a;Il}1x;sIG;edSZ?e!=y?!bzO!H#B zWl^>U~CM1)F;}7xhx#7#{hh zm+Hk2W7{Xx=!-r}9ttCuu_W%tJSQC}F| z73CtnpW4A_S#V?dipYNISHq(_@BLNabka$8$<08W7*YFtEPj9*kVenOC#d5!;=B2Y z$~EceZhoRV#qea`*9s3-^pEh8&b+>F1D$7hl;0$^+VCj9Not+uA-@%o$!bFy-5Z~x z9x>^t42P&qCLNXG5cQJbksCPyb&rzQld+Mo-aiN*8P%ru%&e4;wVpmmU3tgc9- z8O2M~eFohKUP^6AqZ!4Gs;ZT8(5vlJ)c4F=Ep8k;z48<#G*8?KbedXKMv~eur>iG5 z5~_Ap;pyt~EMBv^*6@1N4(r^ko_8qS2eJ`QaGKT66&k%%cV3rf^<-6s*P_0v&G1@O zr;!@j13xP{LrpV?o-LiBjxvaz5uKsN?!}U!!v<~#IzS_N<-iRvp?20`E-dSpyL4OB2TRmpb8$jo%w+#9SXu10Eh>T_Ds!uf% zUG{3|b*}Oq!=8Yzm&z6DK8-^A?A5RL3iX)bkzZD*XAC00tWd#YIUPTbTcL^=X}_#c zy%}l0oTskfb)Bxw^HgtMt$iS=HqTQdc^uR}J74Xik?22qaO8Y-PZsY2^@!m$jvm_g z0`)T^t#g&y!ZV51xk?R7dL`N*FIK&I?$Er8)yX_t==@fzt2GkUV=k7fRZAA{61Cj$ zrjM!YcZrJgOrq0Ws(NT7&H?XIb@tLserwc1o;!4Y^p>F%ccC>aoaW5L>EFfm=sLcI zWje;+W66JY2tQ}a*B$6uQgbt@l-N}=o1$_WE;rDN&t;&%Ht$Xnt$PSug3``25{)qN^kkCy+SgNAI%o;7G~9W`g? z(y{E@k)vY2N%4Ey+YYw>_e<_%{n>T*d(!HfrGExiirg{_MDx$+l-0%C1Kq z%apw%C0oAZ$TO`Uja@bDPhD%fhDzu<+VdE-=dmkel@uLq*t6!2$&e(rkucGBZn>NQ1L7&1yTN6dWw#j} z*M9CuCwsg##z$H4&$HrRr{kVvb}Ag7HyWhS^c<$>cs}AvbVI0HxKH#(+%Iah42QoZ zGn%>kaX1yB5;GB6;%J0EK6~hStYf);&j^<7Nv+{{&TC;h^lBl=l;5LMTiel|JyU*< z=8o2O%4mh8tR`Yjo)jq>%{vzE-*EX7ltV@DY+ zslE4GdS2q(e{1y9Bjh`*|1*}@J1<<)-zV_J7!kvK)CoTuzZk+!_|bnc5x`eP1Hb{G0B{iT zAigXT6jA)}wj^jFk-)DLeqsEg_}Tcyfb#KHeHFgV5f`PRD}FKjdO*4-e*N(qEP9D@ z(Fb1>D#sVh`icSg#Y8{+i=MUk?!r)fM`O5nA73CDf?o{Z9;w5({|DiF^$9r%^vU2) z6N~VU(IUJ{bQ-?H8^f;!zrpzR7f0gDBu65CB;rRw=2-k@;WrPzGMuvhf7p8y_^68P zU%c+^4&6yeC!LUxkWT1?B&-RY1;P?A0TKv1B!CD^Xp#;@l5|KXKom6rbZ`U(#SsP< z5FBv^R9wd0flP*hYLHypwBeb1?TyKi?AW#0S!KEMC+(44M1b!t0x>eQ)I zb?>F81N&P#0PnMGz%yx8mOn?;iQ({HZBfYMw4LEDzz>z%7#?8w0K-EJp9buMQ)!}k zgTu!-{4v8X8J=ONs6-Ra(9ST4VH)5ZWgwut_ej7&rV_xtN;$(>fH*l62XmqlSKx`w z!_nb_QrFQy=>@1z@N5m05^WHzK*ap{B_WrwjKebr{)|YjWL75j{`%g9Vq`~;uiJZ zp?hsx)YHA+hi~Yyp`)(vPb2)=P?vp+IyvE|#O>Uw?dpl4rX<1-vQyZ?l<`U1 z)h~f3Xi;{FPr@BZyF@Qn1}Og-o|6p9AWMyrQJX(b~x5!wg?#se6@2C&@%@4(HqN;kcPH9DUiEH#a%Wv^#G> zGI8(oDB{CPgzwC2Pkx(A*rMWDgyiEqI$PBH^9~^OvAp|}cZp~7nr$c1lD`9UB=3#n zQ<`j(@A3yo_=Y}pf^PleHH3fzO;rUyCg-9JdodQ93-;Q~kl0y?E7YR}eH~Onkz<9L z7G8$%YeVND{87Pg0ACxr!qF3yk;y%A-|9w3FJ*ZAeGZ2*bl8SI4rOQf^NtMVqk=bq zr+SAdBv(TelCc7XWHJMJ2bnT}Ig(hw_><_@EXd4F!#1XDQR#;NF7Xj=#Z$j_rwrj- zHQbjHZtch7*IyR+#1t-eV%0Fa5sILwm)OQW%TF<#QGB>tzu8qu-kHuTVRrO-g>_D9^VOjL2$VEx zAEM<>%cstL8s*(%%ptI?4bCjrJ*T zh*6`bq?3f4m;Mru&P%4(Ew$;dG9M_sI{j_t#@oz?aDHx<=x<0ruFzffpiumBZIF2d+m69m*c&;T~Z2D*G7U zAr_6LF!Ajk#yre@e4P7unEUuR_i=@KaP0m44|7isb59R*PY-iX4|7lPmLT->RWAQ+ z&igjgzs>Y-GyU64|2EUVty?5xBe)VSi9!7CWEMa5HO$tx5`abIB0Db5<4W^7Z-o3tWZcNv?)7^rw=~GEw_pR;!~3qw$&GaF7XXu zf%pz^g!mb-NSMu5Q7pm%CkPwhB!O>Hh^ZnGaHdEx+wkhu!FVs<8Zi^FU9SDEWX{cn|JaK)fvs@Op72;7)M}aE~|%xL3qmY-Pl*b^!{TDV7sXA0uZo8OUl;EHzAe53JSyVCZQ{5X1$aW# z0iG0_0lyG80G<+m1UxP70Q^DR4=9v30L{vGfL5hngbnY9ngkf5cmR7TYXK9L8vq^3 z-vOP<$AB41M5Ij&P=)~xQ5FKal*<7Nl)C^&D8~Scl*FDkQLM}doS-xTPEvLNPE{TR zoT5 zn>be;1-Mu}7qCXH23)4r0@kaS05++A0Blk309>s;47f&p0iCV@NTVIiBGJk&iYk=CE7jgKr%S*NM@}mc-o*4>9H#Lq#DP zlR~Ne7%pZ^JHyA6YIS;&Nu_>OGd!jey<#HhX4t`Sy@~4G$>CiL4>Ekro|Nlhj(-M5W~k99%J}ELnV^(ni%$DIG$lO!*vXIGklEU z`wUGzDOW#+)eP4$EWuMl;1a_QhPxythVUhJPG#7^a2LZv439BXVu>b=VF^Rgi!e@x z#S9lSY-iZPa3{lE3=j4qo*d%vQ4SyDuruCddM(Kr|7Z0JQ*k`Ehv8y|?F@G^JQ`0W zhy;Sg2`1A6eTow(S4jfpTFlVRu$^HC!<`IwF+9ld5W}Mkk1-UzsRV_gn_)Y{4u(4! z9%Oiw;W38JM9Njn@DRge43#9pr!g#H=w{dGA;Dl6ydleiqTvb!(xVu8SZ3w zkm1qMJnltYKEq;$JBzsG44q>sT+A?IJoA&`dWL%#9%pEtK&izOSl%X>OgCp9oj`d- zDZ%5Vlxi;H5*XGnbWSswKJV|G#SeQx^V^vlxkP5&`Hqu+vl z%lbXu@0orJGu#=sW+Y_(F7v}ob5>MVR@RiPx~#^m-C2jTdiBrj@9zIh|Kb6c4)}Dy zj{~d&O9n0+xO?EpL0bpCG-%XdGyG^_@VZ&yK?_GHLi7}oA__1Ta4 z2RjFzuL9bdksqJ5aYyJl(Y{1u$xfYKKR7$6qCgRScxBnm3I)OKL#Jz6IhL(#HE`u zOS~e)0m~FX88%{a!ygBJc=%z!G2!%<-0|UW_$jA{zk{$jf^H697%>rWUBpztjS;f| zcSOtsyftF6KRhk!1j2Koh<+i%>L@C$KI$`IRz!UTcmczW>S=^8iTVlfm2i_uh)bFN zbJdFQl~GZEzh}(N4DVq00KcL@Db!%;7hp-v#~y4qNTimstA+W+DD;j|&sxUV93l z#QZX^Cic2GN{HDE*T?@2;f?W60#+qZjkO8XPB|8m^9>2a!|uWdES1sv$expUF~VVe z)&oZM`5jJ-8P}A)Ppu#PGcIDZt#6z5~!G5C7*b3v6^jd5S;)R$W<_2sFTMBq>SOcKMPtVLs=qj~3a}x00 z%yR+PWRi?sleq}ttNT*;{4C<|sx0cox-6P6n;3qUMf6fmq|A)yPqj;oF*U7#@=D3y zUsRkS!zxZ1Owg;5(5ZMoBYJYr%MgYXMa};8cq6GC)<-p$CdMpJ6?E zpkl994oo9@pkn19=*4<~vml1e=#7f6mk{)!H;QOsxDvflMJu2J-@qJ%S20|J-l*at z^g|Jspa&{WSQa1*{|>_K4A-Iu3Ra^kVAi7txT}S>EBKm(2jR;YZa}N?PE>|hpw+nb z#&9FrtB6euuR?oOaV4N4cA?cOJPibIMtc?P7gr#>2d!4{o^c<-e?of|yjPsyezaG` zO1KK)d$3aCb_~ONvHw)WUjT8p6#Y=(nYakyhtV4aZ`-~E;YZOMMf?>|#oD_0CXxh0j4Rt0JD|ds3iwb6+@L<0P~ew0SlDdfFA~^is8zi0SlG=fFqPU07ohZ z07ofz1CCbi1uRnT1016~05}$J8B#@w@(5rR-W8;Z#mXVTTIDg6xfBpmfp_dcLKrqF zPXglwR7A7#G{P$wwkpp8vl0-Jpgf20YCt^Xp}c_b1%Rr!LU{>rqw)$cn;2fD`~#RP z8E#ho3H%m7oJ_($jB{^5RotMw1$d+K4lp~FcM-k`5O3&Jjv@SKhWnNGfw>(}6?Z5f zAbcmFDh?Q3k~LDxV^JFT?wk&w#lfP!$g-pCkMrpei0xz65++`5KtN zE8ige1R&n2t9*;_lMG*0&H(cYpekNfzDM{UfU0;+`4QoNGJHe%8JO1r74ep$D3Ae$ z?-YFF)z@XrcCMNI-!)nq`Eih~e*)h-3$FtsmW4>b+Y zqV@x{s+mX)2ZT(j{Sl627^MybrYE2xqVY}=6<;|Z7^7wbV+X{Ex;hl$IEL|RE-<|q zCcu-Th~5m7)M3CUGVG%k0-wwMUS}0pezsT7hsO z!;$J7U`8=4!rM16j{u?b)%gfdW;j({0L(N%tODvHgl90ErB(qmli?!O4g7BaG1t^; zz{RQu7&pUeyafZA91!pORqGJ0Vdztr1JlBArP=^|E5lW)7x>i-FHlzi-^TD_)rasU zYAaIP0aekVu0nV%!}V$#FzXmzs$K~EWehJ@F9Lo8Al?|SUV`xN7+#4l0Vv`shFjEi zz;6b`+*B_`_-cl~SAPr4b$}|qIB_|`+W|3y)GGiVRW|{?pk4*|vbseH6X{s5!?EwM z08Ykw9gelqgcWrk&NTaC7Mrj(-=jog6L0-5N-+k8L%nrN5Iu#Cg3j!3ji(Bjf=2y zwTXztF^Q8C=Owl#wkA#LGry0gPir4jazb+7^eo6W*>2IVT zO|R;ARli&No#|)JaAcHa%*t4raaYFc88Ml4ncmEmnLlOr%{nLR+N?*jPG?2-@6&%u z|MmSh_rIZk?Evq9yn$hZJ{k1mAj@ELJKg<||DYelvfk?eVOIP9De&o2gi`f?O|V7i zUohRbOc#t>I8@I=`TtrhU`Zw5c1QwjsRZ2aNPsn!ARPE}V$9P3)A5&$Gm1jgF%o~X z(7xG#6|m4MVa3gXWi}Vq)I9u=tu!Bh=YehkBxE5*U=i$?-{7wbe~aFCEY9TN_s*h;}OhrnUGRn!MJu5x-mTcVotlNIPiqWjt>BJN`~)l$j4FPQqWA`L~WTvpI7T z{>sc7GbZ7$%$$XI7UGjL3)PDeo}4*eJ({`M{B`El_`4GMuEyV$$a^L7U5&ph&AC~d z%{5uugfDA>ayS0o&RVDbvHx$?$NO(lN8xL+YX!%(P3*_-e*9jM{0IDP6L%qg*Py?Gmc~sKP4m{Y)_cZ^X?4}j zUZ1zNC1=K}y2hNE`g&2))HJTOt{$JMoa6J9u5R%(()TIx#YPYapeEr9bM>C)Y5vdU zg%)DSQ%>Kzqz~fBkF$-(2jx7~EhsJ|kLZ@Jyv*C&V8|B|EuX}n;G0m#rMmG*Y-fbm z*CMMI<fx?d(AV%nS-B;xE%;VtU6ZH2t`S{v zFZGCN?j}P&5$m2GNNmC<@F>fSChEM8g7cPn8iPw9jIk6+qi4~Yj!)>}TYy3vAu-wzL+|_6e!&2Iaj}$h$@$EtZ(eemln~+@B3#JZC^3*rs zvw>nJK1-;L$t?Oxpcd9fW4zb9ybkU63yc0GQ=dUNLmL|4h~Dk#-j*_NYh#VpXrCyT zUrHTc4`v8s7z~=zQdeKsQU~s#GM0i)tte@2!3ed~RpWb;Ai`%_L)+kIuYnZfJ;CFv zZm#2@7v&JXrC^k&Mwcgp5Co>)RPWNIo@PT*$V8=dlBse@SmvhBMz)E0&F-dPj7GpI zB!x0nl+@HTmOu>Np*C|?+ zU_+5$1lm`*tQkuKBtECo?OW~>1jX#uMoE@0e{w}tqX%n2)iSxLi5!|on54|~rJk0m za(u^GOoZwzpIYZ@L354F!T2N>bYG4K~WHxd_dS!0)1 zRgH63(>Gwt>OA!|(4=||dV5ImyDL2OpZ3sdjB4|$4`$$43xqZvV(>m;J zs$wjy`3RRc!rpOXp=*=9;hJ=PNL<%d7AFL2D@K(zuB>bJHnOFl4NmzCQHeP;4|W9< zCKUoDTQ55y>~q`KPE zBsri3Az>c3)MVqlHErBb4rl}H*Q8>+yRq6+U+<=cmp?`?+m6*uOYz7N86Sk9TBmxe z-Sy>7y4gY93PDZBH=wokz@K5Jw^_E7X*ot|G;Lcv!KH=b0(AaDBnd}#jiZ^vIWzH% z>gu{CH;xPfK`H_(3%*{j2WSn!5oMz_z~ICB~H z0dkI@{{aM1Xf2-#8wcGp$gGB$fHkVJuE8^-wibyjG^MMX@TG7c6YF6rse~aOcE8F`d$krNU0|7oy1{w}e-fsw$(2iTx}T zp+Wgd(y!!nM4(W)%jQyPCpH&; z0dfpsiRfbICMI}l-Pm!%w1tU=N!l`=HmJ37Ov0V~R>OY9^q2gd(}Zn0EU1dsC5BE^d+JttBmvwAK7Wu~LZvWU1fdSx~y%JnNe}Y}I%JqmxSMgL=bOV>%fM7#1vodU6-MGM1#1O_g1dX8WvG z*grMcx5(x~HNc%)?SWwdJf=#0T>~5A^OoVq*92=^R4r+(t%WU9RqfxljguJamSJJW z)-x9PZ{itoL$p@y)Bl5)W?40A_~|4pN8;g)|qURBZd`<1N^Jd^9Mqcz3}kXNJf^|PWO0f5S!qUjP=tS%8+|)*$i#tEhAb< z#`I3vXwOGx9P^;0fn1~TLx2Zb`sTw1Z&j)UFvNVIKrh8E>L>~TdZ?kkScR`@Ft8_Jd zMsiaZsE3V?R$mL6f@wt4siGd+^^n%+RIHf4QE4}4>Hd5{BDvkYgbb`}WB5Kox zzKdkolO@edp`QF5p(RN_LeLHsSnKP&(GRc;W?gwB)D7tj-0j1nQ;&HJZ(Xwooc71r zi94yKrO77Q_*nyBUtZ)BL?meq0vMnT4TIOFQrqHuyxRR+&Rrq zM5jc(L`ZVrUV4o`geBAOmg0aRv8o=629wZV zKF#SY8&XZD=ah-`79W)m-XAHF1$3IK?9}Lt)x1}o6J(v8@p?s_QnZF^ZPm$e4#o#z z+)F7}vYT4CNYmS$i_-`yVfTv4Tv3^avwoQGY`RiuyaS@HbD)S|r$RUhLoSy%dHW;~ z&efJa!sjtdXS-MFYMiR@`#v?rLbZkBh%Vp>H4t_}8VV0Bq!X=N1A;xs!D|AVz?4f!rpMQfB1S$RkL(7 zNu64tyK)P7#Ekj;I>?CR!u(q!YQJ=yl;YGwo=_O$dOCb6!32JUfg-SKcA^bUqFjED zOn^EBWo);6@D90yJm z1(mLaG}DNBVa&ucIS4@%xWEPzk`O}g^Gq> z%sPuFE!sX&WMI8c+)0~sLBkaVrYRL4h{3GV4ud)sP!+H)&Oay}PUX(UB(R#Ts|qu-Ec7Rd||L){%b$ zb2U&lOt}WsjQS)jXUAi!@h~0{;l`{YvvQ0C$QS@*<%ZsE-1mXr)%vR-HGS}ip(4uokltqLyg#o%2m0^zXK5s{_Q3* zz}v(71p~3D#q}I+qz~$lFJ>9?Xm^qVh4>X|lkU^uRzd`5fW->Kt-(5dXI5j_&VY+c zJ&+HLIf)n z135EDvPO7#*6PkaZE9#nG7Wwucn=>WdDvEYo0kV>h@Qn$t6%Odfsx;^q`s}PuBF}+ zAk@)@ZD;31=(m7Ccabc;R)GZg2IkiJ>Y!)>xQVTGHG$apsTJ%%sKYJ00Cu{k6^y9Y zU5~!0?#899keL95-dxJ;ZZxPHJppSt-0p@l^#r;##2TP;VHk=U%qJuN^jsRRJLjQW zz1=1nRH?hZTPhq3;v#m7J5cxp&yv=qOG!b8;xO2BhqsfOBtD=e&3-*85v+M;d+Ob* zIphlzr|DPbUrQa|5;btKRKHpt$N(o2t`Rr3&|Q$g4qGdR=D$2?7FgIQMwg&8Owrit zD(tX*P4(_JSm8cjzUYJ+22?>+Rm-wESPp#AZ|st)Dwh~vkx?{uL{$~3=Xzg(A&s^g zvd@}x%wrHMZGDt}w?H5KOE&gND zBjZz`J&1tjU%8LiGNV~K@p&1VQOlN$cI<_j10R?uuW7_FHs3f0pGthyb$BS2P6=?r zg7Ylccho7?em;t6Rw76Y_}LyD7U4wHQ!4M2$u{svHbW6Eg~c?Z8E0#_)PsAexMS
fAG5NsQ?aSn{Jlt#!_i>C?qjl8W(mj&_{$@`dNYiP8}d23KX3+gmn zgu-zRo!$h+i^k?wRYC2;3B$zXHIyggnky25&{BmHF@DNH6luzM?69h;Tv0@-n}T_w z$iMQD+nI2XDoUn9b&3{1Df*U|ta8IhXhxx}RaF^o86#ms9cTrPw|EW1>sm1!8Z9xf z95-%sKPThoH2U1No*8&TK}RD86ckh*^)bLLL^QO{w@FxiJ&ggDbz)K=39Q1QH#LC0 zsX?vIGj<3f8kCrC9CqAD)*rc`YrZTd@Q&&dg1r8TP~(A<0r!mMOad2R>|$)Ny{|C{ z2{j0tAUqsE5Yo#}9_NTVR8&gi+kAT}FZ4(9gJL)Ji%Z*h4!Gth{6} zh@#N5GHC_K-Ic$|!oN!ipw4ReFqOKhAQvV-%t)9)FaXY~pnO^{q+|y|cw&do`TXO< z7W{d2O@fr7JjKxG0rR&EHUraiGKWTD&W9LHnuPjoA-oY;Ub9A*bhdUn{*yEF*C-0` z!i`^}8HQJFoE2+Eh>GRZWjw8jGP^&xq^6xEw{u;;UKCz8ayAn<*T43W;g2u2KvrpTMEHp%qiz4NGd=oe;Xs4r`$$KMzm1@ofY-kpfH3QZ~T&!VIek zvW3XZz$q|BN_xUz#1PrEx_a#7J+Kn-XiZIxA?n{E(E|{govxdhTtVYX+?~R;mBRz1Y(9>G}%b&uKYq&8|XpD?7Mn;MW+OZUGC$wu=wB(0O zf7p9ib%V}IwU$Cy1IzwdTTf){gxvAdxD)Vx=YXR$CFDatx&={$O<;4IG*bMFTK8t! ze^!xRiM%?C5z%hT;V~fSdaO{mIBB@xFT2YIH3^9nB&{E0B9nVaGpERtg|?-JT|xo2h1iwR_KxIbPG#8$L9(P}q@PMJZV7SiB+$bP{DWE1(nb&a zVra&-;g%m409ygg2dWFFw;alq4KXT)3L4;9RiBFk~L;b*@_! z8C-yL1Cp;Dv8mU&z2<&l8lQUi$* zpB3-{j_%(lzasf4XvY@V3vlOjG&b`!HM8M6gImMxYth{jTE)SRN3B?DjOMCg%S0;M zsW1=m@ERp@&}cbhZ4Q{xxlrjrFD;m@UrfxwaBD{&c*lXo4U?lui0EZ_OGYE!kx`HL zm*69>kv_cR3-=Ha6Q%|DTO>sIYEWe3KgH6DlsddBua^iN-AHZ0 zo3?Psjd!9n5k8($Tksw-FY5ABT0CSKz(p}GZf)CevvI7 zKaJZ+CEzwG`bxQG_**(2I4|CERtI_?-YqA4r1zA#i;t8?8L33!e^#QuB_@1$2r>}F z3(IoEQNuaET;?q1CAFoS7UrLQet&zyCoxaJ&$xPoXdLTVYKXHU&4-pXgZl(?#8f}U zOoT}0glQCHcqQkekrpO=$jHm`@>Q&W(oRR2dvafIe42R zjeiAjIA3I*ko;lS2F`~{naB*yO*PaaS1U@yD->8_M0|BudE-b%g6j}bxCe6C z1PbD?kEn)Ge{1kwD#~Ajnx^r8*=ULU&xzGx65hPrfd57zj}MfJWg@65h2WNu#;QgS zsZ3eRB(#~<1e%TYC`Zg1gSS|9uDueH-O6>lL@w%{jMmdSoQpSP72-=CPW-u0YXCa& zW>2bFi4N&)WPl$co>oa(IZ5JZtXP-zCf@tdQj*(%J`K;8F zZ8PK=LtG}Ez7*xrOr}{woTXYxGDr*3S0HFc;>;SYrkP1{23NxdVI0#Z8{ImkxPY>*^9 zAI(nE!G3F|e;|d%R;ErsK50$pT3Dn6=;ZvC@2Qf+SaBt*q!|odwF(HS{=)8}UP=b=Lx&GE^T0%9;g9C;o+KnGnk` zKtB_-v=$S0y%+(JM0!ZdJ;7|WUd|6CnMP5{p43*9PPyxa5>LFL_1JC95mf?u-L~ky zSL0Ad4e1aAPpPhY{71iyTn5E>-5MM$TLJs29C92iiy}Limd3LIwb592LEW!=YQJrU zy#eu8+5$Ovr=N_AF~4kik(JSmy8EFo#4+j%=>Tm$<_C|s(Q>CYlU&fK%*4zmT|{+? z!QJQSG^#0~qdFBO(8^9)QHdr?Ah2c#6ZBVjDMp_3n&{VkJ^qm!8q5{a92HzcH#VAG zA2mM*cvR&YL;9f&v%G7qjh^?V+Jb3y>w;EqX<>JrF84BGSobAJ3dzBc^(C`&uJPcX zlvK%2w61p!c&Y0!AIloe6cLw$v6Hiee%acH&VdBbic7N=TE(7&-=MMJ{UEJ1)u1HJ zjyan0OR^@SXwRXqHNt)&*4B$e6yEoFAy(asux*|)a*$@%AXymSVHS$Hvnya7j9@M|^CWVjm!XR^umJvC|KbYw(ke7_uSO zzES(#s{L+@@E2{fe(~u`L;vx?!Y7c10@_c6$0%y-$k>r7jwqoju_NPS$EdMGVoQ1n zM#smNnqr5<$CfLxC9x$@sA!DJjdR47gma9DdplLdn4%Yw(g|-YEy9UHWnpHgVzXJD zC}bJ}<^cdmMU>eP?i5-mibB~sOUzCYJIsn!NU8xkRT!$Z*?JHJFDXlsg3|dn#b$Ei zTU1V=hB=iKqQd)*{Mwb&r(tzs+_tU3L?cr6UrQAVq;TOy+YIiS0ebQ@2%2A#h~nA06W*S6py8yx?k$WQ}38zoVzzy69eT0 z?^=q2H!c5}nu3CO0Yty$+*BEfyI2>SVg)dTT=*-n$PIym ztelNx2I2?*!*pZ_n|n2z+pF!X*$Ulg>XBk&BaxtLU&E}xnjJKM6fyV3%2FxBks z>&X&c4U?WMYy<`%0Q80)WC2>Ouq#!noy>Z!9d@E>v$tVqf>cW^^9=vHrf`oZ?!ze6+#|NVgTSS*un}Z-J3u*l9Eal_77uz_15lVnEshas=|8UBbk~w2v|^+0t5*fO5qkV$3-*W6 zG;5$K)({3^!FF9>zQ8#^5jkDJXeAb#WXwBTZ2M^p0_3*+G&tex31n>hwXq!oV%ra6 zHpjMamjkk$A{_%b(m~r{q|21UBre+lItEbaFmL|069gS#`(c|jNc0|Nbge#v&o_$5 ziA1*E|ITp+)Ddq0NoueWv=w>m*j~ug8vLc{++cBIZhLI|8w-))*2z1ko-0 z+EU~^hHTw{skY1Nh;6@xd^_}OQ~PTBGO)DE^j^*|%-WD#i72v5>ONdrmq`{UG#mb5 zCc^iGwxQS)a)zHkh!x`rnk;HfCQ_%0RTf8a-iJbAx1Zoz zPRd$N%34m^+fVkSZKc1A0bB-W!k)K%lia*=5P|`6>5V!mb zn}av6GBbHNPVx$KiW{P3IwdomvbUe&Os9}Zb6>RI#+8$Mq5U@Ucc@q)WK8X$QqeL3 z)uo_FjJ?!lual_0&dTid7*gbcZGG%W3nU>`u#m9SY_i3ux}z^uq$<>-*berrbkMp5 zKi?3Ne=7^U70Up!*&%5iR%5}y7^6rfhY5UAaG211+Rx>-@25z|5Lw9(j<{q5t2R;! zWTb%k9}fN>wmVTUhp2oY$elnAfY|n@Z17}IP!c?qf`tHG=@>w+IvK#^wV*>O_~q%k zpL;Qcp^G8e31|pDFCe-1b(6#qGwzKn`_zqK{V?a3Zy?whsv>zdo#{C2ykTURqjkP>`TG3hhVg9=Z<8gA75rQ4{PPN$orF z0VrW^7hZ(y!9l3nOQz@^i4|*POrYxR6 z_V*^Yx1!^gbQ^ z5`kUXc^IrGVw-aZ6aNWY1_Y!X^J#uRKpuw>d z_dn(t{LN$5utm3F?pQF(TJ0U#<_IOWr`e*Uz%Y#M8O?nTIN`yojtP*P*pi;c83?L! z2rK!%9f=UfQiIc2q6cY@YX_`sjdI~bip(ur7 zvzpLMs|hY+7|Sr3;rq8nSj<*P)HM7LGsy~L8RM$P&WfD{VX)adX4yOD;9IR&_hCjO z1&&<-1p=3}VkIv=M%kT214+YKsYc=P1@9_;pBrwSD_j-~IAZMtu!`K9JuP9elW0ke zos{CB5@I_VV2F0C0M{o_0G?ayFa!b-F6hjdR1uS^SR+&*>>X1%NBb>t77OI?7Aqrx zr~ij5A~)n3rS{Nh4t@hqAPf$A_7WenLtQH@@acXPoCj5*44}1OK}Sr5({4OZVNI2;eyIA#ak>UY|F4=V~7C#Px524nJgGg z(Zg!Pe^z^&H9}TGr*G6C8;;Gi(>Gf4@87~~UB z*w6n%PvZD>$DNV!C9(#mkS z)^}_pW#<9MD7HvUdV9wWtU7vf2=!4y1SLcS-SfKH-k(Tme)8&N@P*IkwGs%Ljl|QDn zgPYpJqNbQqOqkFq*mje;Glf}9R+DN5%g_-35*AyrBJ#E8B?7miE4|)&Uk;u~@Z#2d z8(mhf(G#`D7%T-jF8U8&N+*-&7P42N>29H+Z|^{iHZGS+6}I21;Crw1&(8gq#)8~= z5@rkpA+SA!{IRVW!;)%9;EE2!u=K#NAdz8PFM@ZmAdiO-1opI82Vz_Oh#nZZ*p5ef zfDibIW;IXxU5bj0L?zG!l!asKU_^Eh0umJM$nrE;)tv!L+M4 zMO88Su^k7njuGn*Ky3YFePc|JTkzjF zZNZyT6OXDI9-$Y=Is*=ufHIKkg7~dQ;w+DS4k+GXu>#WIQe|2YsT8yJ;`%URviLwH ztwiC7vrsv~Lj(5}ykD^$=Mp#okxWOXQVW2G}-WjA<*y^2qmSH zZf}KAVeF@{VkrPCS{-T+^pk!lpTps@L{MvGA0WDflQ6bpAzBjDK^U-lI%^#b6CDX1Fu|c$3J2_ zUP7f$bL0&K5P6QKX#1uimdMyvL|>957!Zn~zJG-D;3X?q2LtkBbx3#f+0nj(|2X~lI5W)m(w5KC+-lsRrjB!rAArKJkB zmnDq0Cb;q;iDNq!!#|0w!0Db&tj+w--tk#~s*cH!A}Kq=*p3?X2@3UEn0ht`GzFO8 zAVcCCxJ_)4uo?6){1aeqSAGy%?`{%Uw$REhbMX?stS{GqK6gW9bB4u*Nh2Z76la#k z1+7O81gD`z6vP;^p$vxx>}DDXxG~69I013df+tB5F+?&0c^OWi1X99UVR{-?FICzX z^-w6hbPxqA@PLPamwsMFFahn0dXjqAo1>dVjtK4?Q^gVQN2QZ|h^hq^%$QROa2Ciw+GKsL!Iq;)q z0o#Zs5f*gpS|!pMro_%iK((rDbk)HeAsZO>BpJLU&|H#k0b_g7)Z1cJV-v}eN7Y0m zp)Fq#IU$Cw{InrnlI3d|+||>JB3zK&bOvL|MtoCGGUA)GN}-LdvbPc3+X(bFf_fVP ziH(TD?GWm+eQi{Xy#eioGpGUVw>QXO6pasLnpS>?gT_@4N3k~0W00hjFu3h;jRu^- z4IzsJv7R(uz<5d{$rcq5{zTthq}!tbb%gt~J>C)DF0)Pr*SeptIP2A>X#0XcUF z1<^#1<|+r+E;LWZ)hf4Kb_! z_NTx^ze|a%Tz>)y0tBx8DUxpk-rlh$5>}CJ5s{{Ee=39bflrYDkwy%ZVhm4KL}`dH z@w;L1ZkHUx6N-37T6!8oiy|uQPhT{H%RSXYEteJ%75s zS8VTP=>d5npBp#d&U@JZs-`Z1*-IO~b~`n--PnK#mRK6|r+U*0G=vyO>rr3{3hP0x zJQ}q1&;{6?Zr3DdyUJ|e&f~j5?j5NI+x?!z?fuEjDIhnMiwe<;rez7m1?q^4QB2%_ z*g7zBu>(yN5g1?8L}u?mDuzoyX|fPnwXoo~Z%08J0|g~OLc0(_C!v37zV-c;^a!U3 zONQKEYTk#DKStH8J-bK@@i|VbF*vnhqlYtWm#+AAr+BVh|9&6rm{U5GqIWdH3pX8>); z;e=nz$#2i|Iq^U*UdrjI$-%0rh^TyQQuAH;d4)N{U1&v&A|eUp%3gxk+vQ?O144T{ z9lh?wT-l6|X$ovut<*hiG1>8!KwnA5lk)zTLC_1wR{59(xc@w>0R0iX$8`W#)1-)+ z*$OuR^i)_Gj>+kn4>~Zf#gR4r%Mg@HUR%RUVUbSv zy0j-knBq?J5ISc=n*z^bb}q@vH1q_W{I3AlmB0hsl1o5dI{l`n%jh{8!!zzk?|dTS zWa?&6)6*)()?ANg^b~(Dy1wp1P3~M~;F)lz7yu3wieVyOj6fR;07u~DKNs;l{Ek3c zAt+q96GpLNpeO*W#g#@S83~EyXh; zc>Y7&2BGiFpYC|>#CfHOk*@F_VS{ZZwNIFEP3;jexQAj^))uOY zdFNPHk*l`>6YUB&DPpJjX0=_o(hT{`y`~?kvSjb?u*|-G@Sh%e{M4-cm)6*Ku8m*o zT5EpHwbu0KohB77^SFF8C;x-~m+iJq9@NgGk?)G~H%tjb6IOAHOmoaV;?y}6xp6Lg z4@9hS5%cgZIK1Ad#oL%0 z9!)mh?by)doH@S4mD)Qhmu=`gmuo~`{&|QNxQ6EyYEf6m-Ty5ui*iL$%Oc~<(`L+^ zo!j4)DWj>4L+{T=(0zeweMQ1 zq#HSm%SWcQN;CvQiBQ)nig@P8GfB~Xe?NC^)$8N(UbQy-<%WZQ`)tjKKcAbwe|g8u z`!}RTEV|>m?9Jyr`B=_fQ(vuaIrqnRpSZm8#mK`yUccVnwr_V@dPDxv+mB=xmtH+R zs@gjEio$nhSk8ZY&ZQg^&S3KPI^XX?lo_9{m zg&%%((VBVZ4&C>%ZSNZ!-YD)nD!t^r@GN!b;SVyO-?(($yJe>@o%Yz9wW&|~E*^c) z%HDsxW#`V8IeR}?oLI7C#FL(~KbsS3=YDeLkI#;KVNqqx(2mnDj1bW=%a5(g*)(?2 z$@00APyV6q)U(ks-&+bMFR52HH9qNF|IEUds<)?Jx#(o{EeVtUwERfgP!$rb>|U#c zgCk+C6tEP2>;!W!ac=V1&z|_Q$2E`Ujv0Q>zQ{#+Uv#hxrSvl=x)R!Z^(#32#_Y1D zh|h|@U-|vrgYSH7*xk{tO3L5YJk2%5RlalL&eF@qFT+=jMhzWW-CUp3;D0+4-gr5* zX?Y!ChvG{C^saQ@Q2#KJT(Vd~Dsw>MI=6=vvoZ|+62&~#HQ6;ukGs^%inIz=tyHhQQ-}}i??*`K;@2vB$9o2g23CG)(C#K(!y!ZKxiM=vr3|n>J`iJ{pc-5jAKlHfb zy6esi-0^L3%IuCSS57ir{MC-$_uc-+g7hubqw}hUegF3@MTbAPZEqjjW6OxR3wlm{ zH2Q|=ar|otzP{06+c^l@P)tL78Z8wX!MF{Kki@HZ{5I8pL}BS zQz!bbf92x8kB_`ogdLdSS@DFfm==Rm3%i=ACWE$`zv7SQ^xVli&fxxx_*KRobG}W)ZeUI;tT+DaH}9Um;J&sO)axH!x$MTxyRMIX?2?-|emU*IYe#+` zb@bSdQ;Ra9lQ(UMAGPMK{mBFVXw?`MMeEQ@e`BfgX6V}hFo|<%55>< zIqq!vYDV4i8*j^4|K?}E-}$a@&*$g&**9g$jbE-g*z1x>&rQ2)!kI6Mu4x$e`iV6k z_TIT;*|P8fXVmLHx0@bZI(z@2kMH*V@#X60CciiK_}9~a{CU^Wht#;yi=0R1oU{A( z&BeJRS_k~bd|O$=hu>V#R{Tic=T4OV15lKzmBqf{+DY<-8$lU=GE3eZm5OX7WOdo-5#m$BHZ~|WJn5;8^SDC6&q*~ z;a6u}e$7`yYLuh|6Bf7JB(fU~$Z-GKmz(VxELB)WK!wq_p`3>A);sAy#fvW-wXszO zdn`XUFE4jwejbz=*<%#Vqv-#np8Yk`>aOPb3zJ+me@*$rVyAQ5_LUX&W0PO=9)9-A zPnQ35T|&&!cSp6X>vP}Gop~pJKJvG5)BF9SS-drDUc}|k-0mzt^~JJ%)23{?<&m~2 zD|Sq@y!m71yEn9Mc;QdJ377n{nk2AzPEB{ckO^dVR`pW`R9!4k6zAR z@@46mkM>!`zsq*r_|k%nSrsQP_|xRC%3dfe8gb)2s}|nU`^HVr+OL{hbZB3AmFX2- zgZ%~?>^xUAX@)pO`Pm%iGU3Ody}HySWEH1Go6XobT;_`H5w7h^;uUik7Yy^)k5kEF z`|+jR>91t{?%HG97LVSW>-}TV!>?z%lKe!yRCCYN2>1l)vBdGBBuJOp_N`r9Jh%UK zA7sY;Fz8rB#kKQ~?{UqPx~$wa(N(&0{LYfg&N+Ks=9hQ+%1|||FxFy~y4Hdgo8*F0 z*5lA(BhF5XHG6&D+7_BHG+$6^XZ@urV*bdnmt>XQ@u|1?K;FIQe`*`rxVQYsrCpX2vO{`Bm}*}1#>9bPkYTYK7~ePf1BeemYJbFY8D>7o1YIo)<|dGohpKPkE7 znPWYB*FAg7_0H_?B4<86_qpu%C%^n~(?@%wZZ_RA_vrn;236 z78Kn-_YYrG^t*J>p0$o^-rH(P`Rcvtr#J3;=0w~rTc$si{PI=J*A80Iu%pju#}^f^ zEj^t6^TL$pZr=Dv|GV0%=T5kJ)^le*-hJ-ecXp_y6NXludh_;I*XA|;u;<#i27<9wf*j$m?Jf(yw8`t z`bzJQ+a5RH^UC)_-tGIl8}~(gAJ@Nl|M4@&Zo8!HA4p2fw}?;Lk>`e%2qY*=lR(Wtz0fre!u^#gbV+jurA|)4KJL(cVh0)KfL|^iZTBb7cZIk((@ah zzCZChTl1zvyT{z27N7rf-HzYC7qd6!p2C^d*B%?=THC_{{r$PFzY~^`zg`H(|AhW_ z6}k#s(AdNBU1W^r<#H5TZAAa)w)?-Py>Hr8f8gD>CS5&f&GMY2V~@P|{uA40^_#i> z`F9ehXGH(&rCVQ`y1&Kcw0~;(N9DEg_|b-xPd=Kyd)J|U70+z?uJncQ7k_idi+7GQ-+bne_17%@ z=YY4%D(<}O#SaFQ<@Dco*^D`}dmc9p`TqRPn_Z2+{d&IZhVL$Z?Yg^9q+NIM>6hca zw%%9KF#Dd;%{NUFlPA{N`wy($d)@I@dUQ;_`ONxT?Gt;2uf1vgXLDBnr2HXeru9-0 z<0|{?z9aq09(p{x@}@gdSC{0jI=tiE(d(|+$1qo==}r`SY2u$NuJw z)V24Yp}lYYCGFkiMmR`&$M}^nv^Vs*aCK}W-P+IGvDwwJsl8WM>UUT59`}E{d9gO8 zZGXb9$vbb^Kh<~cDN9_A=l?ZY|E#v|;C0M(zk6( zDU8nL5ng?6Uv>Wuy(>bCdUBI?gfpG?QxFcAdAG{pQTXol5wm0-$}+aC*eYF==FH?Az1XT|LRFkp7&;5Z8-RB$|pAcR_2!zwN#V}et-M(q++HX?|1e` z1$!j?=JsWC6;0i-&~i???$JQLS4lDUVl%oG>>sg98T~wC=v8KDt6ju>;#Gm||5h&H z`-iv^`#xOXA^zI0yZ)%DcHH9qulLk)J5^r^E>e7FaB6o&YD_evIF|_DrCTC1zS`_e zi`cBI|NLib+nK=Y|0;>9B+d7WW^0+l5k?Y<1U1_V0M2 z_;l-rQ^{K@LRhaj>IJNsvSDe(>dgzLl}g>5)Gl1Aq;Ir>BX2=;kLvyf?^{kOUVAO) ze{$A4&j;TbQ}a8yYfogJc$W8S`Sf#!n*aHZM#tRnm0oz`m;O9^y->02lfsMt8aA=4 z1P)&;1&;L^0JGb`jY~jAf6<3c5QEPP8V`Y*YtTVzPG&kBlIQjdHg5`!X zXAkGnrAxB<<~VGXbxHz`YAkbk@n^c@thmp;jvoTZVgzg#i)?BllLg5WgSH(+f5?DG*wDKgeT0^w?ALvA>S zoe`KG;VF*QkRLo*09=1#Xl7(#U=oFq9#7WDG3nMFV4bCw&>i`;%yr-P@GHn^1vtY`NYCGuC!*)7Sb7$vX)Qd+EA@g|nPrc6YsJ;YiEm5YWlxLlo3lat8`nSE z$!m6s^Zb;b@ysgNQqVK$J!f{+FSb>Izc%E~EUI0Y>%HXY_ak02mflaj@tf!6+P-$X zSJPe>oc;5k@r$7Kl^l-Je;I$gzxPHbNN!KLXT}40|4LT%0vJF literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1.nupkg b/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..dfeec6558c89fd7c4b7896fdc33cda277b104fd0 GIT binary patch literal 60973 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�O|GykBjpzHfAg$)3<3%9CR7 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

*kgf={Q1A5e6QE#$USrbX7_%-%~ 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.dll b/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.dll new file mode 100644 index 0000000000000000000000000000000000000000..035ddd3a55f8817c37c90412cb0f30dd0728da09 GIT binary patch literal 131760 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 vhTU$^^u^H^SGeE1boYR&?d literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.xml b/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.xml new file mode 100644 index 00000000..c164a167 --- /dev/null +++ b/packages/Microsoft.Owin.Host.SystemWeb.3.0.0-beta1/lib/net45/Microsoft.Owin.Host.SystemWeb.xml @@ -0,0 +1,526 @@ + + + + Microsoft.Owin.Host.SystemWeb + + + +

+ Locates the startup class based on the following convention: + AssemblyName.Startup, with a method named Configuration + + + + + + + + + + Allows for a fallback loader to be specified. + + + + + + Allows for a fallback loader and a Dependency Injection activator to be specified. + + + + + + + + + + + + + + + Executes the loader, searching for the entry point by name. + + The name of the assembly and type entry point + + + + + + + + + + + + + A default fallback loader that does nothing. + + + + + A placeholder method that always returns null. + + + + null. + + + + A singleton instance of the NullLoader type. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to For the app startup parameter value '{0}', the assembly '{1}' was not found.. + + + + + Looks up a localized string similar to For the app startup parameter value '{0}', the class '{1}' was not found in assembly '{2}'.. + + + + + Looks up a localized string similar to The OwinStartup attribute discovered in assembly '{0}' referencing startup type '{1}' conflicts with the attribute in assembly '{2}' referencing startup type '{3}' because they have the same FriendlyName '{4}'. Remove or rename one of the attributes, or reference the desired type directly.. + + + + + Looks up a localized string similar to The discovered startup type '{0}' conflicts with the type '{1}'. Remove or rename one of the types, or reference the desired type directly.. + + + + + Looks up a localized string similar to The OwinStartupAttribute.FriendlyName value '{0}' does not match the given value '{1}' in Assembly '{2}'.. + + + + + Looks up a localized string similar to No '{0}' method was found in class '{1}'.. + + + + + Looks up a localized string similar to No assembly found containing a Startup or [AssemblyName].Startup class.. + + + + + Looks up a localized string similar to No assembly found containing an OwinStartupAttribute.. + + + + + Looks up a localized string similar to The OwinStartupAttribute.StartupType value is empty in Assembly '{0}'.. + + + + + Looks up a localized string similar to The type '{0}' referenced from assembly '{1}' does not define a property 'StartupType' of type 'Type'.. + + + + + Looks up a localized string similar to The given type or method '{0}' was not found. Try specifying the Assembly.. + + + + + Looks up a localized string similar to The '{0}' method on class '{1}' does not have the expected signature 'void {0}(IAppBuilder)'.. + + + + + Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of + data protection when you application is hosted by ASP.NET and all servers in the farm are running with the same Machine Key values. + + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Provides extension methods for . + + + + + Gets the for the current request. + + + + + + + Gets the for the current request. + + + + + + + Provides extension methods for . + + + + + Gets the for the current request. + + + + + + + Gets the for the current request. + + + + + + + Processes requests from System.Web as OWIN requests. + + + + + Processes requests using the default OWIN application. + + + + + Initiates an asynchronous call to the HTTP handler. + + + An System.Web.HttpContextBase object that provides references to intrinsic server + objects (for example, Request, Response, Session, and Server) used to service + HTTP requests. + + + The System.AsyncCallback to call when the asynchronous method call is complete. + If callback is null, the delegate is not called. + + + Any extra data needed to process the request. + + + An System.IAsyncResult that contains information about the status of the process. + + + + + Provides an asynchronous process End method when the process ends. + + + An System.IAsyncResult that contains information about the status of the process. + + + + + Gets a value indicating whether another request can use the System.Web.IHttpHandler instance. + + + true. + + + + + Processes a route through an OWIN pipeline. + + + + + Initialize an OwinRouteHandler + + The method to initialize the pipeline that processes requests for the route. + + + + Provides the object that processes the request. + + + An object that processes the request. + + An object that encapsulates information about the request. + + + + Registers the OWIN request processing module at application startup. + + + + + Registers the OWIN request processing module. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The following errors occurred while attempting to load the app.. + + + + + Looks up a localized string similar to Cannot register for 'OnSendingHeaders' event after response headers have been sent.. + + + + + Looks up a localized string similar to The key '{0}' is already present in the dictionary.. + + + + + Looks up a localized string similar to To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.. + + + + + Looks up a localized string similar to To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.. + + + + + Looks up a localized string similar to The given stage '{0}' is not supported.. + + + + + Looks up a localized string similar to No owin.Environment item was found in the context.. + + + + + Looks up a localized string similar to An exception was thrown while trying to load the client certificate:. + + + + + Looks up a localized string similar to The OWIN entry point threw an exception:. + + + + + Looks up a localized string similar to The IAsyncResult callback for OwinCallHandler threw an exception:. + + + + + Looks up a localized string similar to Failed to register the OWIN module:. + + + + + Looks up a localized string similar to The application threw one or more exceptions when notified of a client disconnect:. + + + + + Looks up a localized string similar to Shutdown detection setup failed:. + + + + + Looks up a localized string similar to One or more exceptions were thrown during app pool shutdown:. + + + + + Looks up a localized string similar to An exception was thrown from a timer callback:. + + + + + Looks up a localized string similar to An exception was thrown while processing the WebSocket:. + + + + + Looks up a localized string similar to Support for WebSockets has been detected.. + + + + + Looks up a localized string similar to No support for WebSockets has been detected.. + + + + + Provides extension methods for registering OWIN applications as System.Web routes. + + + + + Registers a route for the default OWIN application. + + The route collection. + The route path to map to the default OWIN application. + The created route. + + + + Registers a route for a specific OWIN application entry point. + + The OWIN application entry point type. + The route collection. + The route path to map to the given OWIN application. + The OWIN application entry point. + The created route. + + + + Invokes the System.Action startup delegate to build the OWIN application + and then registers a route for it on the given path. + + The route collection. + The route path to map to the given OWIN application. + A System.Action delegate invoked to build the OWIN application. + The created route. + + + + Registers a route for the default OWIN application. + + The route collection. + The given name of the route. + The route path to map to the default OWIN application. + The created route. + + + + Registers a route for a specific OWIN application entry point. + + The OWIN application entry point type. + The route collection. + The given name of the route. + The route path to map to the given OWIN application. + The OWIN application entry point. + The created route. + + + + Invokes the System.Action startup delegate to build the OWIN application + and then registers a route for it on the given path. + + The route collection. + The given name of the route. + The route path to map to the given OWIN application. + A System.Action delegate invoked to build the OWIN application. + The created route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request. + The method to initialize the pipeline that processes requests for the route. + + + diff --git a/packages/Microsoft.Owin.Security.2.0.1/Microsoft.Owin.Security.2.0.1.nupkg b/packages/Microsoft.Owin.Security.2.0.1/Microsoft.Owin.Security.2.0.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..17005503c8471de827b07089ae65022aff520517 GIT binary patch literal 31495 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 literal 0 HcmV?d00001 diff --git a/packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.XML b/packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.XML new file mode 100644 index 00000000..c8a426b9 --- /dev/null +++ b/packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.XML @@ -0,0 +1,435 @@ + + + + Microsoft.Owin.Security + + + + + Provides extensions methods for app.Property values that are only needed by implementations of authentication middleware. + + + + + Returns the previously set AuthenticationType that external sign in middleware should use when the + browser navigates back to their return url. + + App builder passed to the application startup code + + + + + Called by middleware to change the name of the AuthenticationType that external middleware should use + when the browser navigates back to their return url. + + App builder passed to the application startup code + AuthenticationType that external middleware should sign in as. + + + + Controls the behavior of authentication middleware + + + + + In Active mode the authentication middleware will alter the user identity as the request arrives, and + will also alter a plain 401 as the response leaves. + + + + + In Passive mode the authentication middleware will only provide user identity when asked, and will only + alter 401 responses where the authentication type named in the extra challenge data. + + + + + Base Options for all authentication middleware + + + + + Initialize properties of AuthenticationOptions base class + + Assigned to the AuthenticationType property + + + + The AuthenticationType in the options corresponds to the IIdentity AuthenticationType property. A different + value may be assigned in order to use the same authentication middleware type more than once in a pipeline. + + + + + If Active the authentication middleware alter the request user coming in and + alter 401 Unauthorized responses going out. If Passive the authentication middleware will only provide + identity and alter responses when explicitly indicated by the AuthenticationType. + + + + + Additional information about the authentication type which is made available to the application. + + + + + String constants used only by the Security assembly + + + + + Used by middleware extension methods to coordinate the default value Options property SignInAsAuthenticationType + + + + + Factory used to create IDataProtection instances + + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Service used to protect and unprotect data + + + + + Called to protect user data. + + The original data that must be protected + A different byte array that may be unprotected or altered only by software that has access to + the an identical IDataProtection service. + + + + Called to unprotect user data + + The byte array returned by a call to Protect on an identical IDataProtection service. + The byte array identical to the original userData passed to Protect. + + + + Base class for the per-request work performed by most authentication middleware. + + Specifies which type for of AuthenticationOptions property + + + + Base class for the per-request work performed by most authentication middleware. + + + + + Called once per request after Initialize and Invoke. + + async completion + + + + Called once by common code after initialization. If an authentication middleware responds directly to + specifically known paths it must override this virtual, compare the request path to it's known paths, + provide any response information as appropriate, and true to stop further processing. + + Returning false will cause the common code to call the next middleware in line. Returning true will + cause the common code to begin the async completion journey without calling the rest of the middleware + pipeline. + + + + Causes the authentication logic in AuthenticateCore to be performed for the current request + at most once and returns the results. Calling Authenticate more than once will always return + the original value. + + This method should always be called instead of calling AuthenticateCore directly. + + The ticket data provided by the authentication logic + + + + The core authentication logic which must be provided by the handler. Will be invoked at most + once per request. Do not call directly, call the wrapping Authenticate method instead. + + The ticket data provided by the authentication logic + + + + Causes the ApplyResponseCore to be invoked at most once per request. This method will be + invoked either earlier, when the response headers are sent as a result of a response write or flush, + or later, as the last step when the original async call to the middleware is returning. + + + + + + Core method that may be overridden by handler. The default behavior is to call two common response + activities, one that deals with sign-in/sign-out concerns, and a second to deal with 401 challenges. + + + + + + Override this method to dela with sign-in/sign-out concerns, if an authentication scheme in question + deals with grant/revoke as part of it's request flow. (like setting/deleting cookies) + + + + + + Override this method to dela with 401 challenge concerns, if an authentication scheme in question + deals an authentication interaction as part of it's request flow. (like adding a response header, or + changing the 401 result to 302 of a login page or external sign-in location.) + + + + + + Initialize is called once per request to contextualize this instance with appropriate state. + + The original options passed by the application control behavior + The utility object to observe the current request and response + async completion + + + + Interface for providing pinned certificate validation, which checks HTTPS + communication against a known good list of certificates to protect against + compromised or rogue CAs issuing certificates for hosts without the + knowledge of the host owner. + + + + + Verifies the remote Secure Sockets Layer (SSL) certificate used for authentication. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Provides pinned certificate validation based on the certificate thumbprint. + + + + + Initializes a new instance of the class. + + A set of thumbprints which are valid for an HTTPS request. + + + + Validates that the certificate thumbprints in the signing chain match at least one whitelisted thumbprint. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Used to provide the data protection services that are derived from the Data Protection API. It is the best choice of + data protection when you application is not hosted by ASP.NET and all processes are running as the same domain identity. + + + + + Initializes a new DpapiDataProtectionProvider with a random application + name. This is only useful to protect data for the duration of the + current application execution. + + + + + Initializes a new DpapiDataProtectionProvider which uses the given + appName as part of the protection algorithm + + A user provided value needed to round-trip secured + data. The default value comes from the IAppBuilder.Properties["owin.AppName"] + when self-hosted. + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + + Helper code used when implementing authentication middleware + + + + + Helper code used when implementing authentication middleware + + + + + + Add an additional ClaimsIdentity to the ClaimsPrincipal in the "server.User" environment key + + + + + + Find response challenge details for a specific authentication middleware + + The authentication type to look for + The authentication mode the middleware is running under + The information instructing the middleware how it should behave + + + + Find response sign-in details for a specific authentication middleware + + The authentication type to look for + The information instructing the middleware how it should behave + + + + Find response sign-out details for a specific authentication middleware + + The authentication type to look for + The authentication mode the middleware is running under + The information instructing the middleware how it should behave + + + + Base class used for certain event contexts + + + + + Base class used for certain event contexts + + + + + Creates an instance of this context + + + + + Prevents the request from being processed further by other components. + IsRequestCompleted becomes true after calling. + + + + + True if the request should not be processed further by other components. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The AuthenticationTokenProvider's required synchronous events have not been registered.. + + + + + Looks up a localized string similar to The default data protection provider may only be used when the IAppBuilder.Properties contains an appropriate 'host.AppName' key.. + + + + + Looks up a localized string similar to A default value for SignInAsAuthenticationType was not found in IAppBuilder Properties. This can happen if your authentication middleware are added in the wrong order, or if one is missing.. + + + + + Looks up a localized string similar to The state passed to UnhookAuthentication may only be the return value from HookAuthentication.. + + + + + Looks up a localized string similar to {0} cookie not found.. + + + + + Looks up a localized string similar to {0} correlation cookie and state property mismatch.. + + + + + Looks up a localized string similar to {0} state property not found.. + + + + + Provides pinned certificate validation based on the subject key identifier of the certificate. + + + + + Initializes a new instance of the class. + + A set of subject key identifiers which are valid for an HTTPS request. + + + + The algorithm used to generate the subject public key information blob hashes. + + + + + Implements a cert pinning validator passed on + http://datatracker.ietf.org/doc/draft-ietf-websec-key-pinning/?include_text=1 + + + + + Initializes a new instance of the class. + + A collection of valid base64 encoded hashes of the certificate public key information blob. + The algorithm used to generate the hashes. + + + + Validates at least one SPKI hash is known. + + An object that contains state information for this validation. + The certificate used to authenticate the remote party. + The chain of certificate authorities associated with the remote certificate. + One or more errors associated with the remote certificate. + A Boolean value that determines whether the specified certificate is accepted for authentication. + + + + Encodes a structure of the type indicated by the value of the lpszStructType parameter. + + Type of encoding used. + The high-order word is zero, the low-order word specifies the integer identifier for the type of the specified structure so + we can use the constants in http://msdn.microsoft.com/en-us/library/windows/desktop/aa378145%28v=vs.85%29.aspx + A pointer to the structure to be encoded. + A pointer to a buffer to receive the encoded structure. This parameter can be NULL to retrieve the size of this information for memory allocation purposes. + A pointer to a DWORD variable that contains the size, in bytes, of the buffer pointed to by the pbEncoded parameter. + + + + diff --git a/packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.dll b/packages/Microsoft.Owin.Security.2.0.1/lib/net45/Microsoft.Owin.Security.dll new file mode 100644 index 0000000000000000000000000000000000000000..73e2f02ba43b3d40ecaa8f1296942a252aff348f GIT binary patch literal 50352 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 Xdns`G1qZ8+R**Z+`M`mCv*CXM@}`D4 literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.5.0.1/Newtonsoft.Json.5.0.1.nupkg b/packages/Newtonsoft.Json.5.0.1/Newtonsoft.Json.5.0.1.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..2cf86c16a9c203eb4d93c2b32ff792e90a0409de GIT binary patch literal 1522020 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

T@=^*?4!Rw1P^w=g<1?)PhPHAd3)7;># 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%0A2{xq+gLWNNrH)pefSghP3EBrlWK!q2b_VLn{ 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

q-$4#m!ll zj5~8<0bID*r0Lhvyh~3L+4>d7%jdqP3n%d_G?#RCnc2!`G>9oJ+rI=0?$cf+OLIRO zDI?e(U>~ahN*e4V4KP~U*Fokyh=m)Pp5G4q4HVRY52iX=AlqCy?h}+WOP@>-r@dS7 zIFl&hWlj~}HEAQAuiX^h`JX*J-owd~O8zPwG=+Q21|Xt7%pm4w<$ZajX^BSd>;23! zKkrWsUQD(>D^6YLQy;dfmbfP8Rd($?u(ypep{DyBdnwJQ&=qI}oJ)gt&5 ztQT_|T>PM%REkzk6+_6~b4iQN!bp&<$`JM5i$WMu!*?=gZ-G49KgVj%Zt_MsNUei{ z=c+}8_?)*r%>&-Z>k*9oT3eJ>KLjvDf?#tZp<|CKN;uIR@E!b>Ry~0q)E4 z|IR>6b0e;X*)p&8r!gmG=)heM&l?LA9A<-3_YjIEvbtW^SH?hYJK_5K<`u~Q`1Fy5cZWcwPL8PUmM5Lu_sinI+7g%~(VrlkUeV+HJKfdeQ zbDuM3W@mnP&e=T^k}t}&;F0j9nJ*ReYaLFGx5nOF4n)6+7NNRQFF0AnO73aA#T-0; z+tsg?hA1zJkHbr6IB}0I;8@ceVOP} zTX+s!L0kFfxQ`vJ6F}wN%eeOJ?N8sN7q1Tsj$)AEBsgv5_o!luH_@WWI8giG3zPH1 z?|W7Oin<29~sV@F$0=^iw2lg!oJ+O= zvTb^K0_O-*94PDl!t+|A{jWLn<(H{(7&bC+wxW!qr=MgE*mnA$&FoWIxWhE<>hAezH^`9q#Aei zK&Y7x`>tB)=B(OXse=XDC-~j0^MgR`G-?;0g(DE~Zba2VL`&^F(7o-#2+_P4 z_MyvjZOOZSHL>2clw@50DIQVI$Y6|uz=X^#a&^vu~$zKMU zLv>6N#cgkkF5AQ%-fMB%RYjgwmXBfbPpRtIkDwXa`?B-5hYA|r)8UqTz78D8<@Z#r z48>hkE}R*5Feoml|H9v%brSlTGqaXP1bU0*z*vYgOiqYjW)Okx>@?aRiho4m;Q2yH z&v}$5uPv2Npd-IcW>M^W`1=^erLRd;^ zTtO`_uFvMLclOCPU6h>McUqcnZh(_Jbl;3tOeu(|8Zw+5mS!`JVAX~!>J?spAgKse zHnbbRaa>EBeOimUXfpZPDUj3ryKS78J^Ld}M|Q=`MrZF1_3}}-Z>UR>IAj&XauYOF z&I+%SebQ<#>lYr$zt@R~DHS<*U#?hCd!Qk+6f{DDU%tY0RO2|iHL*CJNWa$XY=#~? zW6E^YQO}3UyT~-D>U=BuLf0s){frIX?rxYmK7Y|Ab0&O5YO;tP7iDH>gA-4h$!yOK zYY^$-UV1mFqzEpqP&5>AxGUpTr2NpnWbory%G4;c&>)r5`%Y8FyDvRyI zKK16Xnwoh=>u!tLEj~4L&Z~yRsNn`kXI_W#IsXz=vp=+YoB0a|8-J~0Rg7AULt}_O zu7OTti0Kcl@p<#k+1Iv#Q6rOu-$^z<^(}>~Y`#yNxIZOfU9OlCvGdz$akL&^mV?pS zq_4F;h14?6YTs+P6e*s1%rYwSVTl}kEhNVHLsQWIQp`WpA43dDuhIX|3tW;SUk(T6 zcT=-oscaQH{N=4RHRleCBcr2}#SRZ9MbV`q@1E}Ma|C}QnVm7X;dfTkv)h~EH~K?s zV@%}sGV{*&7NLdI(wuhbHLZJwN`;Y=r?h6zax01yM29jfIHQmvHDQnbL&a$KI9!{3 zI42EEf0GEVCid33-l-Y+@-kTX;_vs<(*PZ*zXK0W^&Q@4SZ z?NI4x72bQwJ(vE_45xRn`OY~Z$@s2W)9OaET>cZ^8l|B`UUeutxVSw}fM#DMP|J~y zpTyV3yG^JL*|A_aX9)65?ll=_k}667yzkDp7iE@9*Ku#&r)?20vQA#b8s%j(#Epd# z8;UJA4Nec~#hqevs@n^r>DrS_UOm&#D}SLTiA}W%T(}fyFK_EACX4L(eao zyjhKz*6(Aneo{id@yDwXtBGnU>>-`n<)6Dm87sf4lto)WAv6A_)asu z;LvEJhJusUV!tnC@c!jol%DsTVc|YF64p*G5#y2lJ7kRbNFsCS;Q9y=qX$9swSUy} zwmOyX@e7&XTvo7#QyOOZM2y+5WJvcfuu%GXUgqtC}84KbaLb20gvFx9h3q@zwuIXR^X@b>#k0SW_pq)2Z>FROd zf@<-d-ifGbrw)!bd# zZw%JDVJU`}xh}5MCP5YxL#5sVxj&LFBp5jIIe29r1{=MPGhYoYTtKZAKF#=5fPK)G zY7QLW#VgqZ^JBOGATHSg%p~Cl&0NurcA?}U9|nV`T7=plm%^`ZJ_u`K&xOZ4A__kE zke`$PdAsFmWso`<${@dYjE@l=@DN`Dpr`OXv)^~2Depxda2HcM*mC8B3)Wzn$RM@4 zi?$-kL_nSmiah0q38o_-Q>_gV1v>)2_DPPbHE?qAall>+HF(Y4SN*!=yKwILbT%`B z68`4CM!>@V=Du;NV!TOj`04%qH{mBz_rMEiie<-Hed6enC5USoR&~g7FabgNtmOR# z#$Q?`f{JF8d$a9_NLU+qr+l@R3Cz`&iQ<|C#)&pw1ZM6O{3 zGD_)1AV_R_;U|Xv#~a=cy1okFxVFLZQLVU?JRQ=Q8Tko6&Dv9-EV!>j~d(tC+eO>)oghN(wB^_c(XS1ESrw*U< zTl3l4z|Gk}5(lnGaKqVMy8s9Eg%NYm(5uGI*h6p2lM<=M*^AQlZ2 z`ntM%pA(}vTNr`gSDcFv;=|G~`mp(&GlweLu1hYE>i2_UrHl`ZYChxUWNKZr3}IvP zY03VYnDf+>OK)Mw23GsaE1~8*r}vLC0Gyv|ljqL{-(*ROq z-Mv7-y@T1Ix&(4E%tKGo7=R|2trybWc7Bzj)o%sUoyQTYdtnxpc~8^iGDW-rpAF(4RU588VLA z7R^^ElWmA4_Z%N46Z-^mw;vbno>6Xs5g+?MOiISP+-Bu$meJ=d={*F7?cbi5qTMg$ zFMHW^~RrUT=Ly1E`2?dyN-wOYtG1JtJYWC3EkVmfA|~#;4_! zEHH?x?{YoC@EKX>mHMZ4(=h{tLiqy#tLJfRo>tE3PGbE*Fykx=|Ax?0JSfMz(?+RF z-YU31fP2*JEIEVxSk~spq$$F_0-%QonYXGu_Nx^-Yy?BQnDced4-+B!wAO;Vi9Y1K zX-_Zq+s_j7cE%vEZ$tWLdoLV0Oy;C2_f<)6c$w(MAQbKLLG2+z&^;2n+QC$VM!UGx z<3nTwnqZ#F{q_slL5-!7K8zTra2{3n!FTTxwnYjI+(?8KzQsOZ|Dd1=FnyVyJ$unD zcV3oQT!|+o6$!kdgHDLX5YX?di==GCwiL&#QO!}!p{Xi|p6_HtWah;xOGZew4*53v?c|fE?ny5GC!(#{6=&a@yl*B zzIdS4YDa`#_@>;0l?d!{58&dqOgVN(9hWuiPK8 z=DR$;V#jL&je?1IL%^H}9Oj?JVC=)|y5j24aFp+KKL0}z_7A8iTxCPT_w@9 z%qH@xBAJzyc^*|Jd}s?C&(K@G4sko#2=URk)&AbS8H=!1-Zs7wYq`LpW&u-YosLs4 zV_{{N&Q5I~hT&dUUW5U0EwduO32*nUBt^Ubrqt>|^xi!46v-`6IuxGm3puecuxPh* z)$4;QEmCdz0KRTxFVJoaM$lwOZAL}-r7rD#8O=|+wHh|LT4@lzm2lc%pXrxPxO~nI zxT7n!`ONh@MCi`CrRE4mrf_wT%NE%Z@&Ryp8$URfn`=F%Fclc>T7U}{y4nPqns2u& zSKdiIW|P7L1l-fop1Bw8wx^MYM1djA-`WFqHJ*>{rkZ)=KX7-t?D}NTx*s`*0w_;< z>3~MTUXf5;BX;@3D;l#-ZG|WdQG>DwOYN8$sItmEx-znZc+RN@i`Gl+F}@|>1WB-i)h1; zDHd3XwaOcnt=&&=xD?dKR{TXS*N}V7-}cyeK=2RU&p&%PRQ1nJW;S zgNK|{bmZ3oF8{;xHmwgL(2KR1H6f zqMJF{Kp*c)PiKFmweZ6_Y3H}!8&042A4zHqW9Je~zP*aIB--GUiT*rhpZXYigX}66 z!=JE!`0piVr_EUuAUOkrnPlqRwWp`Tmrq?aDmqNR>Gv_vsS?9x*6j-o;iwE^~+Ytu+VvC?V;why5T+86Z z8kAb&sSXzzAFEcJ6q#OG@UP0oT0#;Cv=(zo&-@nK$?U@sdsQ$-{Zps-AXF#PdGYn_ zj^ji6d9IH~|0IWB=5PhYw(7!0aO+>yYjB}8J=+R&%7M`ou31&0aAWz{jaB(NHY5e5 z_c(@aj$JK@8dVeK*1Uf%HX;2rN#E~#f&xXL2oH*ztT}T>(uWlkS1dT{`7;Xid0u;A zbFXo-j@s|;p$8ucQPj}iVYL$TV^!(8QJB9yk?ELU7eY-#Z^vqs5T3H4yrmN@Srwf1 zJueHGI0R2Pgi6JmqRjiNd?m!W@JHJcM_^oRk^!t7sDKOH@i3v}Ufu`WN#Wi#N%Fp{ zTb{GdzCH%p;L}d#rDQzbrtQ9or56IMw(Rpw07vByxv5VH1P@DHorfqE;FH?sGs*Q@;oWwS%LF0{MFT4YmpLD2!8;iu_Z-vO_aJP8D zs$p3I$5iW;V88ti7}XpK6W>F~n04>kLB{Zvn3z^o9IHO!xsw%kJuk*V)<@^oQI8)F zTRj>TfNTLJFN~~oeL3K0J;Qs&nGV8CZA!PmNs$wTghSb_x1f{Z{S8&-ql%2#Um=2? zPg^HAGG`vEl1e#Zt|z)XjX*~H8}S$j_i?M5CA?Vt~bZl^;SCzhbznOFs%Y<~P;5 z;%->ADZs8*@+Aj2+U9*|&s$LVrtgLx9P8W|^s68tS=+4|?Cbn zf1%iH%)@%px)Jd)_BD6ZZI+N9rZZ*+P|bfHeS7FS7{g|lw73KxY2gX z_Z0rx-M-fKUDJMVsqwY#-NdqR^&ux1Q%+SvI(NLMPKTbWa39UQjklc@F92ojQnTZ< zj>iexqp9C!sSC4&oF0o4J?F-tkt7A(4}}F4R&~2{N@^myXTqN1+;PtK%uiaf`e@y+ zFL`Wj*ml+w0j3X$?_v|pd}$q~H{4i!d&Q3^!)2ZH>jbF2MSz(~dUmG|N#d!5B$#-dJ(A6P1^x@pCLdXO9X@MKR$r2jyH%;i9%5O9UnBIS zo>o8RrQ{{8M&ZTarFMU^sRR;;WQ;8Onl2qQd_{2`YsBR&ddNK{s9L$lT}+-pyE-3` z2pimB%eL#jSaC3RDf4+*<@qBKsucI~A$1w2cbq|IYg>3xk9^5b&TG{?R)lcLztVj% z(eFzdZ3ebS)L86jPp?s(mMAHO6b1rE*ig{C0;hLHLDzRwi0Q_dhxp?*nwBJJAk^6Z zVWt&Mfk*S94uj)BEVs{CsA!UjmrFx)FOe;DO}191+f`vQ%uk{&lx5Ej;h9}f=;LaP z#!q`+aE3+&(fB&2QPBEMscfy}DeY2TD5^p?s%!!f(&t{NX)oL^m_H=A8~3)V-J>?T ztjoA`Z^O~p&Fg)r^bS;mo1a5Wv?V5Uc&(6)d`+aeD#rS7!J7IC;O6B^8aBLEQSqw0 zyM)VTJVM7>Eu;PZx_RP$-fwNGx3^EcnZo*E2hOs0U7ll7I&c>ZoZ0HIx@cDFJ+WFf zX=CvKRhybXtpagg0Ww>Phu3g|SFQ*_uw?i6#uIH~H)%aHV}}~ISpOm6W^1~$gC%Uv z^6^P*&KS3Mk1cUOQKPyQMp?z~kw;!@%~?iOehK=4m`y3LX6>6M3;L#nReiS5Kf7(@{xlS1c4i3q8_#ce@*5w(2wpYPIy|WlOD8U_nA=z2u{N6 z*Nfu$3DF!<{|PZvt_>GalLFIvEbh=V5=w=gvOq5R(G-S+?m>nG5nMj%(~xNi zyfYGIZ~`QBcu6Oe0K3ZA%xV%=f*OR!xo7&~Y^LtgNr)ac>7G)PI(&(HWr}Rn-<;Ll6pqi<|0e`BVr|0isn8< z|7)T5Jo=T=gx`FN8m8c``|3C^3qFr%|08{NKce;K@7;&7C3Xz`GtF}*Sp>c|!2H!7at)j{uo=$U+M0r>@pOw-^0~+Q zi75mJ5>1G2c4!mo_vf@v;PQ_3X@z%mF2qyWlxz zhw#^lv+PzN;o)Pc4`n`ggoi;O5{qGajw1B4RQgmai6P<;n#QP$rWp6x^#J|D$*n>& zzv>vgb+qtGKD_5ZdQNHos4lfD%&?yW)k#|2jNpu5Jid9D(s zv&#pjzfO3l$l1UQfix=Z)cA?yCp>|2yyl|$!g|J6Us>YQ(S*A68YtW`H~r#ZFcjwn zg2z1Z5RAx!&@WiM78u)}ml~=D=;pOzZ>#w4l(2dH$okxP^*oD<#~ba3OK3106||+- zId@KS<&>0if{7Mk>D-V95jX)C?ZStiJ*i|@T=kP3eSpV{vg3fF4`bns`q9?QL|t}q5HS<1 zqZA`j*A$WsQ~dDx{$y~s(L`S3k3NdnjBwr>UKv68(Jo)(BMvrTL zN|nig?uC=(sp~!^p%C6t?BVkKzH?W>?0KTj1m6ywB1-Z5xm4e|+-Dn^)|?~xN|?r{ zh$ys8+B96Uv@mkY&F7;4bDjh;!VIxgfx7qZLFOTol3JN-8-k~iuRLOi z{q(jMcu8}dBZ|A>`-7yaJ!BF4O3-p=?@4H;8nf3{%XO*j)xu%?W`d*lV@u(DAxm}; z4=68^QJ6{DJt&oLXjw~k$h~&?O>0aI7U+_IKwzZlalEnEPGEjwvR1LxQR} zJA6t*t_Jp zyy3M^`{6}?7ObXZYm^7;ao#7r+O8@Wy`p|G9&wz?Ur{KNV=vBnf49cn9rdr0)e!Hz z4{zFZ7ZBq%+JVP&V8+HK#}+6Bbe4n=nzQC4R-pZOvzmI{bW`67y#DnTNSdaQy77!N zX-N5{@P}pAg(=Bl7Pa@s#I{@IxL`-_{yPw{%a+7mxY}y#$?#6N1R7*%pYG@@EKB_P zt)1YkLU_#}UiXxG1?DMtH#7`F8|vH|%Rs@3x0xA#LU8%$MFZ7Fl-@W|rFkuZ8m_#g zS$^EzO)vTNzFz!;ySzB1IZjeF$XML9a9uUgWoxYOrB$y~E{^fXvB6ZHkgsMR33Ms^ zSsi&~NaXuT2x5ac2L(>+SjPJGy2Kff&r0JpD4xXTpB^y)_R~K~vhHeGZ#f!9C005V z=|_0P>c&r`uE(2Mf{1=6RxSxugEH+6y53}S>qrsleDZ&a-_+VqYE#)FUwzz^B@h=B zT7pUHVi3k@5>}^a09q(Zbn$!S<+(wkb`JB{xVZG$xNzO>S~`GsDdSm|@8~AV8vC)! z@R0V&0qM9}>n+lSsE#(cT1RDh^#nvVoz8!{k(#;)r@opFZ^&2ozdY1s)oPktW>G-y z>a|x>lP2Gjmlf*$)`#G-t9Yzg0m5!$wK=9C!8d4U6=C+qw9|yj;`ximM3}j>w_luJ$@t`lSc&#M6c5dni&Ge!`M=L^4sLfwRAh*PS9*&@t2?&`A!#h3SK9Y?(_6|qG zkM}jk&F~pdT_DBWIZMwfi|@uQScw6!lghes^UEe%Mm7WS+%Zr3I-r?2ms$V%tnFHN zz|W)0@<53SsmU>@<*)}8o^N%;P&EjPD`?w4G?Dgu(QC>$E$TKf)9=3RU66R~tBrL24I<^UYRGyPYx#9^^kIU(tV-iUx*v7dyT;KNVVB8%o<3DA}o-3|CO?AYrt^(ZZkN?IJ8Y zQYt&5sI|+pBZ14;M_pQQ)k`daav{a6cckAZpG!uc^3);Cn=Uo|DnRr7=7FL}FKeH0 z5mN}U(x>*}cA^b6!#m61juqICn=c-VkM??%B`|+^@Xn(*W%hxL z4*lrCUdol_*7m))R9j<1hI20jVH@Hqx#ZN!BNdX^v>M(MD$B(YW9AayUWHt$(cw6p zGnAcctJe-2us6CGr9>e~yZSu{u%Qx^o?%wt#@8;tlpIJJ>j9jE)0?3-n=PB~oHc+8 z^YkN}2bW_el1_;q(76ruhYz?$GiyhJPBuR(hVM+qWF*1a;4ueG*?qsUNAUW8lWQ`z ze8E$R<^w0;)I8w`-(j;xSZaRE7)wLv%bj~-8zMk79OUydz31Dy4Z=l}H+J7B(#fN` zYlu_#+XAK9YU!tWG-lFofmXxPk%^H7tRbXtWfx0>9CI<6LO|*5npw328G}&xOwvK_v&D&9#bu)(!?}!l?}i) zRE=>HTklsIS7W?bN53Fc%2sIjoBrAAdwz3NFzmiM`BASzeET3TIwu=gZM0h(*j({3 zFtx~g`9u)|kgsEf4Uji+jZV-!aVF|WT031i$#e}a{!|)-i&+vR9${`I!(&S}Xu)=T z!Ip!qEh$?tgL;50?7*}>C;jbT+?L3UqIA<9Lncr6pp^wUU_}Ioe6(9fPeFV`uFC^B<3@D^YPPj*0HI2E0_`bR2LMOy zAl2~18lG2&k7j%`PPOljF>jmR_N-7zC|9Q`Ri_PBmu2pHl2#s~y$S0D_>R5n){01! zlDnLC8_`&8tJOK3Jn>KbyteMxmz0EmB+SAE z)2|0>I)hApJFS|J>g}hxrd;`=n|#eLJl=Lo)ha;cODR09pST-9yw#$+v1a4TJV|;l zI#?M>6%Uzo6CW#^0F^*(ubT@woRsUCaRkG~4_%AtVOw!_areV;; zeCu_m+T;hN759|h-9CSy9{=UA3|QiSa8{n+7gr7>W^*;&fwX0nNU02g+cr`nf>VlN zo_aKJdDPj$$AKm2M@9CmbEbo4eD_Rn>!x}ZsV+Ct+cU03=+|(>v4ZH$+RRmD$Q8w$ z$%dLpz45heb0th5XtNW5+^yjE!62rmfCyp`Z>r#BNPhfRRg(>Sh1RfL_mtc?Jot`B zTPam0-3^0}LhS2jlEp8jIzspwPeVLCdrVemU`}WE)(m`nOyn7qNvNf-(7rQ!qLy_J zhnlLOIrT5ULY*xBWUqPin$v#-^kAdEHyo~ATUcQ8WN=7*HOzx%Q1G0iD`oQcHk)AQdX7Odt#^_9d*l` z-U!G?o-!K|97LCDyzU5XB3jBlCP_h(Z&&mBmYX$J8Bt^LDNK@Lt9-D9>fUq1;B?j> zbEq{cLnu-LZ8+)9hB#!-y@}??&yEdmiqSK+hIAblcP;-t9Uar=;z8xgg44-1ZPOdx zb8Z;~Ve(j>lR^{Kwj&#~A;r+l6%U>xi0&3ANWdeTiJM+jj&i4M^fbMk8g+Og1bujB z-jl{DK^KEZ%@M_Zs`(L#y>5qd*-nnEH>@!!AB-l5fwU7!H43>qsO(g2p$Y90131)PLo*5 zIGdPZEgawAnl~L7b~sinp}IDcpsjjvx;_a$h6g(CdJ4^A%73IxNZsr$C~Ag@7Pi0~ zYscf}UZQE$@LXuAjPy=Zsf>7o_1qFD+duld++i;+`;9zZzPb|G>FrZXq@(`|b=9;(vVdz_yTsCA;$B+v9i*&P$jGZ$N$GN(kTUlZ? zPC9) z1oE-mp%eZrJS%IQJ0|hwmWzO02VIEnp*8xXMlVlT2Sey(J$@g4F`*s)Qj~$fpu%$G zybP5Rm28%@6GJ^w&Av9SJ0`4%B7co?rqB<>3vvKCI-Z6^MeHt<=Z&r^yE(!<=Y-`>7%~LuyW*A1Dv`Eyr8}*xwubnv$DL-r;7xn`FQHzUFA8 zjg4_;OER})pDP!#U$Ef1v$*?i>Tga5(60qe&JhAsor?eDm_AQy6m#c*1#Q-W1i61P z@1;c=1Y79sYl&|jgQ`JiQGERX&b?eBGkRMb7E`ong+DA%DU0X&al#-V8&FzgkzL6O zsJ=I!YW9sAChr-^@~#L41c^;|lWdcJQ)M$~^Oa=@YaG_5`hVUaclV5z{VNW6j_WV9 zNOaHKDcqUdCEdxZr$3$&MGzL(!^Hy zR~RRtznGSP<-`Qh!ziSFVIw(>wUiafyx+Cl%4463I8e~@(9H7<&?-MQZ}j_ zRPxVCp5_aKNG#crjdG@+64aiu_a10h9p}+zhf5`-3dJ0_`tU zHY8Zg|AU*dNf1GZR5gJeA%tk@19xXrd92rfj61R=tH`NHKI)LXEd`|F<+BvC)R0_w z7u+Ga$N(9v^fWp?m*4w~I|Iq94M-Djzk$ZG?KeSMqRGDEHjz<4^tt-vpIQvK6IZ_o z*OFcnAlp$7VA>O$Jfq$VW@*DKO3G0SKw?YVM=B?4B5hIj&-lqbo5Gq9nY0@Xs=tEQ zK2>Ir2s>AqJc}BNEOPsY9{+{tqWBM@KQ{OmM*R7QWYxb=aq_P~snT9;ZxiTL8Ae}@ zGIKGc(*HH4f2)f>{g1l-kAI{S$+AfOmp%oe@1nG#kb;Oh0y(|h134wHe+I=xa{jwX z-1r{>1j+@hG|2Dul6}KNYF#jOU;00FH>`9W#fda3ZRF~Ul-1ekJ?bHrPpeaeQ-s6j z<(-&q$Fz`XcNXNG&%!DC-`?E6$>PnpN&Az>#bEm+Ik%DSKT2z{(Eh`AklyGyZ}vj0 zI&NNd_{XH*3nYVtCE0&eLAVg*JcWd`PsNrn|4rr&yNC$s%ShXBlB`QgZ<7~w-+xri z-OEXGtBzXj{iKMfn48!KDuiy=D!ol$*UC6cD^~5yc*NlPv>qr6qq^hTW~e7vidqQN zR;$T#s*r6e3@}rWjI+ z913o_xHACCnLye-5WL%KMNRWIiqq_?s*@OFMRE3g0CF?DXEQN>h2!&iUv60GC*qIv zBJOFeng8t%hq=kQ^D<71s*IyA{z5YtRQu0%52^muZlp6(Cq6lU{O8}^a~u61=?GIL zQKVjiWnoCo{##Eb-|vtfCdS+Hb`M0dsV!CnP)1%LU5?Ei6DjoL@ga*KA$^+cfRwwx zZNRBhWd92T=Ko+w`d6E{?X>*~e*(ZiLn@5t zy!>T;HhU1K;D+FDi0xvb;XROcN4m&tjyCP)v(2)ce1uaWvj5|b{x7AL3H^ss+e&Do z3}`ojgrys(?tiUIaPuQDpW0{AK&ta|NZ0BYum5AQ3yI?&*T>_xNvg|kq2^Ej7!oh# z+mJsthl~s>8$ywr|9}%^fd1EIqZZ6J37)6@v6Meuud<5OGrQ zaa8sXuYiInv24j*ucoBuno=)Wto8dH>3)oQiwf;67oA0pI%GF^NiJUxjgpEX<`>$O zr?|?SYoU{+L+M;kOmKZf)@T6yH`H_qC+?v@fhYpQU%QpYP{!oIkK|jW~KHMq!J0%Q#%FFh$cA7<-sFZe^Na zBcXdSKLL)R(F;run1wC??b33B1LKcGfRLvWNr54YXAL6pW%2U3 zu5+W^;(mK&Kl9xxj0-P-=cmsn-#0^%bOaGwpCU;acI1P|5{awnES2B5fPjyUKogO_ z!ZM%1$(I98#yg3yil3QE`9arZ!w|ezo9oJ9m3TnD#?dd2WubIa5rxnEJ^LeMXYm#! ztr1_QWRIUU32i0N$$qAx4e;4D>h{57r-9${Xjzx{L+Ha8u;k*SVq>z%GiaLlPYe1v z6S3&I!Pltc3b@dUN8P@k#MXDdxDjB)J%mQyPaGwcHWWVp1-LSL9%|c;C!% z->%3fL`E`&jB00W zemSG~K5?3>#7Z-vu)lD(ko4=9`=VJ~wQ-yn-QxH|P+=tn7 z*(q+db}5UwV*)3gD!>)W&R;jbB8w!92ReJVVjeI+;>Wna|oDEdXfV8-6lUNzK1 zo;{roAtuhRZ+<;$!ijC4Xu;Mp@DAuRqb7*Ozz;v(#Cr`LY=4|9f_Q0#kEI zCYrl+>`vcmXUwn~Wn46jWN@*Dr|KL~U2DA$#%t_wTlPhW8?mQ;m~+QBqMm6J)TUOMn9r>H?f`y~v@R}u=3_W$4JqB(Oc{YNfoRP)WmJ! zKC*3B3|xRtO2Z>SX26Uw>ubIr{TM1qczk--k4rgetuD6cbFZD)j?2mO75}OsjdY&qD~1r>Q1pcT;I22 z`4#yvt(Pwzpte{1esYqwxP(GGy*i+l>J2{?_V&*jill#7{#MBr>+i>jS+>`6A1?Pj zl4)y=cSb)Ka%6@usyZx1pq%i%+0ZKJL>ulYIC37AKyDP@bfe2E_)2%)&rUAbXTYxW zmC8f!uKh&9Amf*{`v~Fe&IQ86i`8SF?>*g=p zRv|$Fa7hb6f*>UdQAyc?`s*4zwes!mqd0XJa2Tia#QbpjY!_CQ(o?ezAm@#ad7IC2 zjhq<4!n^Q=xeBK5818N@&7n#75QYkwVFw6K`dS6fI_n#;&CAGk1~%YB=uEJG@T2>k zkIQK8jkF1^ltZG6u?S}kgBl@ih2Zz~QYELNW{(bMa^?U$n{(8XUXVGVrzf@%amRN` z+bFBY9biN}$!ualBUdj;%WK^UO^k^eJea+sT;j?MWBao4(Un|6=FC;JFIH7yU;8hS-h_106oqf;VwQzb z>T;JrI@i7UZCfarI;##AP<+0(wz94$F~z~P@SvCEk6@ZE-4xZrZgaflKuo# zWAY~l-e?+9HK1Slv<=8n_%M#%a(z!*Jn%y&rsQd^1Mn>ILZR$!%!-mDF9~H+xn<$I zIM9rwhiT8_=`=15OOi+!_s+)(cwTHzLmn z8W>EG?;r0#qGm@5YQDYx z^HT_4X4D<1S9Ke)zEg2L|QK`36gf6p${2@^a#>MH*#p{ zUF34bL0uvYFD}lhfS)-i95Akzsp8j0GM-&ATc)J>anXW~BN_1fbT%$x1EbQo;3H|b zs{W~c85bN0-LUhlb36Z9q1^2WVbymFSjf%Cr^hFvJDRAt`=CzfVyEnWJrF2X(?HPw z1ED}(zb^Mcj6vL*&M~2mXJZ&+>HPX0Mig<1Fg0WWpIHMJ;0Qr{332fP3*>r!(K5gn z7jd6Oh#xHC`{M+iPtsCu5p(U8rJHaL^1fQO6j!sQjhZ<2da-M7Udr*nQarIBoA-7xVZf9#tF~$A)nN_~s&{#`Zts;fdwAa$tCm>JM11`!C)PKy`aS6^ zAy&?(uXvTu2~S$_rhLHL_0ub*tr?q^!SQ!D{X=*euGkea+?{hsE|37|dMi;QZ z0w}}XtqJ_90-D);qZy=hKnd=4RmT4;T?PAHqXzb$0VTKtb_IJ4Kr{Qr=mz#*0VTL+ zb_aV+Kr`E5_5k}vK#A3X5@fhvt^#shh$q8cHOG1oLxwx+nvDN(b8Y^c7?2{veRe&- zhG3K6ew$-=u*s|&Vi?#YxVLV^-#X8l@VBZ1@;_I34&)bDGsge)q#4MG%!mJW0pfJl z5^xsWyUT1Y+_}qa9^9?V>}9xDmsl#G%+la~U1F~Q$}Ao3*(LTW;zGE0m)Qb9i7kfv zcbP3hTmtv-GF!^Jg8dCZnY{^j^b%VJD6^GNYl*!LD8rq655RY!ru@$?`tV=CVEq7B z!`;5b-UpP~8pfYve1P~7i{QWVftbODfF%<#iwy(IT0n`dW5YrI1aUo!0?Vg>e9Dai zSwd_njRs2#L_cXPV0$Ts|B{9j3#t93ag0Cq-F zW%i;pg}=QXP-e5GsUXh*l-WyC638it^Q7s#hXJ8ir5U`30ijo=7kLi@N-SNP4f1@% z)zV9V?@M!e4@fTqejud*Zj|N&W=pREZk84RZj%=AUmlQNhX}cdd!?md*@L)GdJ`=B z0cDmaEeH7k;vwlRupC6RNpFKCAMtbPU9fxxD6zxRDv%2hk4W!>tq02)K$(?D8$kXCpv?X$Z36i$pv=xm zn?XJgD6?;+t^9refHEtWwt;*_+5z%q#H-Ryuv|m@PTCEY>xeg`y}Tl!$afKclMVqskn#clC4CO~hjbWxn0yrEKP8TmTnK28PXHR_F91#Qm*8Utl$k0Q zgRB9{%vC-ESY7@HSZV;me3#Dx){@Wjkt2W2$BFz6pKJ0(K0D+xz_;Z~d=|);A=kTr zGCLt(1-S_Elzbg5Ujj<(oO}c1vw#x&O8y??^N3gEAHi}J5LzwY<}Hi)^U-F+|`2!GoLzX1y8AXzyPZS^~ zBN`MVSQJ2sxhN)(jff^i1&bLFdP#8wSwnPF+`;0C=&n=&iw7XAv`RIQs{+Ehs?-3v zIv}j2N==YG5o;;6!BP{kw(<;E>LAut>Vf4M#Cl47uy_H&%BegHas$MMN+Ym5i`YnM z0+z;rGHaqd2eLPy%$`%4f!q{OX3Z2IkedU_%tvVnatlD2wN+XJwo}>y`YOJFeoA{t zZ4W3je&5|sWRPez=g3ULTRG9$&Zve_{nGz4UT$v2`mNEr! zr7{)pZ6yit9c4P;d&&&JRmzKy>wRT5$g2@QP+kJuq|61}qr41wP)P$Hn=&8dLx2+d zOnDXLe8d7}0pMX}5!jCa%Iv7}I>^TWVYT^xsCyUqxT-pF{Nyp2q$!IfRCN8Z7STo2 zmOdz@G!)V#ZKrLTwn=D9DZ^yuCb@KG?sV=<(uj|uqU)1I*Y)SJ>Y}SIVnIbkK}1D# zeIl!_0t&jW>k|>5sH^_JkMq3u&Ln}d`}-%K`QCHC=W);Dd%ov;zUO<+X?rceFSK0^ z@QZEN0Q^$h8vuT}?TrBMZhI5Jue7}x!rue1ReZJWT5x~8?JeN`8o_V0y$#?u+pYt6 zZ`(V-_dbBF;{LXGg8N$lTgA8A-VN}$d<~#iMPv0Q_CsM*;q!?KZ&wH$do3ZMOsbQ`;Q?Mf)eQAGP0!{RklRp!U14 z@3emw`w>9sLG7Od*xCLC>_P2c0=TICZtOMf_W=Bh_OC+769Ix;)BbhrHSOO3%+mII z!F@8o7I8}Z{osBw!Kbu;8!%4=*eY`E4+0!-|1MHp`}dFn33~0{N7^Ge)&2vdK!Sez zkB|ZZ0@bzu1St?8&|dpPNP7e;?GGab5j{vW1|1;oU0uV;V_Lf!{B?-Q~y{)xXTt)B|?J2bcwFcbV2@a*!0%iw5kYQ5mz`c{;uGD(K>;~8>_M|p|dxYRv z>U_YA0&Ed`Qx|~yB7iMof2t4M`v_i@>Ie9m)F8murM3XPI+cMiA4qKn_xlOnk{SYd zM`{@BIkg+$ov9HB^J#z}OQgmCem1oi;J>E!1N=hj0KhM%4g&mADhu!{sT{zsrt$#4 zmhu38Jv9mN-%~!oZ=?6mS01tLt1Mt$0Hvr6byb=6V%-0^{?Q?pq0dtm78I+(z*Bj*kN7;{-p^ zaT~TK!B2MF4wz37{B*}1*s=hDOLu${+;;&4F5Ph_wlBaI@%fIs!2LObU+6&VfiD7t zR_^#5xW7#BD;-||%-sN6#J_cX3EcMpY!P4UxEpBzV2k+oj(d;>0D=VA@l|ktA0Wtn z9bX6c4+#FK;~RkaF+h-oI_?GcPYM34<9@(AMDXE`Zv*D%1b@--AYdK=2vShTcftKT zf*tAa0ZgaAkF=5g0l>dV{|MlT>7M|6Qu-kXzl2~<`eDGFMDXPFBY;^-@Ral~0rO;l z(96=l#vTU{dRh9n*y9L}rhkV$4j|A^`VZLS2<}h+5&Ig!i_;)^i30==rdweCdI`W5 zkxjRO`%;3JrBi^(0R*m|PJ=s7&`Wm#rT`GQak?AahY5!1697{qIGsKbFm-^yjnhlO zJp&MUa=HiHvjne5F9pmC00K`=p91bH3BEM_RKUChAj}8TPXqVM0Jex%q)!F+%K^5C zSEip1?!O`Us`P1qc{Rb;rcVdVYY4tB{Vc#-P4JrZ8G!j)g0D}X379tk1W6G`~$(aq}KrEtpxumy%sQU1K1+oo?Zv;>j1)>F})t# z?*IsM#`Feozmwp*)8_-`UjRbCOJ4x)_Yiz7V)8U2HYP6*dlI8ZwL2>34SC!1elKkgx-`M2KT23emcDyFn0ok-jp5z_gw&? zH>JnG{aJv}o6>v1{W*ePNbd*C7YTkjeE=|DB6xTDAYi^i@ZZu|z}!RdtLYqIz6KEb zQ92Lqe<%3OvzXuR{XgUP<_X++WT?fn$0YVQ=&w%^K1b>>I1U z7wH!R<`IA`;#cV_!Tn2sFpEjQ6x_ci_}lbVfO!-k^xyO=!2NrI|DAp%VE#bxkLgzf z=1&Ag=W7A;=k#mA-P(CI>VyckbzTFQc7Py>b-n@I>CQKTyMth7=bHf21rX*Soo@#C ztj=oz^VbBQ-T4;4oI&u+&bI;F(0Lu;dkJprd7DNfxU2JKq{+??A$=0OvGW$BPl7jf zeiY#QI&TB~`w8CMc{|c4!4G!cfm8|*D6{jENTmRQK0EJ3`UKc2Ztc7a+_w?Dz4Nnx z`53{EcYY2qcM$w!=NAC;34)*M{1Ra91PC&G=iT7G3m}a6o%ewIvjjia`BlLDE5H`< zh0d>o`|||9*!c~>e2L)Qo%aIf%LKpDc|Tz80oW@3t@GR9{whF_3OXMI_tyb}RM7cd zaDRi~y`A3!%r^<%*ZFLY{TAR**Y5!C?D_-1i@W{^sU0AAuq-H-R7)dTRFuB8C~zUvf#Z|-_3z<=m^8pOI5 zAV>&ZrvkjL>*)aB)pZ)+-wm);yr=7QfH!nK3*fP?GXUPybtb^~bv+m0`@5C{{9xBv z06)~V3gCyk)&RVvYc0S}b*%$T>$XFqCS9^F6sxE zUo;4CV$l|WhZkkAq>Hv=Nf!+Pe9@v|fG=CL8_T$81mJ5HjRCxR(O&$@qWu6rv*|t#`fQ|^@^XhKML^Y?Y{^3 zoAz#TKFG040d7s52yk0!3BVnx9)JU>69Dc?odR%A>Zt%nQ%?hUQR-BH`%+H_cya19 zfS06B2Y6}fSpY9fodIw>btb?<>bU?XQp?3K$WFg$8wT0wQGg%m_z_ga9Lb*}@sulp>3h3*XiC%VrEIMsatz{|V)02aH^rm5UL2(Z$<1z@c^ z18}-~JHR8|Lja%OJq+*#-Maz4sCxw9(e5#TFX`S3@MYb2Z{*9n4*>j|ZoEJ8Roz*D zuj|HpB>%QM5AgNfc%S6obx#8P`)(iL|Lr~m@E^KM0ROQ&0QlDK!vO!OI|TUl?mEDK z?w$eouI^cY|I&R0!1r{&5a4^eUkvcZ?kmNN_*QpH91)|7-vRL1i?0H>V(}{gu3Y>| zfU6h38sOQBUkmV@#a9D7ckwlNi{;`s032BSMu1xvzX{;B#cu|q z25`^f>j3`s;+F!vXz@D%?pyqBfEO>m9^fU5ZxFNMb&LA}{_WyH@qF=-#lLBLzPNSq zqX0j)`1fsZ7yt64W8&@NJx{txd`g_$gLhkso(#a&o*}&NvS%1zN6&tMojtn&F6tQp zxVUF8z`y7@0PsmY2k~~yo-DvWosN}etjE0bbm52f#}pox8-PkdwQ_WsuG{#Xp^#2Ke@qQvm<@*U4A5 zeN+6)$u9-?o|D@E^WKx!x85s04ETG+2O#9V;)4+KUhzJNd$0HiguGYW3L)gnUpu3Lzg9zlV?yivNbxz9Tx8 z{y}_4v@cBoY+afL*tzt|w(p2VOJ53b@zOTH{KeAst=|=Y37GGSr!4(s$9Kh(A=Y=r z{{i3cioXKiN5xAZg-6BFrH8s76)ywdN5#vRmcact5bII#DhT-#<7|9(cjPmd$V5eBb6zZMl2P_qMFs zI=FTJ*3#B1x4v=f^;>V>de7GOOi$+jWS*IMUS@4(V`h71e`Y*$dq!-#dE1)p=WXA$ zeRBIhZh!ms^LFHRykW;@b}Sis?$E76KOees=X-YEvGdu(2Zjs7#o-SOe`@%i;d_UF zIQ)`buiEwcUH9+Wz9+jU-1D)~J4YWLedgHc*nzQEj=gQ{(_^02-w*fwd|%K0W&2m`AKriI{>uL6?|<3;*X@7P{@?6> z_QmI3{N9UiyZEk)zjX1}FaGw$Z3oUfumuJT^*{gZc-cc=G7@1lwKOni9aM-#uEXqh}PRhTMGy?E*!Q=gnV(_iCX z;BWDF`Tyzv)bG2zbopJEf8+8eAA0Jc$wSv1y6(^|hweCZ&!Kw{J#y%Ghn`e?N^wKU@4p@t4J|rBdmOrLUEKQ2I@2WqG)Kusm75qWsG8 z>&tH}f4F>m`L6O;%HJw~ul$VQIl;={oM2)f;quzr+6!v0sqH!kwUzBh z@hErve=EKU9OJ80 zhI7PSRA)8${F!`?w(#?E`K-XRg`PJpq3|uYENP+V$LRe?%boOoq~-JU{xTWwRWjVG zWVqMJ_t(ICD?J}r(nimR!2c=YZz)_Tk`pUe11nhf7y&z~&f^87@;KP2BDlJ5`8_>V~ZBNG2h`Tk4!{%iUEYx({= z8SfAB`A7L|>E>`P-5l=pZpQy)2|pi_&xh&RE}ni8zn?Fk7szLyeD=%dpnPtT&y0L- zm(ShuIVPX`<@2C?=H%0p&nxBgrSf@|e7-_HUn!rjK8fk3-owus`JC&Y-`F{DlMLs_&pSSfeecUeJ?~u<=O8j$A=J)0Dd6s-;PyX2r>s!{Id#t5x!(W}$ zdj4OX^!f9zZoO{fHLW*qyuNki1y{FTc)>AnU(t5zz_FH72Y$6^V&LkwnSnR9y>pgDiz75rWYzrTauKfv#;@OwM_-UYw+!0$%*-Mq1y`T#sX48L2qY&_}XTYBMl zTKg}y?rwj^wqq^N*tQp*``b?)H~`OEdrlqL-M(e})vX7&A8WaJSw7 z{)rv0gy-(|WkXlDo;P%T>j&ZanW1AXcZ2)K;Qnv;eR${9t!EEk-+K4ZQ0nd>AAX16 z_uihnhpuk>`mWcezP@XB``trNSu`{7B>0`y{@IcD_B=FlBm903?=Nou)98QG^X#!l z7o9)$(?$L8n;7^p{C>4)$JnnHy&HZvjs1MlpGHOZkH>xixJMVAI`HO>QwOev-!CBC zCm{bnUG&twuWUbU?`iFS4Zm~uUf+8D*ww99?EM({eYof5jSqL+x9?cXefzG4sp#7D zbsL9L_wB3oeCXoc?H{`MSPMP}4jgM4IPkM21^8Wl;KrU09@yRfTfqJHz$U1>8+*<= zcw^7ngBODPrt~G39&7m^gnPrKKU?x<_`U7YYa#tVr?K7Mc-d=H_vfzd_{;IbD2p*E4XSrTa67|C}B;knSEhumbXNtQCI)2d-~@d2l^EZ-g)(?|Ejpw|yqu-99t$ z=kyHF%S?Ez<)X{O?mKI^xxEd3?c%90#^Iip)5MeE{VDK!2K<)8Z-w|u%W8O@4Zm~X zw+?>m;kN;P=fiI!{4Rhn7s9h2(iwo?Ap8zMT9?4@Ap9sAXm$c zcr_O>nj0^A2Gw5=YeA{M>g8&_mDXjeFt9i3mrU4AxzH1t!E(*7&2IN*hrH4_BoKKw zDFccsXjjg+uyzRzmTJnpa&-=t>m@6rPzAMWJzoo|TXW??5$pRRr~^CKl;_PswUn#r zFo@cftA?I~!Gc{JlnruoG04>-Q3>b9Z?Jf$Llpuc`!M-=m9^E)eNoV z;s=l9y$brcku|043PPW~6(tRLVZQ2D;KMQc*x{ECn}E;^9@KQP=+UP|X0)2idy?Lw zQAfP0pDX&$Ct?r-er~cHgf%}O+L2Ti0abJJtFb@}0d!p}l5Em2pR1VK+_o!Mn-ZCA z*wS7V2@~ipgGoXeyi9o_5Zky9ZsWeTZBK3nh~;qIuX+Xgwrmia@DQERC1GkenZ??1 z5WA{=2`YEm1j{hpR)c9DS;fF?Ial)YE^@G14XT6FUb)s+oeV{0k2m2}y>i~$MEA>r~62Z5Vu*p zSGXKxn;fmT@ldT&;<}+1RbD+VGdfY$;7-ArCTFA|gacW|D@NZp)%~Js4@PtQIrU{c ztXIt|3`%BstX%LWpn?jF%@oXFD0?&1v}Q{Y9EHU$p;%p%S;g@Exsq4xhk;+!)J{Nz zv0%!fJYdjKNjfwD5(-ub)-xuA!HAJ6p-c0>*!Y4k)I3gl{kdXsJeNP@VmV3W<&L`% z)~}l1da>GP$fw@QJWp5j&U&%vvSUr9JA$C%FzFca#A$-)I9INP7H*3NT_A^)jb)A{ zqC36hympyP$I3vRR?E2}$!%^&3gg`=F{{JGqwJ7Z z%N0-}h0;V=5?~<1*bD*EAQZZwLu~PCETHay0c2B9FBg&%k_q@yPS+#%Fw=(#i1l;M z*@NYLkT7#tF;?@TqI@q@a)4yVRI4sZ$S34yDk!LymPkW_R?Y^zqBn^$YYs~~tI}&6 zKsUHzeJC*P(BxvVQe8WZ6XSehN4adZ6wox8h|wt+&kG~D32y`fdk{kPT20`a`~t{f zT&$ug9|YAh6~^gD-i8ho=ule2t|f;Ftldy>C_*4h$Z(a}Qmb*w>a->(oQ8^I)w6M` zNUJTJ95S#DR||aMbkIcv17FbY5Jwd)xp2U3dVLGiYR^oR~(^QYuvWBU%H+4In#g@W+P%Zl7Vq`X~c_k`!z5&gv&}IK z9_hWm2#L}6GswqkYT_X00_?+_E$XJ|OliJV5qs(|i!FJP`A;Tca$$-5Q65TN(GP3< z4LieF7X|d9Ieh^dmR}g!lQX9m*)wQ(&Flvr>1h{Ntgv?cnXi-uqreuF!tHV zbP$pqfXx+Qhk-GhidRV!mF4?~TCl>b~vuYg0SC@+3^Edy{gs@lZCq31lL0 zZuUK>y2NZ}Yg!i0QY(n;;d)T>fQF!s^7SeV5H;pE*{Yg?D7@BG$hzKA48~25>IV|4 zS9xX+G3Z5P3rPx@Y$KPQ>*!vOi`)!U9nco3P)` zKOwMXGUZCWMlET*qVH~9^3Zv+slmy2*vLc0a5EStVlixj_9;w8V`yD5q5XnBW@dwL zvgbOl`prZl#SB*$H&ST1K?2jwybFnYS5OhVJnsQy<0Cng{x5nl_byHZk!h$rPE8iDf>!BSBoI4)9y?`d=77 ztzB!h>ufn{$Vn0LK75Xw0VA8obd{T{NosMJOO8jD9aJDS0j5Ov1Ob<-FXYl@FNbJ5 zz1o_!O2rQn2M91YGnqB~)8XRSdABu-7S0s_Q`nP~ov@JybP6w5qRyc7ap=Ygz+ToW zQZzlsz_*gj zvdcq**6I6$DU4xyb?|s;oscna^Bp%u%8^<04BgjW_+@> zg{N?#=aF@y=i15h8|gq1PL}_ z0gXl8XiyVf)*^|MCZnPIssz(WGGQ_rLnkigg^fIh%SmW8ebu6F!snClZf<1(!z84t z<7!Q5Kx{oFGgEQ`HeASq-M$;6!fX}Bf03>50GF-UEe)fZ9QgKlB@{3C1<+hZa9GL$Z5YDU zM4WFlut<|ET~Op8M}JPQ#i3NhYY04wlL)HZ6jdmsMwlUmvIPZb%TXW&&VotJ#O{%)c;b`8n9!LwELt60KC2cXd%H)z5>6XG6M#>r( zZzxwm$;a}IQF4h~c-Vw#f zF!D|*Km%zNs+Miy*sLF#p*#ysRLVpV$xChI6p0q~=ma4&TEDR%8RVeYh<1a;o5ik+Xx%g}d1B!l)iS98dCn*o z25I_db4cj0NQ+1G8jD&}BjqXSv2+mfBqq#VUFA=guK{$@wFqB_xHQE1UN zTQC}T7%Py!vRH+6Pj4VDSMeoO!<2Dkc!3CKz?R}3>Hs1_1(G*Z6l8&%JVMEbg(1n= z<1mWY#b|X_SEd{VLZfdCRSAej1bIpi$;>UwGeK5lJG^PHNGXtOvtL9>g}j7~36nz5 znhjMWYQtPiuN6ApKSHIF2dC^4^ajjT`Jh}=EzUw5Za{10oaxOrUNFr&T;1#+k<(l( zRwS7)jv`v4fwiE6*za;4A=jxw=Z)vHoHI8}97_|$@&MYXF{u}nDTSOkHt>ta!!F%0 zqT|UiM;d-F$;XY8@U28Ij^)^gsPGY_S{T&JvU0VYcvifM5^5%?LXzqsR{U70*eCM`#82Ne&c1(Jl|#xGNz2AS2(Togx>14g-Z5yx6V zxj;xglP2$4o9*&%kfHz-Pu zbht(xiiBHjHkE}*bgr1OQI?3!h%kyEB}=n-_K4tMTq!bH$ZXmz8VZQXL8B65d`z}W z5HFLP``vYq40*EX=}Cbw)M9`}j0SSH&N?cn`@S&m`|@>btyF|5p`KJK4S6k83UY9% zl^m8uX@PbK#4L6ZlB`ES%)zN~FGWgHgV$)5s_oxN%v?+&ZpQvtm<(QXk9iP5z|Rr1Cpg8oN;+!!D(i;kU7>&kkILVV7Da zm5Jgq3OliMG0Q|+hC&?*nfYAjxlNl@FZ|0_hNzx9TRcU!f5UH4IEGpqO&WVvkoT=JX6t`gRC_;0^Tf5h&n#Ll zjBc(5C8?`Y>)-|jT}?VLG~&63h#f(Wmbf+LN5Aas3t3_Jk>(*IJ!pP`jTwuFb?+{l zYx}bmq9bf#732=z=3Go}KKH4DWn+v?dkB?>gw zEEKPdt7qesD9~85P$NJcMXDrrB!`mfN$qG5N?H>cSA%fMyvTAUha{4f57y1%az|fr zCN~QMtd;_a!BS_`Mk%C!CqC)yNVBG0i5|U4*tjf|6jiO`6KRL`ORsXp5@J<1o8^^^ zo92tFMRt-*?nR$68HEzpl&U})14*VH#xOLd+j~61D5BSi5El#Wz>RE?^q4~XP>gyK z+QZUS8acIq1HPqNt|}+5%R{uGT&3dUPB~6GWW%Enn_pyeiUwG>hGpz?QDGbvd6jGb zg7;*h0Ss9_$oIZ-L1VIcM;+@ZdaN0evn$J}I9&~UDPjMfRIJNgm1Iqr5GrhdH`;NT zKo~_hFVSt0j?P$mChxnEp7HHB(j#%Fq(nB@q9}cv?8uC-y+pm@I_@Sm(n8x4aX8MlK#BpbCgTE}U;hLcQ^VM8BM z$0ZY8*w~AvFERQK6S0mAER`fVjiPUNY~o zP8c@8E2|o3n_`%RbST0J8pl%JtzGS50pmz1TO@X53u zHumbBr@|$XbQ3gxiNqQY7o*XJD!@5H8LEu?HKxIYRnxhYNxjL`mYAa`i6sVdNGl#9 zMo|elGUOEZWP)lSA|+=iQD`!~zCm|O*x?)P3pU+LLRVDVfGkIF69(aFqd$Xl5A~wv zrs`b|pXyZ^KFXs9+)V{Mi6;ngb_ISJ+PjqFw#23 z>3qD9^@9W%&UVrBOmLGcp)SlK^Z z_l&{2i{UV|y)raTUdYv<%uFDLv~rFJYdDEx4gH0Z>S7f^)0`N#H=z#VOu{XF(xR7@ z`y_8HdK@1uasqdXmbB62&S}F)W4X;D+aXrn@k-S_KVEIamD+HLi7%tBU^XoAV6&9vi*0_zW&k69nGK4N{qNzhJAoeq;N zBSas1<;gFa&sneieD;;xJWeRfzEf%{{mHUF;pcPZTFftUW(*?}&u@`_YQGD=nO)J; zgz}Ua6(;&_A8(T_C>P9DbTT`o$`XX13IE9Ogsvm&yc?1Aq=O7?_-HH^Hr4*u(0(Dd zQiH)WM@s9^eO2)-RHRO_1?$BS9Ung>kJAy^Bc-Br+DGch$%}apBk#S|OMKU=eVUIs zF-FPI{AOJGlpd!sggH@YR7u+8AfV3fX>e$dvg=ClNyhGTDZ;#|Lw>lSq+30SsHxL% zZrF{a&4%KdYS|DriJr;FsxW$|JxkGkYprJEdWFn`9#5NibFcU1;BU$nHo()|xa8L` z9ZPQ*L1711Oibl#NwG3njz}$XbB8L&mTFL!%q28f>T6bM z9aS#xXAB@u%2F`L(wVFeT2)Lq#f!qJHyxIlg-s{ccPSs4P#4f7#=FT3^XzThHt|t6 zp+OR6d`?p&bijtRkksChhK11?k6MxIqZpHyP|N{Vw2d;9k1^cnNzPqC$Sc*f2ZP>x z+zl~2vDq);=1RHoGK?H$0)!y_`LbC&boFThYU9NczN1hOPQlM zW}hp)%8Fz!WhYNEcLwdY(aO6@bt*qd+xH7PBw=N8%&o9WHhZ|Cmf!nxRcPNyXro%a zS{8#jdxWIuwlO*({^DF#mT)~7{i7F}k@nUAO-_G1lkSbytHW=X&v}k6nz%@Y+l2v-N z+0apdWrM2RKWu5-hpS3y#4cOVm&zzBbZoZcAbOh${G7gZ>RWc)IRGi^lkq>F_P}mA z;1e0q7pOb3o)`C1u#o7Uqr@hsCUzKkH~#u`1?v@kck9oE&Kqx-?~mlbYz;EI@2$^S zX}jr?!8mS$jPKJ7UCROWs+Yxkjc1&N+96}UMBI{mqjVV~Vx-OtxPakCPftWUG-<-E z7BHzE+=CD7{cvW65y#1c6h;GJQ83trxgvi-j(yr}CotLI05ZHUBg6y96e4JQ*>%PT z{xBNQJi)5gpGf$i4* zy2^}8`_WP^P?AqOOw>8SUI;^Mfll4CX8vQMFSM*}==2!5Pt{R1f)JuTP~d~KL9TFv zhY0dXml`J&XZjch&|yft6cYZ9yV7wKdYv}GLm(~ zl$%{T$!fT4J{2vp3}9zgwiFxhKts|2QcB0moswm9c^nDaJ`PVm z{;}heSY?*%_ULguQe=g^-aL0al9W5%l8zRkp4gzJ*t229OYbJN$swBbJ{6!*k79qW z5qFoF{XR#;W>v}I=Bl4&oz(hLgO0-?nsqI!Ar(Qf3J})?<_OPa9Dy-(sv4B_CaVZ) z9*K;oVc20CQs|G5S;w;7z#x;*s zyEPfdEFc-JD2gHGn@GJgsV#(u+5BoA!56|P7Ti4-+7lmN zH+xK-DcWhY6>_#rYQt&X07G^;e8`HNX{$3DaP|^8;Mkc~M-M;7iE|Vur_WJz^eE)U z>0-`f2_rHoWiBR9J7Y&PC*et{FA?h019>t&?qcynyL}RvfH|z8R|ezg&zqO{PNzax z?&JR@WS(@S!xNLVdr-t&Y_dr(`*iIEWMV-xv?t>83!2hBAsJZUOz?@x!$M|`PecwL z+l2Fp$cY@DhRad*6Tvj$;YmlxuQ2Q9Qp@DN(dV5*YV?Zl-1@9WAGB7r-M0m%(_hSm zq0+pWmxZRH!s(P8gmrC&S6z78Dx&j3qf*kv2=hx-8mF=0YV`fFrKLrV1k?gkL3VF0K07>9<`!`g$A2h$f=0;y{n63liOR5>*V3ldjb*`LSxu|K zrEHzB>D0lN^3de~ZQ$tS^W21|k7#gW@m&RMyhSdCy!uqGDZ?o?au#^TB%j)x3CUbS z8!GFqCvvk-*)P>g*3rK%hQj2IM8h~3GO6;X{Sdd1Zekl^``!AE{RKO1J5{z1JCZNf zLx0+{BgT+!NGqur(#nIeRdx_oZmbYCg3UweL|}CshI~=ly-@E63~l2D-wSQi1>bYh ziUx{dNt>is4l`&T zH~!j2U0bNDJqnT}Rl#50Losd=|`kgaqgKt{|o6uT` zdkYlN#`m#1Y}#eWHuF`iQZd394~?-(hbuY^Q1d(I)#}%Yojux>8?%(g3?q>z*!^F3 zZZeq<`9YFU$fspuHspRAJd4=Lo)+?OfdX}WxcuIrDA7z%;ycyHgpvrHTd~YuDqg~d zc9pNOX65Y)xq`a&k~y7=>2+RXNw|Tt)!4qa;VK{R&9%|MZG^JS#Ll2*4!!1L^Rc8T zML4H=o3LY{r%yWux3b{bjpxPS(Y$P2=N(aFxM$ALRi~M%Cm)I@GJRwS!k2TATc35e z$%84M3F4js*4AG$#rzKNVVIJk*_a(vfVzL`JH5~<##`6IajX@^#Mjht0GNM~-#``XzK zCUSA8Wz9&M!6~wDfm6#bB?@MX8~!942b#BPD)&FrlHOuZFFL>qJ-+q zmm??VN$W^zK3O6aTXqIMyffrlbWrM?e5EJY>O;E&1+=2f5XZcUA7+|V3=%0#8mnh>;CmbP__(Mr zXU9&E)Ef8V`2=pftsrx`QR%FNxL#4{W1Z9guG$2x6rEuDzvwHi)Rxp}*M!d%5oH9?H` zlFhbd!U-1JRE9`qW$sjN*!)DvIO;e{d7wiK%_ONk>Nww(I7+t^0 zN0K^sg*e-z95QffKZaz99(Sbr)@k=HhBaI27-+p&CxX)J!CGbs6EU$H7?^Ln=N?CK zMqn>k!g)a-{6Re+v|rE%Cw|&Tzwq!C@+VxGKLKq`dAM$)Cpy`Z(Ll5jA~Ki7g-0CT zy2X*hC|Cr=)2CRd2&y;Qz)7e6SZ$j$Rwo{6<2H7KOXO5LH`J^(=v|T4ZY0L2TeZjXy}Ew>Xz`-bWZn)EfLCy;ZL_##vmA*U_! z60?xE?bxf2j$NW&WeV*V>S%tU;IX1!I;A`c1EV@P%e-+~r1B2!jh2q)!R~=lH&gS< zg-|Z5up9B#DIL~HAGoVcFCOTZtS`-j{qqkIjC4R%LizWwd=^BWI(X=Cp#gK-k z1l7W_Np%ZaEf#N=gv!^4duTmm-aZhC?~1c;YIA(Y${y`^wLjq=cPbUHGQ8Z&&2QF> zU*c7v)GICzNq3@}H|8f5*Nlz_bi9eh4CN~EQ=n+p=uGcTQtt5$n4WtSkee09FLJJr zOgXBXZ;)Jr0E!+Qq+A$qalAg@;G#@ks9E> z;vne?F$ZH^C+6Vwncj9#$D)K2R6WoQY1VHXJa^kjP+s?l)G^V!OH(d=SZgN^p05v7 zLt+%aBRB39Bh@53q=Q9c33CjbJYQH#x^%7qduPlo-eFT;r4J%S4PE3$x>0kNn^fRr z3OcCXA&GlPjeJiySueA{-DnN8I=-(r;jH9Fx1%&#a8E34 zg8UpWV$zY12^E)AIrAyAzT4hD$2(h6M`r62(S7U6KhL>RN_P=`&NdnV*~yWetAoje z^s2ON4O41*Z${*924&kM^@JiP- z=6GCr`ZrrX$rp9)JH5H5VqiTV0dc#Ab4SA}>~$eN&jv+uM*`rz-H`|%hK0r3WoNlt4SL7uFn?tC}5oga{ZN>-AM zPE~^$5U*slpnaKMdsQ*5uQ?pisW{Y>?<8$&^ukt4;nr_mBp6xt=yR@-md1Q^QHrw| z1;v#OWsVEA>WPlXMfs3>3Lm&YvZYb#=-kkutfrG1rC;Q#OPN#q?oVzYc^h#8QqR|j zNT3M)eifU#YC=aMkJ9p*v!*p-GD`0;a*?%UU6E{E?X8nGBfVLrx0bdNnnok3<@H-K z1-T?)PN8torfOtYkijfMHO@h3Dm>BBOpUFJCiLm38e<(6Is_f4kgMfrJ(DHx7zQfF z5l-U54Hb+l*TF}o^L!+s(7D8;st}<*iC@#Y0KGz#EhMgmWhX!+nH{axL)=8=Txc+= zSEc&GFaXX(%V6dkp)@hbq>CZ#{)Vm?C8TZ6hlYOG?Q4ZQF8=m9TA2oxjxG0F9FawkU7^M+#yp4 z(B6a2nq#vJtXP<_dHFh#3ScB%pi7?qsDxM&aH-MI$SYoFGbVGP&au3<*cwzJeSLpu zO`ApF2hpBFnSmsX?99nz-efQbr@k3YGqWS&6;C}D#8QJM`EgxDJw}>%SgB#X8UwK4 zh(7&rtUPYLVb*2IvLOz&yulqvS{uGI`O^A<2|$`q4kHg*v?Aked&s@z0vk3)b^?#} z0YSja2W1-l@HrarX+POQ9oM9=f8#p|Ir_$L?Z-XF_$JK0M_Slp&c=((GTF&*Z9;o^=_#PWW?3vGBIzu$1d9(m z!P%d%)^xFQVZusvtJ!yLtd^Ij+~M)g>Tp0?Qa}@4yq7J8bMt8pMu|w3!}y@(8~|Xv z8=kLY1)&OVaB6}buIVu{R=6$BZJBcfZhD4KG?R0jwh#&4Xm?mNT;uItcF6gZd;uAp zPv&ICvYy<7f>Rl5MFRwrX^*bKglVOR9TWp7PaMb408S?F7^zcw-i-}%%`ETM`qw)*pOiMXI9Ss`!(0He&>*$syI_R_| z3Vq|pprZ~D*@`-OlnzjkM+Q$?8WMen-o*;V9q%@64a}CPk%rM!>Nm!OowzJ7|sT^ z4xjI z;R(vFQ3olb-^L+u6qhJq(6CkHGnGgo)tbj<<9hMUf84BsSu{ z_UFo|g^8ddfs{y&%*)cGW}B<%r7pG8^Tbfwhs%}M~O$y5ZCz8+_6+ix;lJe(w|0A2|CFL@&uGV z=>#wc3e{Oe5BU04e{yOB2A%*_1@OKjm@%(Pg&=38(hi2{$hbAHlWl3uO<7`;2HDEr z?IXMyT~j=EY9+6s>VZy1&*6GUChQvzz1_+n z5*5ruRVEce?UzuDPWEs;PDnHf@N7B|2`T8PA2Gx2R1={XpRLK;Rr5-PTPVskXX1{0 zZ2u-5%;yVIY2Yg0rH-QP&G0IRr*?|-_V0op;?Rier8OXulBlwJ6d!nm6knJiuYXWC z@oWcL&?~8svRY+A^LHWVvNXLF<04NPqBD$St|Zxw`+9_|@S?j2D!ij1uP-2Bvkk5b zeLcLKGth07T#QYgBszFQ~x~01Yzj6``b}?sDxwc=i%u-r3wk zdG?Or!Pp@e3K@KL7{nr)ojh_VFpoF(?@JeYZcGeLnu|OJYBwMpDYiJ+lOG2P)8_CuM*R%5hXt+AKF5%q8yyn zP+9s{b2HnBlxTh_tjnGA&dtgCSZ@)z+c@tih?A}l4(Z-Ld8ePJDM(%1R`4-nz<1FR zf(YT-Jjpjo{fL;Qo=BHVq4HJ8qCkgNR~VW5h&=1sk;Bdo%Cdd8jlNLHsBP6nN%jp! z=AxoX;tf6}dG*YUy|P7L%bQ#NRLYX0=`T{a3M2E_dj#F3Ai`=Me{u$12b9D>1fmwbAXp(Jp~(R` zFE8K?IFE;LJXH);kqVvJ5B=1+6F^)Zxe{O^;Tqw?Y61o=BLy5v-Mxoceb32mp(gV* zDz8wb4Qe81pT;lSH*l|`DKx&!W+ve>8|=)o&Y=BxRue{!Bv%X>noHktBXTtQ5M-%M z(hYNMAbWNoCkShOc_hK0Y8WhZA9Yrsb#7jsr8XHPZ%&ZQnQeI$LCKFGIpsxlFoSIl*7dM92KGH@B8Y3q| zrHIwJ_SemC=~`7kF~RF0%*t)a$Ow_1pbWl2Btq4vR`NQbv;Bo63deqU5?OCzmz2hOKI{bT5o5SyN73YwRVD+{7*QC|W5BQH+zOe;%pd zV%7yQ;{v1v7WA6zE#)>*H6c4At@rq9mcf#VyG$ro=`1u>)sb1XR0uUFCoq1|EE?*r z$s!j}bWmF3A9zDiJiAcyx~l#DcKEqJN5Dq5zB8ifg7 zt%{+WtXef&w4!gwG!@BFPxQ-`dQD9xBnhjk=U01iLW!j8Q=pNA84w8@TCEU@=mk$a zIb)0-bTR2%ktS%IfSeT>3RPdXP?DX+R5p24MHRJ;T$B=3devO{knlwrNqZH7)uOOU z6jn1a5c>ndudC|FtrEG_qNw$5)0$;UbAEYa%|x=+rL4HJkP8@ku53-(eWlzo``36m z250bAxPq%xJtVi_WKAlU0>P*O@ zwz$AS5(q06OU(h*9(O$nR2n{|>KF}7T%!lm28?k}U_lf9WS!;vByXU%@@(7#YPC?e zO>Rt#$}EhlQwd(9Rp6MVT=h^wEEbuK2Ygr-$ufGW`-ON^c?oOW1MfSGdG_xZ!7>&7 zT-ml4^2Y0vlM$06!l5)pE3sVlR84zeesP3cR!hkyQp<-vGBo2$cJ*#fhQ~p2@oH|F z-4hIq7mY1)sdO5M7jiGF%)N;WHwIYugVE|^Ew69&A{%g?l}O8Nt$}5e8|h%((%9(c zbM;NQY7s%3J8NZ@(T7NCr5(@K4N*X2z^TN}pr-ZPo@G3$t`-w0Pq49&oJjGkU*7W^ zRI+NI;MJgzRHJmY?Dj19+lM|#%xIw3G{nf^;wI9031bXk8wRl=61d#7wNY9dmGG_1bY*pJ)LloC zi{s-(tLw7`oC-lUK{}=h&s#nKzbBZ9qz9N#d6@{(G<|2MH-l-R zi7*~F4-GHRJhz)Y6B<=4T^^+@)mS#K0Hu4Xy^VfW5nX8EBFf<%AQI|}Vd~>ND9bxt zQO&b)Jeyr9`bVDGyK#LsOOvaDzL0K64iT)JC|AMntrofYeQ}NIM59wE-eS&&f-;{2Tc#6qtz*#T!sc+bfYTV>Z%P__By~E( z)jD{Fj68UG*YsiJCNQxbu1Moj(>yRMsF}lx$56nsSgfAEksM2hv%_exBR3n^T1kGV zUN~5u_Nzfz-{P#Um<1Z)e$16<9qQ{G`C@%qsnBs1MCTSJc|c{Gp(hs{q;2ZK^8<&J zWzF%yB{Z?;xi-CH*Y{}Z<-}3w&GqF0%kSvo^CV`h4dMLIh%67L1EVy+RM(oj>qL%$q=e&yA%?)k|};M5$rq&?}^ zVwzNZ<78=&((+)fE?6>cnW7FTEWakfo2hiDEv_kC6UjnlKzS-~a} zy&G3$(cBI@;l^TC+Z<7&WRfjqtVHbZ^=>>no2^axq3C5r&c?Ob?5g8Zta%nm1ygOo zd-zNpqY~?6pd1QX0^qr=-0FuRZJq zY2T9!ovW04h>KV?KZbjDG~Vj@#al~fE6};fdVdK!PRd z&}K9$83#IDL7Unjg`B9&FO7l~X?%WBJS$3meo-dmhzT@_dpD#}%V=Pq2(tyJc2Nxv zHRF7T>ebB>nI|!WFS)&3Zv*PX;5ZW4Xae`g%mMY{-egyLI6>yp4b~Mc3DqYp%zx#KjuEDVK^S_EE}! z(kGMgQkd-iIX+ea9ZpX9q`7#(S8__60d%oQiFK!6(2#nBR>g3atq#2-2oBXNa&4$L z!|Tzy>XqrLIkFD(&)s%cP~r4A36mrl3!)Gb8$-|KqaNrRvMECD#FJ(hrb#FkKab}t zgwd?ziLYaKtjD^8|OAgO&XoYHb#c}H6S(c zDiyhLJ-(L=1LPn{ga0|Amy|;2UIzi!Wog$0(9p(GHoF;zz2fY8Sc{cUP@eLOxCajBreRRJ*j^nY;z9UXc7-p}g-is*B4D|^`l0bN*cUm1YI4_dH+I^yKxzSCg zwC7ws|BJa&InqZOMK7#&JbZcA7x@smAoC^pgzKDE$3h3W2G4@PLjuuawy=O{^=d21 zDv_b1t#C)N>ewJOW-I}c{5Q?U*)OLf&q>gfVcu6M*$z*);%})P*Bml_EHEciYUaI4 zPW47$p5f;yWYRgn81!tpXIkwescFI7Q^j~IS>!QFfxDt-aqdQ=& zpC6s)$Hy$H8*k%LracQWCP*jkZ0R+VmCpLJ-9MO;*}Bqfs>(fU!UGYVy@gN zQ1wf^SDg{0f*Y3RgT2xgSL>B?yr-2+wl`j}a`Vb_)^6TBxO{MP-@4^zZ#rk)@=cr8 z_AOt(e*M6@&1bJ$w|eEe7m8;-lSy*rk#knAT)A#y_3~ACgGI$~jl>lcl6n)*rtgiO zBg0IkmKXY93cY|6UHb%fC$-I6yl`%l%T^h{r_$T+?>dx$7dA~ECfr6Whk<+Vyv}^*iOkgg!+XZE2 zUVJgTs~HQk51*!-(csp?kG;KI<;>b_%qJ$P&cqb1*IHcj1R3yiq_uk;R^5RYeF&+qJaAr?a+XuGq~9tb%9JD+A1DGiQrU-eF|CXfDgMeVuh$5wqF} zPksS@UOmLAaW&gw%#H%ubmFlB(vzfpK%*@M9}Ek1PV15(oeWqsb%%@b9^o*1K_1Gv zDLBIIrZ%(F(hv?mEELtS8c0A>0ci6zEpd=&!0%Z+DhsP|+DDZ^OnSUbGeNW6+~K1x zdR07$b4(J+tn=*V-fQDYt~W_S2{F*Q33`WEprld$GHYF-CZ~|GrH9qAP%wc6X*a0O zZoXtkoO3p+i9sJ5vHG-7jOIV*!z|sEHP)Y7Sgyx=qHnpFZ0_oiXD`-OC21QPmkEo{vJvk^!%3d5BHNZ#32C%+8kv-!f=C)N#`^%*Wqbn{S4R`i)grT{ z8r1PTvddNra&EFVl)3EO+ODIl;~&O3dqmlUzo!`DGzJuJpRabG$P)!; zS5l1I+5@I&$+_>x+3^*_SmQPNX$x&R2oblJ^Ksq*Cg&h(7nqvw@lG)Lrg#7JM#TeJ zWM}`EA!KJ480wwY&R12bR`rn}ADhzBNg<}blv`JNeW|I;`$|n|bZ_SxrJSXv%o}I( zE4v%zMdxFSy(>y0bhdWFnoIgLVAETWrxy?4MN;1#Hm`PP-zupDl5P}SFJm#jx3~&qF)^svlJtA z(;Q4r6VoWnGd)OUZ?p2+As1TW$J$Z_N*!AXsme+7K=Zb-M4q2_{1+%4mp-jxt@^qk_Qa)E6%4$jdOx&t>XM0y>l;g7#|{dR6Jx1HLHMew#Jpf zMaHg@gU=n(m63-6R4II!vKK&z%VqU1gRoeTdSbK0GdUw!Bc_$7#$nQ_QVffA_wAIG zk&9G_stC_XKi>S}1a4R?WeMKw@`~pslaZ+fD;;QV%qhmiCJpJ08o%qAl>USe2j@z! z852_j*D{%!C+j*d^C8mDq_T@lb2iC?klQ+n?JcuN5n1IPnFkyOb8=X8(}}h^cN;8^ zPr0aCILuQG(``EoYDIUBb;O53Kl)PxmQ@5 z1|WY=&rsJl)a16f=u#bD^cb2_`4r3N9{N<-k!3#CL9L)^hU=HhP^UBkVzA=qYah=j zJog8diNRRf8HdY14=|Imi;APy{?BJ;km|8NF@}@52Es+n;z^A}N^UEnj5RwYFErf8 zE}df2DpiW}ERN&Shnott<+Ct1h9P7T^24>|%ddsRJ@T^cQ0%SJJ9G4qLQGjXVZpmjB`**ie{_tR zuMP=Ss0yRaV~@Nz`m3s+at44A`k*h1@_fynip1PPUGbAN7@GKYFhUS|}oa7TyJHK&i*i17{ zsmInk<3iCm^!O63%=k96VuGa zp1*J>8quB3bSHaI)LF_V=g4jP$5Cy&kGHl!9KEt%QVufHei=zI=6{pQ<|K+Aqq3jgV@+(r*Tfrly4W!6G&EF7cc21-LTjS zbxJ)(nr%M(VCL2ayr8WPzazk1cDdZ;#9>mw`Ep1UZCiv$A)$*Ad-QTkqR7iGg&NOl zQesmCe}w`Ai6a6gO9kfb+w z9u?D`k8+iWHl)b|@H+@Ups=M(i&IX8x2$>|jqf~1w$rrL&4HBSDcvsBaN?=aey=%4 zeN@k9xh{N?7`Q%s+0&E8e$(7awx|)83w59MrU622#BhM)v-acZ5o5FPFVak=hwIkwCS{y#%3hu;wVv#S9AXF#|!#8&t}1M2+@ z5|!D7B0Q4h8Kml-5G`$!Q2$IBETF4aZKR%#&rV!^AElLwY+IUpH5kN_(wvYr8IY`N z)T0H8uhgm{e|&S9_>EyhpPuyPQBKL=Oljp<>|_Qd&KQLDsL1iC(U(#EysOFRH5ZKr zat1u?%s*TDnx~nhIJNs2q%fS(`83=U81}SsTxuo@l1WZbo}8J!)IbkE|!yTbF(M+mH16$deI?p$LvqdzV0WB;w9;k7S266iyUrtsmxGn~SyIiDN zW&ZJzI$7HavDYswcE99VkG0ltQvO)uu7WyWczMU%*b6MLl3f@6-4WUMijOJwm|I_u zF}9@91?Svegj33{`NlSD5ILKJF0kIW0FC-Qzgb`pQ$1^h_#$zObqlRMEIrD90Z2HP zH&Hr@?adZ5w>gV{6BMo_j2cs|%E*y)=J=(xkcCq*(?{}{kyUdv>r?AIEamWcrld+U zcXgLjb0i;niPHeHdQ@hvd%mj=jB1F~%8r_wDZ0YNR-~te#kS~a-NIsOYUo>7yaYPz zF{7iFk=M>&k7c!)m$cMfpz#cAzocg*$vS>JpV74pYs6j})rk?U`u~2RX9`E-F9k|O;R)cW{wm?C0pTWI{_*1ddeOVU9sIm zG8D=t(?TsnFt2H>c~bh^s_bh;=8#Wwxe`K6CC_s88%7Ie>*vMLW1nxW5SyLk4uHw$-B6F3Z zNG&iaToXb$U(Gd6cmDZ)tY3)F(Mv>uc}fQ_Sj6?Sj)!Wwo^kRq#e7SW!lUsZ5@lzqP{!!TX5w*THmrCViO6wLS1}G+4jtZ1 zp>qpjQO#QQmB|VIFOcv4q?{Zd(w$c!|3}Dnq;Vl1JITJkxkmDTlX#OxZlwXWwTH%5 zElJ<2Dk{D{r>fxkxhE=SF(!El&bC62XCbN@Q_DTgly`}%WQP~N?%q6S_RyL5#e_vq zW9HUq)eI~36~}kY%Pz)(R=dLEU1jrF%shJK@&4$1jRbWT);HTR!c1@@q3eiT@ByC|Fa;cCHM~J>MS9;&6{XD4>*>a*5z_yh20qI zM=ie{(keN&EIUhfeU+<_;>v}&wr9fcLLp8)9sIb~axnP_g}vz4vgGuLm6~X~K!~mj zWPZh2rwe5|#7mGoxvfD;#xT&B1-5jbE|l6xoN{_%m_{}z`{;`}Nh%1>F(FsP9-Y{i zWmvNoP77h(W=bHITo_pf7CjdVWsI(rYvPm(1)Hsvsiuk)^6}&}*_6cOm@QnO_q$0Y zS+f`|f@{|mie^?Tm`T+0=V_2Mmi$%n8Kgl@;enXLCo&(Hax^bM_}k}ir<**OaL43| zylUhgpzkj2 zxVGMEiNsN-HRujWTbR^l6niNk=ftpg*d9#u<8D0_D&?ejN@oNx^oJ(|YkBvZi3 zW%Z`n)MU*3E@?Qf+FNBBnZU5}RBg~oGNB=r?$K+SjEcrJwaGOu9Hr!6uprsaSj+UIh zQ;O6|_zLcYRh+`z$`IAhByE^bON1q<3NZ_o+;JU42WM|_QhrO$02QTk%=>eaXNnEP z)%muA{avxXSuV$gZR!-!7p!R(Gs$2Z`E|26%6!vSQ8}@vSA$bx_^AtTVV$M8mXp|=uSavqg$*N{KQSqIx zjVK+uyHm{_+M*hbNlTPt0Z*xVR~p6q+>F(oFBrz1JRB>H6Q|fbw7uqdhA`UFXVCmY z30`}JwH2@J3bLv8NJA>xo((^=-ab=^GvcL5oI9k>f=(||&q38pe>9F!wCh!Ams3fXQz=KOgy&J|&Py!WcF}V5jZch0 zk}ZiFePZLuKxB5`Jt24{!y|%YUMqUy98@fcav{+Z=awyL?$=^4Zd9T+@y5+c>;(qH z@gaAasCk;r6L_~)VSXu{P}8Gt4JPesdhT?(6GCc%Dr@x4AFHs29zldyBe|yWJu7xH%Zsuvo}yGF9Vv=6I%uPLxTQ~+jU!6kmb~KTZZx-(^CLnQ zZ#-)>7v@6(+-8Uy{Mp8GQPRVV9~%*@`~Lq$cAFk<*0=<7_ROQVJuwO6nBpEFl-xND z*~UB4T>1pu0$7&STGfmdTDB37iz|SVx!$svZL8h-W@Jzc2WAOjKHF`hi$w2E>OsQ| zYy=)3A-btHUki!%n75c7^Z#J>V!LP6x_~>akCV9j)wz4j^~W>0$KOw)BxUsv-_1*W zLB$LUrV-*IPFb&p=Nnc29NS)OqujYG_?^cuvEx&{MuM^`ck;1Su4|t>kE%WT&LsX| zCv!Z9DV65J$J1*KclduUa}7?SQ^T8ks-1O)Tf;Ty_~~${35lPPCo<7pwgoBiD%viA zTd5P3(Wy<>TGHxMW0gByH*31_730XcKD(RutN55VcUQgXcqe&0w>cbloM3<5T#fhwYQya9zlIZpuaUyFCJ*kI5osRxm ziZwfp4$!e#erWmh3w6>QcQyN<9XpQ5AJ3HIdcw;@ zEoNbe1}Rhs6r2R+{v;n(G`|91cHVFiF^ig3YsEip_8U&bKCNmZNjY00iR6%op6Fp` zIjIF&W}7L6qt!Kci>Uk??Ln2wSQoq-Xc|)HJ+>`J?`rmGdlWey*)SwhqoXj@8X8Xs z%+gX)#jj3iRYPRQp6D8EZle_~M6)75c288&gS6_-?bJ)c$$B78jb&L=LZ$z)ckYIf z)|Qgi(?=|ATYQJS=oxV=zGx^tKS@KTG=9r8`zujCVyB_)Pl`PuCBjDa?Mt~nDP_}z z@9m2eI*DIC_H(!Fk2OBqG%7>IIk1{$*v53Tl7a)7URBr@Gc9d9r37QIDT&mJaQpzc zQi!$}!SD12r^&l9qnlRZ$5=<2>`>gE$TeAPWx;drj> zNk{aQw?_Fhr>WWEcVgaN9RH#_shsaO-8xB<4HLhgi_7QH-FHzsZoH9+yOf<1RDQ=x zXm4<4j&HBkE~stugK`(1k<=TfW*9;I#DA{i#BYR;rv#7jn;YVW3eD4xAA2u%GMr%7 zp*YdCwh|}U3u59#*V0I&5rU+B<(qI8>~?uJ55q2%C+3jT6ToQ4kDn%CvjSyug$2#a zY1nLpxQt;}!AWmQvObk=UAQ)#ihMV`5yLMbwQVpA<_drfFc)Lqc=5dlr$s?t) zg*N%&{Mxxvc^(r{6M+${Sux&L5w$3ZPHORh#ztm)tc6f^G>K#~HrH+oV^V7mYssx? zM$C6-1fS*KeFpKe3)HtCTbB*p01r#OZdp z24PZ|o9MwH73yxx+_-z&r={B?Kv^Um8*2-w^G(;4g62&5=ncue*zGi~7-4rDd*7&? zsbqtvBs1{FS+6?PghC&mn%rn}gKNZPc10&k@Bd$WUjrN0b)|RT8_v8pe@`=yk}W$k z%Gjni)J9VHE0Mc)Vy&e_ie<+?)JERWwT9%-?(!S#;DWn`Odlby*I-lC3&50T0|P& zd+z`Lz2}^J&V6x~pP3YfPNA|^`S!+Y=+xB;eX(@lRR~~TS+At+4)9Z}^G6piQdIohqa5QVsfh}wscW})@nX(PvHgk0m>PCTDD znz2Q-%GPXA?PAMYV&g<*-m;o_Ui<@WS3`Joo*zbPqMex)or#!_*YcS2T4T9(uZiZ+ z58L;E`7pyTgeO-!>eTw-n@CS_ici*vGmJOaw}gwXQ)v715waF~S5?s?A<;+oI<;_;J7-?EKwenOs|?@d3BTwuU8WI8 zjE1+SnLcs#AR`_cv1=k_;UjG|JF-T)&h>3Q`xcau{xk1@#Ze@gAoE&zphE4shbHG( zOAhhzYQHLL-@BqzsLkhP#1QVyaDswVl%=u$oNW%9(1u>T*OG$?ni`k|us zqrK5=1GV#-Qmp==kJg5+)-`zPsrB*3 zm3+yyIh*ZbWY&tWW}3VshCsB$+u7nP`>X}`e`xG|ri~O{qjn2SB`g%JqyTAHr zWKOVoMxiEGoQiupeg$I-hnUj|;~br3t!LH;d1A%s=1K>S<*)W>6|X&?RrUY${;8jp z6XI&HY~%AQO82Zb*MC)-cIMjXo?r3i)b>*N%4_F{v%1#jwpu^35j|jRmXdj8(E5y# zPrDkNp`CLa)g?Sh*OaKe7OVshv9^zA>jN%=p{?XgMq|@K6=t&2M|z`c_toY1OLV&M0hUjat!tYZV=_Yv;$U;Mjh)Rn=Ce_7R@$ zktSADV$`lUmej7}O;hE>2UX)pa(7D2YJ6rv#YwAH3G~&zNOf&I=oY=e=Gn21XlrLQ zYwwB!E?TALMVL;4YpbI|ovumODy0)Tw;GDwj^5*4B6H;&7vE~7K+MhIiEy8fZo$l+ zxmFDgLMFpxJ{m3WEgo0%x<8Ek=Ld`iCFrd*Y#dqu2fDhLnBWq^ZYQ*??bvf&15sz z=bgn}JAIA4^%Lj#x@_lqn_8$xuXS2oJNn+n-uc|Mqh#^Lwel+}G5z+3-Vf?_)wzFa zZQ0aT(bCn34(fqN{%-lS-_5TkZO%k(CzQ0EUg)H{wwls>CH5k&xw2S|A!ArR6M9M* z0Va7*b0JJUr8?sm@mh)aL#P54JpRikScGLAuWajzYdySMcc`md8C&$2uD&I=z7*T4 zcfO$FT(#BGuclpabqXS#H4pGW*WZ05So?8^uJxUo)xHe6`c(uZ0j@RI_;F{rj&V7O z_BZn*u_fzv?DKQHRNBdQv&XDXo2ZXm9n-?PrFGmo3J-m58=oY2L>y>cBud)dw+O{x6^xnaoM*o@_-)Is|l~Yw)&_K%gTCKuc(K4Ma05yGTK1%d=|(q z*z#z=*0m{D;qe%~a+NkKSS23jZ)IPJpf{h0 zTh44FUtzxNx|X7FM;haL)a79+@sNsZ&MEERu2H9MXw?UaK5?Z^jH&2p*OeTNPV>Ff zcc|lB1;goEi-{v|H%BFh+ttHY`YwA!+(b1ra#yD0c72dINpYq8+uz-37jRSiJFf=w zL~UG|=^Ap)|3O%5qVPVkUx^Z3^i?JE4Yhk#w5@|~A3p_tROA1xce3rGe?||!o$GC8 zp6ESN4bw&#Kvm=Wm(;40UQaiS4s+KirZ6EB;Bq zxNLwaawUhhxbNEP5x)&trTpI>yNX5I zd2>-$mA2E`*`~3)@cDx;-5qm9cdqR(Be!p(pIm_f3Tf9FV>B4T?(k9h5N|BDW0~r% z&Nb@vo#E(o=zRBUEnGRTwU3LH?KEv!t*zGaE0=lgy?ez{)8(74g>(71ZQ}d2;|Mfo{|J@sg&OMph;1@0b4zYTi4gO}!uU}+mw{kc5^}mAK z;b6A=$-YGP?b^Ou$ES4T_sjFHn-TRlATIWvFphhJdfaihtggE^sJMT%Kd|2DP`GYyU6b~0=jz9oL*(qUxNGSSvH?x z^BZojt}mQa%U-HwFW0h{YS~M*gzE)6<#s9h*JZ)5VI*L{vnvTB1;c^i!bro&z{tYL z!KiaQzy7)_o$Xg>^f64k=&zJW`4#DmH^h29LnBWvn}$`u*8%dZs89zc0Tp-A=*W~v zl3$+wG8jR4qwB45k^+_AL)rJBFLsgP_m~>ok;07fd(zaOe*N3z!K3n&36BDL5VKU= zg(+CFQH0CoyXg3GvgjgnE^3HtIK*?+qhg0p;*g!{vQm~~xmMcBSXnD)Ef-Mp)Fj7In%#%*_{h0*wKD8pb&o&)X@FXUU5)WjIp(X>mNwj&tHT z$ByU4@jSZ4OUqp0iAI&QxxxiB&@b2yy1L-nm_Zx|NzyPfFtRXmF!C@`FdP_37+q4# zl32@P$rP=h7VAv7GSVTG388EVXYF|%#82T1oZ4)G{Kzr&DVNj#}bDVQ`)it4t=>z_7T0=KW0S^Sk!;cUl` z;*`SRdr8GJLBcZ;RYEg{*53E%=VF%J>(_tCz#amqJ|%x6l~1r=C}8EhjmB;88y9WQ z%T+85ksqe+m!(4&^*(H;#V$6cLg)hKY-5TiOk;{27sPP^8^|I$nf!ajA1k6 zN~LfRdKqaM&Q6_xZL&P1@MKIcl4XKiaUurwmhBbTU*X{N(qc;tO7~`}mm@m8I=t6} z^ZNZMCK6fHQl4QymBsW^-sgWt0GbM;vCAAm*rfb%Ufbhb8es~JJsHez0YlGyk>@_% z|1L|PU3Pi*dza=tM*!sTHb}ip^?~g-Zo?dG>_Kz@`v{=vKaMSwi!s1HCnZ^!Gsnip zIL-}~`WR>*A3B#2j}u_b-{OkBB^7%sJpUR~(SmJEMcx-;-WNE#w=%t9nh3nWmHLI{ z@wgP}DB&i*6gHV5j4Sx2YR<Hg;u5k@JWI1Gfih7$8w&(@p~9BPVS3Y*=ozx|D%?L?T(7pcmSTzXF*qR^ zxniZna>UYM$yjtZ2B%`M6N8hc!pkwwObpJM2=Pj#V{ldq&Wn{3D=ikn9EE*WXL7ow zou`fWnHKLe;!Q_}kaIp_PXKH{lfP*O z1yZYGPFdiz`Yy?qe+j6o$LB?0QT85eV6r&eY4%^@eIdz_1BZTdTx{V!;+hhlA+(t98Xc>u!)Qd0~z z?EBz8J$jeIsGSe%_hJY=9YW8B&@&pzK@wCA#BxR3;_poDwI5u#9eOdbJ%RF2?GF&};R_cKi>iIh|JHNw@C&cjtZx_K0 z6lo(L`x@qa&r81N9l=7zG4ef_F^pAw2gVa1{&f;esBs>%eGDIDc#Er16A9{Ja{~|R zmw6WT@ZKS$^LN;M0ysu2*ZO%viV9p(nf&fRJ!W8lBo?QTzuF3z5)JMMku+uSC?(iu zLrJ{%B-M;qDnfxyMp&JqO)8(ychL!-r_?t22)f!}%$_WY9-?20n=}LLtl(;-*EaQ_ z1IuK~h>IUwka}E@of>iTpf73PliYY66}iT`34#?}Fa`2%Yuvi97%Jp){9P9)COY;!5ik^iqt7d&0xVVim}VMB-|s+L5k-=rE-}T3K7I)Ju|RUx z9w1sBv@Ltt>ncg2iT&UpIS?)8K0xk=k~qK%p|2O_iHQS`iY?RHL-<3Sw@IF_bYWUa zvWL7V=phPCG0o@|Wc`qbw(MX0Ev8MCjAkFskDtiMRWXdszKlv*<%CN=W{cV2l-l5z zl9fgY%{~dT!P&GU`um`Pf-NDm4<*&GJH3)fm2KXgUyUy zUIrJI!(SzQ3KoSIsL50zaS&beLg=xqJ^Yx*nPUAp^3H*m1Fth+oDqRTfs|!N;y41? zv}a~eAuwHq(x4xCdI<3nNzhSAfG&&_3l$yYri9Ij{0+NqDCvW`z|P zl@6*vk%bN^xbP_m&Wt%%GHk*6B6GIM2i?c?dI_8~pqP28(70e79Edfy(T(90RFPuA z3YiW<^cR)(2rkNYan4tEJPHV!FjDA68QGG7iBsULV?H?^UG2ygY-^JaFBEJ^tKFq_ z6d3n#I5HyY+HTSu3Uui#j6>4AS+TV1QL&E8ru@7a2q+KN zzm=(xAV68S3YqA3^&)aFd(-ILiiW+VFP02fC-?#LE6dDU^hzKnf*&xN1@29^a`Z)@ z;LU)5p}vW%1ltXs0Q{uD+B(OKYKkLM!`jo3pq!mFWVkS=-^yQsAG`7#o#O1 zO2UQ>4y7xcN%V;TmhjT#+K^z|z`*m$;eFydO{p6XUMi0ZgPOCIk+^~VpJMZCY<``C zo-;wu@hZAiTJsaG{7-b{f8vQ%;x_yQZOB(N-=(=lv)nYL-rOP+n?^LfD#;pj~IoD|aMq~W;c9YI71ixd>uW6A_K zu?;1ZiNJh}svOv*8t0zjavF?x(}{jkGsp9(l++>>CIwY;(y&nTj^MT)QyXCnp(+|~ zPBY^hIqj1}S92-Zig?p+rn_RBs?BISw~p45f#J{l6s1R1(XX7)0NQ=E4ojEv>YKeI3;Lco!q?amIzn}3>8frgS&Bn=f)U2mxaUqF0`(n9;^Q*XZVmr8rD_G77qb`52(^%JLF>laQdSNgzd z#|ZHp3hkdQEwq2N)N5^?zw+Cs{>o3Jx<-Ju(Ee~@Ci+6{b)7#@n~RIF*9u!d20nglRIr-J6B1BzP8+lgYxlO!ix3xX!E80@g#or_gKUr*aGH* z-fA0l0|kV$5sjgj1pOqTU7tp#6S)5}(z*!|d_|`fqdmI7d;{Tya+V%^GU1*73C>6Xs zdif5M6&-rE=rRnhzcm!dCD#H@-|eGmbhGvB99dtU+tFqHpXIp(pcLCD)&_; zJ!#0%Uy$m_h23tvVk5Dh>ZmW!BTqWCY1+W`mUy5OOOk<&3}QhkteHI!I^w&zf@jzU zjb{al*F~Dj>1Y~pR#GvHB8^(fBv~vO(VazEb3OE9sBr;5&d(n&h1KX5pA9lrrfuvO zoQQiCTRq*f8#ZcX%GZI~MZK3q@vXhb@o3KQj1f;lfPi2JZ}2=6hKb9gz6VnQOYX}s zp5}#iN|v_>95tR!_3&1j=?R6IbMZ&Yz1A1YH?6HJ?ypqs4nF;BP3jLylR6`aHKx7B zu{GHM9Q$Pr1VaYsH9_ArKHoOLX#<=gygrTldCYtfzM!Q5CR@ow`C5p@Ys!n9%=Lt{C=(_XzLVCq?p8@hwvuuZVh0I}+4D40nYHsh z77hAdmr~_qR_UhVmRUgv&E+tP_QUWz{9y`$dcoUy<{tjI%${%OaH3q+?z{p~zuy9> z6uiysh2U*JI3J0zEi!+U3(8iaLUSx@s~ujSCM2lE)OPJGwm6A=VdszYeOgM4JFGS7 z*;eQI)|}d$XVEj?Er9#_jxdP1GIFQ#V>HKfgh0XB5IP?=Hi8ferc#+ts^EpPp|r_< z!SoDwhd`H6{Eujt?5061YXTh*l0ncC6gs4{6Oi#t=pKdWdq(IhmV!4V7#t}i>efgW zJTydp>zMg+H$iM#MLG)OZV^vJ8kZ4^f(EPtp%^}=eQ7QToMu-La|Ig{oLPK z&}4B_X`zgqvNS|~;Pngc!PgQRER?kWqU1-N{Zm|6Q>Jp6#ng0D5#?NUv@!zIVpSnC z;imXjNkp=W^<@CT&sZsdjuDX+c+!x2=upGg)Ua*fkgv(T9_MSqgDL5+fHbeUy@pk) z0V~zZ0}WPi3G{usy5J(tg^_UADmH`;&C=2)_Lu^7-$KjAQMd68uRx$n}Z z6K!ETFY<1k&=Bxgk6F!&8n-t`QjnH%(%k4E&39z5OI$>drXmt-+XcS!F^oU3uOtRR z4qv~OY~0e70i=z*rN^V2mZH`vTW%4~O9lm%5DuxyF^q6l+_<0(7UdU3)`6L@c^)rq zI@<8GlTC*dnP~-4Y)HSAa2d)#3D=|o0Rd*PT*8JRcL49Y5Lr)@6YKesv1Rt~^{JgO z!|@B=rciSccU|=ODo*;|%R^lJGN3ZADO(tf*qh|uT_(G6TxQGwsvQpB3@mzZl^|-~ z9227X?)vkpNAz8uroA%-bs2Ks|G>_E+M$$1|1Ven%STSmW%oWl@zsHE7S8;~-op=^ zOn$28fBxkn`Fo3Fn7A4mS%<1c@I z^MCm7|7!5h|INR3U+%Y_dBeToYj1pY^J|aX_eaO>`4`VE?0)5+%^$dM{aODnU;ndz z`A>p9kN@R=`(MvB|M?%S8z_9@-#w;ER6^+IXoa*C^|f6rIZnc_kPSHsI>#yQ`l91N9cq_f@hdK% z_1I&QF|m~A9PC~6?*=EIN3?QM3zIC9XK@#F*J$jDF3;hwWoRye7$DRp4W7w6z;SXc zrgFl?pPP4Rt9{3HU5Z5q8l@#vFu{p(jw?YX1R8~18K(<}6aL?Csk=YDaOChkwPSU=BQ-r(VYHFN(;Y>@VvR6)sp-oJip#a2oRsR;&4ouvob7U!V)XPk|r#< zGOWvlb;ZNXA~|h{E!E-@$($@ZOQJu zSa0X3R*3vIOEqoq=YT>JR_y?_r*<53sn}y0n}Nk{Pc8>R>w4TQraaG5nJL;xfpUnr z>*7WyEedk?MTB;#1fdWI9yBZcG5=olRsDzly?mT~k43t0;P@MH*g$kI;fe%a{d=@i zc&-O1;Zcx7IK88l?x;d#ubgo7ZQsT=SsjfrZL+#D(AA?gTQ=)8k+G~{ic&PiiN>>Dp@<)isBM5JWb0N5t(8$eS@WNNnoilJHK;o?#LJK zK0bGB_UK$qQAk%;#}IR9+h%S~Wt>p)%=lf1{6t}~S!9;+JDymsV{{LBQzM|@VDASC zpgj^wi9#aeVH{S0p*rn7Ry(9rI@Ca9-F%N`ipM%KmS!1fxqD1iYCFqaG&gJd7Vy>( zE;jpx5y6nha@{JVd5sJYXiDp2jvJO60XhbL0e*Iv5pTag#TYkl&p|AahVJROq+ADLJIxOdgq=t4%VRtJFbDeeMIu zfA;Vrs}%5%r4GFB0v@kSn7fIo&E0l`6KhIWX#LxWv%E*^OA8v zT430=vAflm8J%hFriGJYTOMb4C&!D^6ECg%nRXo4CVJFMfC>Q?>N+Vx-N-M+s88ue z;B6Nn8GFu!>{{>xUM~njO@i;PYZ0wv%!se~2`MR2YFBGTV7~}g7?jOiqZG$$>pq^d z2icrrbH>TwN^z5Njb11nR-1sKv1X{qcvxv_RPe4JyzFtmT!K8VTLzy6^aiV`fnor9 zjpkp9p$PUyoNJfNksqD*%NwGoaq1%O8zTL&Y&G|VdNNUJEl^`b6q3>up3@dX<2x}Q zjfTa11dnlIK7!38U7T8%ATS;U338L6qH=9T396H$kaSy!phe)wWZOanNy_p>OKN#) ztEEFuhj!fejIsGBkzwT8(k!?@NA-HAi?BC?z-denC`0g9C7i_t*@6A~Pkz(MK(Y5~ z{`C13Tnf)GR&;b}w1917pybH7ge$K)xbmuli&q`!Sa}d~l8S+Ds3*DI%!)+#nE_|L z=h-2Z^eX*8pioNIpaojW?AkL_Bpx}Ta1@!R6D*&{Q9`wIH1i1U8z&E-LBm85GOssC z;sV1=YQO&TkdGW#3?fEg5jtbjUy}Y3Ojs|oxkTF)3rj(SSx6)NUuM zA^Dl`$g>Q6H>jscDJ|IvzX`p;z^v5gP%}nH0 zzYjYOMHb;{MT^lSH)W-jmK?Y9Qk*!zfA%`~<1~exi^p{{)=FP5or%(5PI>Dbt#Tz4 zrB|jiJ5C+9I+zoo?`gaqBBi|5<4UBGlPYz%L=cnl&9H|@94~JITCCOm#OzY!ZKr@B zb4!5H+eGeio2U-F$6qi4op#=gAUCGenamR}rlp9;&?$Qgi3FFi$=YPMQH2Je*_nWj zjL~Jtnz5ve*2P8*Gbn4ub7hz(w^}H|YfY5NgiEkB#LH$Pm`UMR34sy4uvhb{3#f`_ z1?E)3ATGg89JJgLw5%PDBewwSoMa|`ECDg9FJ^>;>^Bc#MFyL*(y_s2D3)e4z(EK2 zbh=fmkTxIXRL2q2d{n1uKB`kOz;a)k+3e>%P}EO1!xPSNmeoBWBD;@^6^QkOSWk+A z>abQ&ZGJ^7sP>D3YQGlueN;jp^`MD>vYU_Up`+S}W@+=OoL=H- z0FG9mO*{Ht=KyqVs21RVG{5dKYT5icl&Z+Z^eX{^?w;g+`8vaoap_O{!G2SEu%Fza z%F6z1%$Iu`02lI{yp+(C7vh>P04ZQiOIH|VC_;EmA z&|=}-Owiu{ig z%t(mGRphv$X}Mese#W%@vS<>_@G6)w9W`TL=cFjnjEgLcpWi%sV_1Z3d+2SAxHq>X za+E@sdO)}t!3^bs9K2W-$K-)KR#9?Qg78NoxH1l*kzjf~!*6h~SdA+IDOW4NCLJ=| zbxxK{zuD&|5_TeyVDf2+a6?z$Jy5iS2fi6I&nN=96CM(4IFWL?Y@03DO?ZqByR1gJ zl;A6XCHYZ6#sp+|(^=9*;ED?SPYRb1g^cfb2^TDAa=BiHIw6DNs0fG9RL4pXW>`EF<0oMB-}Kvl$Po6<|UlrD+^$cOkcdq?`c6t zR%7!NJHxuP&ryvt9P>F`sW5p0XXDa3m9)LsbyS;snQvfT*wA3~Ny_^3oi_nJIU z0!3G;&YA1!ct$CRX7=u7JR8YEA9)^&GxBq3$Xu5Js{9CaP+4l|9o$wC9UHvKFo*`k zXwpveCfLag_ytb&EaB)(T0AQ-jw!8xd83msV7m<#@i^}qZ!!Y;HK^;iuqy``RSHIO_Jv+l}W8% z&S04vw99tM0p+D`g{h?*ozqMWW4HxX0JV`{noX)dH+90 z0Pi#G6m?JGa#*4&Y01@aw-vq=WF=DFmMi$2$Xp561VS-Hu=~x&gbRwgYgp%@IO|K~ z<|4X@ z)|AaN?Qhy3N@KyJJi88Q*Ku~u7BM656Qy3ZT;>YZ>!e*PvWOQ@zFe3!Xd=a`{&$&*ne6R(U?LB|~;whN_FiC4~}nhg>B zfVmqNO(%v8F$%948}Al^Q`OBhWAFqoxF_VtK2NgGlk($C&v6;d7n66Lf{P(S!7Yrz zJdG}z>Rc2aNpP+kTfjvLiP}xw5QNS+rHQw#45T^bo_@&WB5MvDGQ4lUc}m8m`MS3G zK~t@R?B9AL8uPeG&{70)dkV<-TrIy8c9O<;^XiI?aPp&1kdd`)t4Yhe>`qkl`^LjQKI)`?MQ0 z{mhMy<7u_gvi>s#$BFux7NUN}5cM#WAh-t1FuTrpSjW)mC zPW^+@YM!Q5Z(1@V&-2WLIoRB^8Nd0}5yurZ1-B>y1{K<^Xtvlz)_<0}tH#Na)1`x?*q6fM!#O01sULQdWD*?ni-DyO z4^M}9c$zsRLD~>9X@mEtSq%lsH3)x^%`>+>uqL{H^^9wa*-$JF)ZV>?h}s92%?6KTVpHzD4a6YMI6s8`Wau zk3SyNC~+z6*ikB+f@3_)V_L~rF4X0`8Z+nc7|;*Vv1e^F_T#I`(@aO5<}BubR}~ms z&s_szB|OH$Q*ef3%xL_MoOnyp!@E@F1kpT@*C?LSlqbu2Ysu<}>Bi^pOEDKFjB)*r z<9j$c%0N*(yx|m{$=WU_=)dQ-q-t?MfQN8JuAQeY!1%__N;lMkb@_NqrMUvc_Tv z#aR2vv)OU%4n5q#i_m-a0NcPIKu|cwE#g)#Cp_a?$}+oAWK-);<@IGG0o{C$)3^=t z;4UBGS_k$H>YIDBjD$e_i*{be_Ow`NV;2&Q`{QND^GcMw4n@xrB_KzgNRTdyQZDUu z3LfMO8yEOxbIPM-3%m-O^#D%bv?6*7I+C_1HIy8Yjw@xg6j{#4CX+<*Z`q}?(-rQw z;l3O8y6>z&0dPrKEnP=MT(eLj+MRmYMw|UI*lKbqSKa0mT<#5X&%wTa6@u0fJNB#Q zx{Ku`Z*lT?pdy~cmWWX_S1W1lE)a5!j{mXEQkUftbAgxX7ZPo7h|f6T9{e&CyT)wE!8q*w|I)+V*M+A-VMv4Elz`c%+REU z6eXy|=jq1}v*V=6g_s4-BB(`twZ)g**;tHh+@Cs>Jqf%l_S-CQ<% zMujo>Sf=eZo#PsDS?^>pF1G7R7Tn{kK}bv0b;~rjZ3)SOFRW7mD?f!dtcs_~ECBjr z0ubxe4a1Ie4I6{8uh&bKW(CAYq$V`%dD;s+Yzx2#-ld^vya)j&4Fumdz-cWwL4fu- z!;H_f!0%W*l^H8TjP!jw9ctV%X4uEbVxNe2`s3M{5-uNE&&zcgP2T6b9fx((z`0^U zS9g=T!AXmsA+y2|Q>ioyNS@j(*05NkvVuz?PNxMwxc>b0A*mz99Go zqnvMeETa4dt9`Llz@o@|yjB3(|3j~MYJY_Nv4)Tl)4F^;&A8x)e&btOqsaK{9%#H~ z6uaX4V13bSfQ0U{LfUx`>Q%7_%+Xrb15sZ@MNU0P6?sTkBps#)X#nwLP(i1vWqIu9 zZ6LM5c~Cv9SbOS0^6N?!PtD30%<}hPPR&wH`I7mvBW_pIvCAerI3Eh6E;4#b6YD&$ zf=Ac!gP&S+_tc|yiyO2$Cf7T58M~_J5A#(h@Ot3k!8=qXCYZ3Aj_U#=NWYXs9<&{x zAq2S^ZHM|X*9LhY*He%CqC3oOVj3)1a*ZxBkMd<)ZHx9X*l$0^+vZUCrTm(I%1REf zHz_7d7=q8sI^^Xr1Q7NK@&Be}Y!m)X{pjI&c)y~9UkQU>VJSUm`*O*z=?Jfd5nj_J z|2vkmN?4F$6}O4O5U&!E?lqdpkX^UZp+d6nB)iEY4DMzDCq|jHZHaVsESK=>UxHUL zZ+k24o_fNszo6g6G_I@= zX2I9!x2|2W*b%gr9gdU4JzzpE5~4`=I2&U1G}U_FKXkZDeUKxC1Bi$^Q4d8<&9n7oRb{YK}$Q7?uN<{O1}?|i1kMQ7#4E*?0HPq~9X zbc-RM@J58_z|S=R8D#pxV1pHYJ+FS|o?PSWt(d zUT`ZHWjlv9v(f%VSS$~j*3fZIvQ9IbJhdz2mkkT%@cmZl26@lD#F2GM*FW__SsuKV zXAXG7JRfop&kM`ryp|Im3ZG^JkH>s4USyNG)l&#a_{wvJP zY?(Igx$Y({rngBq-{t1J8M%XUeR&g?5GHDdOHM|b2t6an%^1R`>}G@k3WYb;@2@X0 z`(ueO+K~Wv{u@MjB9Q^(<{jI{tvp6@nJ4&SQTRD>u<*{qWE=}RpE^+@h|wGxy0Zk! z+ra6F!|a6|X79sVY>Ikh3F1(lIBgUyAI3pWo}R|qxyuQ;&5^CcT&+PZb1C9%`_1pP zW|FB;Lnv!76`drMm-V*F*c9PpEU%p)Gpi`(4Z;!2kq^Nf$JUNhkH#E~G}t+ZFr$Q4 zHoLxpH%dI=UK*BGv3WjUNk|PE=whCKXUn{STEgf)54CQ?r3=zI&>D-nVG`pkc^Gc} z*`i)YP?HzEC=nt#YkJ|Vtj@C<$vCU0?%9tLE>3A&H;lIu@SER7dHh5K9Wn<0xy)JC zFVifdC~tWpISqM%)5ZF$jDrNY>vTlD;NpmT z$F=!Uhlb@D-l0rNQ3AVsqmv9Z$>})!5t#-r#JDmlrS;AYBDolS4~MarW_WjAU(|W= zt1*{_!3|3J)T_eGL?P?i;(D#YA7S~wV!QC45g(+enEIP+5P&94IPmqw>nv3?TA~#; z2Dc3>6+B|8pn6a3i^q-}<{Ji%GgezTwy>pg@9~Mb*~zEZ4DQ_}-Gc1&)c?3)-G-7&R&V6<;=U}C7hZ*ppK zdSGOGZFq3UWZ&@6j)9@+9n;g*zW(h)gG0m9+Xp5FYukqg`UXa)c2r0DCMO4n`$zjn zMu&$72Sz4`s#B9ARjSv>z+i29v~Qwsa(Zy2R^2f*(KoeYV05xNJutC-aBy;PqB>FQ z8=2^%+Vzi)O!oJU^pB1XPxg;e&J&Z{cTlc_JBEg8)d?zyN}d?0Zr?F5JW`wN-!awS zKQLLFn3|ZF7^n`6^bd{fn3}BBs?!vAWUyKt9qgMP9O&;GoSvxlPYsOr_YVyWPfQL| ze$+LSJE)^)siP;`J9^iN!_`BxlOJSPPfkpYObrjB5mPm)R{wPWz>bmW?StEElSA7F zCZ|Uy2Zo16NBgOkwe8z$6BGTz)UPAM+XqLg!~Hu(Ms`qlO^i?%O-@Ws_e~8?4o^?- zn5c~mSGQ9aj@EW;AD-%~PVShTqHf(jGF7F{tL>mM8XoMcjSLJ>KlJzajZXIu4^=1n zhpMAP{gXqZl%julcyg+LYG`_LqS`lIouG+8qdYNGqwyae9h~UvAD*mE5VT{eI@sU8 zV_=#(bo-8}zR}v$RCTCtXkvuMggRhwx^MeHwYH;ws&8VTHZ(LiGO=T5auRNhjq$y2FbOWktkk)tQ(DZgWtfB#bD)0D$PMG|biYxeLX6&kA%r8Zltho<1* z@JO|~b+CWO#MYtFf#Izq)v4;%q3XbBZFFd`I=FpMse+}l!`u3{^>6E^7Se=C;sFZf zS_Ot}NDyda_=SclLX`6>s^2Iza^if`bQs+>`&-?@X=?x zt(LpE_j1>5`06p$NnSU^6TB;P+Q@PG z!v8~R0)3#Kq1svc-9z)4q6PB*wEpJLHfrB)D&Ks#y~>}J$Fs%9xi0w3{0x7eXhv<- zj~Per_a5eN5>+U-2e`lRk@|W4C895Ktk1Kbe6HSVKZB1m3sL>+RmyjtIO#6R=0V?Y0G=YHM6b7(!K+sl0^ zk0#@7$Efz5>b@;jqbYu-Skd1tlnP1_G&bKQrawxpl9o}#&eZ%M_+uf6~A?>6r5)->(C zzFMD;&|z$;o%~fl`8qQmn{I!R6ZML}$ocDk|6lz(m!ug)Xu`+;zAN(Ue}5nU{tr+~ z0|XQR0ssgAj*^E$iJQLigpdFLy|xAb9RM5vY-wUIZe?^cH7`zOcXV%Vb8lvJE=qH6 zZZ3FjY#^c-04Sgo00000000000000000000000000PMYMbKJ(YDEc|K>i!25Q*|uu zqDG=@D{-ReY?_j6`dAb?N{zr9vJ(0I*s0}ad!g;d4j z%mCf%)vH&pUXR!R`_m%y?r4$*arBpiqsfbd|NZ9w{eNEj@s$1JvH!g$X-XG2;e+^$ z-$i6W-<;9=ERNE6mQ8+0kdOYluEo0H62Ch=Y1)6|=hG&}U7IC?fE(>e7I zy;+>xlf-`(N8y7PO#%`I|DwJJ0C_&i$fN|s^C}dtpL4`4Q2pT%V)B@4X;OGZIay7ta{hl)Xr)H%;hl18twb@undYOz%F(=J;m1 zq|;y)Fx(4cTt1{3T})0tPOj*uOugMZS>PXI2_SxoI7AFY?}y8eXN;S_(#V@7@q#0l zG09jM0FB=#G+QN6`X)whF_CKQl24Q~7v8J;MGU#oi)j z|KfWnV({MN^>aCcOKKgbr&0FhOV>p62*_HUOq?;i$xTRqIWiN70&R~ChV-uHLFz4N zHjjNKsA1^wx4qZXHxYaC_4DZ)kF9h7mPS6T0TMC7C*+|w8ee8f5Zw+(WHFyB0_Vf+ zB5}Wc$Y?qMZDF3j|D!um)i_?9fI?m&6=!VugG$ylhXx*_Iy|_O40y}-fCULh9nvqA zNk*@N1>I{h@3tn9B>p&?r8L`XLhrIXU;Y{_4T%ena^gQ;cYqwn6~EUy_6g5(k)B@;LLsn=2H)dok4O=lIlsxE~6k`*`zD zI?cLKf(f4Q-H~ub`=v?cRh*N*$EWXsj+YtJFyE4t`X8ecj79I;ROcOD~u z|Jyibuo)|Y3&ez-$#c*_^q+b05(q-r@sNF}VAWz#_y{K+K$yOV^C{|kJXj(O-c8JC ztV2;l&OgIufydSI+vpIfV}R=wbP}2i*~y$lw=}i!Z%lA`f?>{(!@2y4=Rk_yxnn1V`vWp*G_DbtKix&jt4Lb7ACA|)3SFkgX`jG`_!fwg$aGsEBFhlTujEL6nG9F;P^2J&gUdaJ0k3ZB?FcK z$zY@B3`-9^I=P*A2R}cDX`UP%ee=g}Ui|S7M}K(n^{b~pKR>|z>EPvyqnFQKeEIC< z(bbEu|Mb<1za1PRRh9sjzXh7S4`Y%!Aj%BJ0jQU8z?5>d!fPKvl%vTDME{$~H|x>$ zGNvbb$N2;K^p-BOc^j1ut93y>1&h^!X(Bd=$1I-szLs}*#zvZu6b`9OWARt;D4Wd_ zMmJ)*%fI_HrD$O}x{z2)Av}y+F{|8G>wzU-KI-PKh5pTwpZICW5@>LMC>7iQ`XG?o zk{tHKlX$UUyUdTwZd@@#*1K3msB)j2{CM${GlVItZJ}ko&@$ZOVU^T*OqeN!Um^y6 zJY6l=PxiK>?F6o^igRL5lqIQxJmk_kVMf;~u@X;RX-@g;-2AE0m2bIOhZl#MN<5b) z#dl$R1Gm9wQ%PV>qggyTjqXSikSLQ7x>1k@M=nDjh`4Ol9U+2`+~jou?fZ?;!haLf zV+<@3cv(7M=Op!_IAezl#<(fl@{A4>E}&-WZ5dKyVqfL1U?A`;2q^-OfHQJKOhn-> zdmuEZH4ygd-G+#zZsF9mpom?xQV$j3O`ps-tm9YljedJOjz z&WOx!JqColC5eZGlRLvKGzY$*>%8Ih-Fcj5Hdd^lF97?`Rm$CA((yEyijLSJcm=Ut zj>OrU=0gsTgeCmZR^WY?B*u^)M;?X8y?Bb2qc4L7=^e%rN>jvxU4}cY@Di9|#m@9A zNB$@Sq}~Tnkj|}^?BJVy)zx2$SmjZUPjctyC3;6qFIYOpJ(j~~W$h zs?f>Z$R>h)8$=8;{^K5!EfFETSGk2h2-&!t9TxBP4ofcC{}V+19@5lE6l*zg5yyN( zJx+z)63ozT2?tI6UJc}A;wl)T<0Z%?9TOP1G;#L$+Ja1t9=&!I7_wudmpdQy)$ z5Cai;*j~Bql)vKFeI)=6Le4FOSUPYeRqtENc)^!v zH2d;ve$Il+Fp>o~K^PccC7DJf-rx+F2dpfA5n4DE(}t9XH3!i&P7*k(Akb&;uDmZN zUwijSkY!9{_()xX4S%N}kC>3v!6r{ht$@>F3l9qc!hM7j)~)^O+0ZF7t&Wrq8D%r? zR(bHY_Ka-LgNhRA?^JEYra@2p*8ExHvH2@or|s$?+~b?2dI)4wMTC3u0K5M!jqvJ2 z1|s%b^kD~(Ona~Sz>&17`EbI7Faw05s=sggCLa{l4fp7|hNo7HRvjEn1I=Ti)jWg0N{W@3=q=Xz(Cl_dqwraZD$9snYLOMv4)c>in_ z0)nq`V&Bl)Ac_EFyo1Ii;w~a&Gw|;szb)wU3^P2?NO2nzW&^>U#fKQtyCvY8j*R_L zS_@NnQt&#M-mGX?)W=)oRdQ~FJ7yOEc&&0;$wK6%!e1(KRST4GmSpOZ)8{9IO`L2v7`wZ1KczULbqUZxGF zhnuSk*hQ>p_(`NJDw^e02Lg65kYy&iUT|9hz)$rkYswwjkI-x)dH2=dmIJ#;@XCaE zXgm=jq7+Ai+o+HZ^F=ONnl2HFqc;W7y$a!%ySC7GI@dIi|%qd;P( z@bWOw!Y!92m^{kFSv>e=7_TEy6vdjJEBWS-;9ijXP9}Fk?z#BFxhY=Z+KX;MtAb#2 zf87_UU6l)6@%)p)E27WjO#P}IMi5-ij;O-#2jx{o>d{Y3A!o8+%hD%O2karKy3=Vx z{73teQd(UogBgaT6GkmLArp^(>XAyt35F!nwL2D100QBNo_ zR-cqAPcg6_KYHa#j~~72S&wTI46Vl)Tb#>nqp8=i4ZzBv?|Br^+Bxi9NVB4 zPg8J8Gm-f)0Od+E4N1T6R)KM@?OLkAKz-7xF#eDf0tQ_!9U13xus$hOnPW(5$?Tf{ z(H&#|c0#*C;!bbWtC?k+^t&Dj*jWHyeKpdrlK_qc>_9;7ej5qcnt5$_99%qC3HJ7(8t$d>vg(0gV8v{|B2)+yK< zvI8L38b|V8Ph+3HdHx@h$>cwtzkZINu;e-kBAGsrCof@VG=pLn6)M7ujEKCVm$wWF zR2q%az^5W1dm&mJ^+2@0&H-;okLgUeJR$ua1~pE)snFv-RaK-#G)j!3qo2q9fs7R()K#o;s(%y*-M^BDG_lByx zIjpoHm}(fH9jJ!J4z$7r+z0A|DiG&;@jEOG(G79Y0~fI>6q*2!-M_~tBX|Ac?D=4xXEt5DfyWKLWfndBoF#mB6$;Rz1 zPBvkC^+LAKp_pSCXZ*)?RTUZ;9{?MwsBpJXFI?Uohs}=rYibEM))_P=m8;qzJ6Y_a z3FBg#)L0y3^J3bM@~F-5?@K}5S`4;RThj_v{C?=#nq^|`SK;ScR_|hUtXe>KyhK(l z%-z-gsM2f>>iYBx?mf)lLt>59k<7H!SR%>DTo~&lnc50tu_QZsjTMvHl58xS)KT$&wrLrg$upLgG9uGh zU&`K!|Ln7VYH7r8-%kA=^%L(Wo9K;Zzs=j6c|ogK4~>i*1@H9ja8$dXxAaqekGPhX z7f6u=hHY$}V{9)CwDnJI+qT`F+O}=mw(XwUHcoBZ?Wt}4Yvb*c_ug;!%Vd(-lT0$n zWcJ?cx0Y}$*^mjv9XPhw?T|V-UiLoO(0R$*#y$;)CABHCT^%p`Sg0tD6}cqabi+3^ zi6EjS6Y!ny))u6^toby-ODWwFs#uqFhBZO% zVDLOF4yO|j)2Fxw?T&2aZes&TfOUxZ$i|p+l0Whf5x4sbyCIC@;t zoK30-RS#Kd8Zw=~6J;!gh@VFxR89qMcZp4mD5BwRuT0&@n7<*aOoq}CxRF}aOIl^x z^gpqo_1hjPftMYCp8Sr0(EY{9B1e}&FdMYi$V0(s*kH9KW?hgr0*}el$dQX2#t?g? z`_=lPuoKvzxVf~7g6322le)54coxK$DG;S_?)kzt1!oPUe%>E74W9gNo3Wl2Mj({V z*mGtM`#u-5#z^W#a{64HI9KK!!@Fa!UE0iKQ87ii9K1$S?1xukQb~* z5QP;@C)fOF#*Zkl04{|XigQo%{mqE4wlzQWEL)cEQC{~=XLplXTXdyb-wm724_V%~ z3qO3B6P`4-V2wqbbGm~gYEn(V_Uc4a2X}@>h=Qkk4sg=PQ{x>^0`EuQt(0bOpE|p~ zLciLzNrjHssnos8^D6sD$Fqie(jFL}nB@^d9oXiu%o!!VK;0~7f!4kIihUldT=Ir( zqUk2JlpRsc1l|vVw;Le+Gvtct@Vjl6f%$jN*JWj61cn+}i&*ip+5OX{v9BM${@iT0 z!^0)YqJ!Ly6L0DRs)+|KsNXi_k7S|yj3$sq`%wPo9*O7nI^T(`|u(1v;Vwm(KNAf#=W1KH^l#Q^xKpfopupt zU;KTG>#j1paSP{aduYNdkHN}AMAbc@wj`EKiwdcWBQWm$YQ}m;nT57t;(f-W7s?kx zCU0o>w6m061&0=KUfTcbbbwS225wo4z7eL`6zxcwh`fR${wLS;UrYzo@&q_UqYqun znrNaFuYc%Mlzhq8Zl;!qm;F-1D}4V$HH`O3HF34 zF`Iob3GYyELgefyw)^J~j}9lt)ggG7+w_8uJ+NPB80$IibtRZ$pt!Bp5E6 z`lp2bej~aO`SOT|L`}t=1p7X;2{ul=a~gVkQ8X=|SVkDI>>6mcuYl>JIAkqHzp98D zJ7tc%ww5ZD&n1XQ1!RSk{UPY)@9}aZo#TFJGrhSRo}V;l=<#{FJ3Sv>@qarX-hl@f z1_(3C8hH%hC0R+#)DTzxOdg*9ugQaZkVCgdZZc^}PKgqVgxzvU7Nd}GeOPn2L=%|+ zSqP3>VPHt7KnxT&YP#8ccTEXUA@XpB2t=$mDaJqRU(kIhZOch2J#466)V_5vQF5y~ z*VHCJ-ufqJ$5f)+!@T5~R*-9XYJrwtBWdy!!vl;{gkV_9W+P&#;DlCSbli_&X3wbD zD!2Efi1xxAR{qS&Vm^1qQ?Sy)4|RyzrBFg1P>Q)8Wo)v^R>%&aj>@N8?#QE1$~hX~ zyT73^yOr2!yY_h7dwzR*oq}2L(sW`;&X6x26T~U4tSzO<4H;Xw5G%%6(lNb&f-DGJ z%kAh9@xKm!1TX@IS?)Y^?9it3UuT`lxS< zlyw(Zj&Yn~9)aBxmN)V^r81Fj%N@?J*p89|dpL@&WjdWUUj!YgQNcx$)RA2Mi@{2Y zwtWqGvW`*FQIzl}_V=frjGlpFLYOX?Iu0#8*CvrNNQ~QbU3NoW0sB6K_?tEF`S3Nw zR$MZmKo-%dXtAo|gGONU0CFavQf^;6R0-}00l+en__rr)TXeRGr@D}1rRbXc8qr*;&)>%QRW@mo+^tTYC9-2Cm8_{u}jz+<2R4VT>adI zDa1)~o2s#?Er-j`jw6@pS*ea&4a&Erf+(F*0b%&>3Htb_7|-R4_XdcE;H$7B&n|RO zckF#iFgDeKXGA_s=SHxj>6H@*-OvJJK@sqiUs^6(4J{3-#!#x;!QSbm8*oD{r(IW= zww~?d@ggA2_&Wk%eh$?ZU|((SR-295z36a0j<4162gUrJAg;06^Xk7-TF)f6Yhl`% znAHW%Y&O(x#&=D!!Y>EOxjQr?ATXD@~ep-iN$%d z#A*~Jc~%4-p!6M;irE^vvNs8d8Bs^Lf;0En%rirRl($0+{JpRY6mL6WLdAgLRalO7zJ$9wBbGud0Tsj8r&f;+FPnpB+E*#mKC$$AL)o-)%C0!2+79hR5qlpEa_Zf+3e(aC0E)ohiaE>%)P5 z0I8T}W_783&KL#&-14+9MY{b)g{NDswycU`cEPTmwOJTvRhD?8%Zm8%2L|WEwD6Y+ zp%k04WN10(8V`26qYyFqK}z^L4^=TPwt4CR5OI&OxA*Ql&us`}O%f<#M8sd72NA90 zJEg#-JL&tb$+eW6E_=%;Q*RmR$KB^gOYPmfplPnWsCQ`eNzNd+US{2Xj?f;8;LB=g z@nz7vU5XQsrsxVSRy#y;vvAsRSwta?bamW@k6u61-OlYb|03-oMJ1m#^%!&?1t#%}6=R17A^s@;U{O*J2E}fayiBH3{-n&c3TnCuE zs|qfFdC4PH991Y~KfBagkbH-+ZrH$0i5AS1+M1i@T@RlFvEZtyfOR0 zDEu6e-L{?p=6v$mE-k-Q_*^Ip+}j1sJ>hK|iI^LrCri!-#%#h@8cVLy3_Wv}df^A2 zC(lC%#I508rEi63yv5DH=v_B>w5z^<^!P~vw*OQ$9F$6{6-D-dvtI~`Zu*;j?5sX3 zrGY@l`J=HAc`2!UU)0ve$=YXO%%^@touWp=*qJT*kJg5#f2KaxxpVUBQ*CjySj_=U zu}8{BZ({tZ0ujO{nhJGJp50;F>b8OoN;So&1Kv0Z8CV?-iqH*IQN)U{A9#-`Rucl;if@-9}(I-@f)d`f6F2sh*jnA777Xc^;x>IUF5MX zCuRor3bH2IYx*>MJ{>oOvr8SQM(!0QRt8Yrdm;Q zG6iB;r>oGGY73togCK%TAyYAj6)3Uuh4h1sd_kV2>+%lre4NA{9fn!yzh5abH-|89 z!sN@>1XY41{FQLZvu9%Tzfwt&w8flAWxD$LcltlAJ%Qg1D)u6;NYN)vim+0b%d2ff z%~Z5I>sl(o0WFe%Vj)*WKA6Dv8wikzzb+|0xIBTRkc({X4|jxNCaYSCR?0>^X4p1L z8o%MlSCF{-!x3yko5%e$D_UO-wR4fnoII>)j1D5?f|geh4?(T46nE0FQ#l{02+9g< zyeBmt;DVoIv*IMF!Rl~E#cSyzVkSu{>yuKTo0^K2^|j>|I(0PBS?k8j4pw5w&x(x5 zOQV)@tlr7aI6-XTV)?}EEoTZ)ki!(>`D{}WhuKZfV8bgXV)put1V006@^1P`SXPTB zyHT}LJ7%Dk9eao>U<`xe#y95j2IypC$v-5;XC6(>swN#S|Un%bJ{Mt5mPOxCGU_*g^&qZqM02Izg+>g#TEKNUzr77p7C+iwH>*)*{ zDx5Z_F*55DU3pC;f~oQ3KK8QV4|=KE?EyqXOsp!BybF1kBbO}n=qT91uSFDP8EGmD zq>X@A8b94UhdEO(igxg<2ww2q*g*3QXr965 zTl$ABwWFHhednZa`D0<##Hej_>1?_f_BU=|mXdzqRk5fj;1$ z<_P`$)e_aj&%Xu#Pd3zwe#|$kNkQoP^{wKn;RIDE%TIB*QPk_50ss~Mkl>p*ubqi& z1hOFb>F>N36i`;dc zpqY7eUSJ?(f6XmUlkhX&Ul3(2Bcy} zIAZ^F`Q!vih0Gnk*x?&Q`5EGJXgjO5iLU|yv~vQZ7}_*NVl(b44s7#z!kcjv9w#i1 zf}@%XEBU$~1w4WdTI;t+*495lYw@z7Mo5Oc zEVp>y(0y9>;eBz6W_!;;WbyHQm9ayTLo`-f#Tk<##$aN+)Sn#V9saQTB5CZI^)+Cd zkVYDesw!r3^@H=ai={d6>UxnF@0(){S)%L5sAb*7U!UaX8O28b(DeVfX563`LRSp_ zR*O2_F=|r+s9-26z6(52mtUX3WAtifYj9UdTNt>)GNtLXRO%(brKYy7dj;{S1TKNV zmnVaB5CNjbU9~JF``PziZ&9O3SOjmUZF5{nHyEw8IBXF@rdC?KrPS2M8H-snTOgDQ zR}TN^$9eIW9%s3K-l_~AQSLOjIcusDR}U8uOoL~WwL;{>YImdj3SSI2Qi$rm5#?02 zujhO4Akps{q2Ye&n?N}&%F^IW%v=GrAJ;C!(5((De*)hZ5locp3C0%hcX85kv(@+= zGc;3S#jsLf%Cs$Dt;BqX0rQH7(aW6?A#7 z@}Ho5JZfE9D;QTAGrc-{91oi!5-ToUA@65S-@tzD5u31Z<=D_|+DHryDSWwMvF1r` zkSwZeToY7yq|PlA61x=~6R zFJ8uTf1?7dh5NjbVA}=n(T{-uzO*ErzqAsw0t-Mn^9_Tsi3UwE9>XZ5p_P^Cfr<3sO6JN8m+dAKrq|(t(H$oYx+|o zgHeID(+x`r6IO17pf{>>ed>cb$}08ghjI;!7O1sr>kT42YFqTxP3N{WFu`6s&Sf_7 zLumEB`~iG|Im?9FovNSuhDJU(qeNt-;pNVmzu0*;m1IZ|r2?_qXtcdrE?^0uRJk8* z>%UboGYk$Yx@I~=EHOMD(&+N53N zbdLng*Ov5bv9+o?w-`y>(nNmO3n}V6N5dc^U&K%6~Z96^>*5|7dt-VK@FA{Cv$JkeS#Y(R@7mG>UM_-Ej zu-ljFshsja^u<{@Cdltm^n zNezmzII;PFTO_?(LQ-mR94 ziYcy9QWG27rlcyWRdU0-C)>IYDoQ#Q8C=E~EMaV6x{gs&x~kfn*^PQ$hR{?m6^g1H97|=`hs+|wzBVGM3K- zQVL(x*j%KDsm%AmF?K;I5uI|aLA4)|O;{{(6)Um4hLwdnepXjWF5wqO%FEJUbwq!# z*KTy-mv~If2sMiiy9xeCK*O@mS~eq+$<27!ZOkI9g+Aa7zGf?!_R%L(&hjvs@}i{o z-J6_-!2V0J%!=qvUfwp+w(0jvrt!-tr+U^f@_pz4#4czz!hk|qxdu0TmD^w;SBsDm z9ZFB8=vIo)w8JXI;hABMirzv<-Gzxn8Vfntylo^Qj=BQ8wKN)c`O+!McN65N*`u~# zEBN|5*CI+j2PxIClNYX%51MnuXXsV0TaYHGgVWRX#3X)NO0 z)GwxAW862E2p&V|@+B>r95sL>XOL^);ObdJR=%jDoQWMc!zHvZV{H@p5+}@5)+o~& zjR8+snIkQ*aRh7O^dWSJQFf!$h@z$~C|9hq%Ps=(7#y(iWQb)#BmX_i<-Oa=mq+pd z>7hgObIu6~#1ibGWoOoJBD$H8&`k1_gEEnXWc&TVa`Gxl81xhdNkhncNnlL=qH$sa zR2q1n`}|~iZ)bGUih$vwc~-OFrnA7mZ$qYW-1=ZYDlki`%rS*?{}`+itw^7!`xFoG zs_xj3U@30OJgdqE$>sL!+~l-dCp7eBb(S>V8>Dn5t476S-=56Nq%Z@4{++7_ECK-v zt_3H-#xtGO^Z_N!B%5uqkiBkZM)hGs=P+4yNg=G{8WW0^W;f{plwieCO<`X|baKRK zG-CkV^dtMhJ9Fe8)^U8qhNWnfcv2`&1D@wIiYL)1isEXquvKfp%d&92j?5X}fqz@9 zPiI*)ZB~-sU;6~ftuA6}hEK`@fV~4xWSO%cZ6jjD(l}tvh78-9gvaw%g#d^zP5g!G zhvItZA+uzxahM;jk#wZu7(-b2nR`yfnFTk1q5SAkr@APQ?RWnXtsKVCQTN8%7CFx2 zrcKzzTU+P|=ln~U5zZuayi<3x;)&)DFbQ~Nhk=6RF(8oX2b+~kjX{7ypASFjcEPU` zA}CLvPJZD-t}1Di0M{Pyr5$Tcp_dmjtJA=-aY!;l7ZwvpjHp=~DZP!$pf>WNcnH<) zA3{1zuPI<{E7}X@0BiHP=$xNPXePdY)ne{_kBziX;LRR_A*Ua4pWK;;mEc9QKjLWL z$6@G$6darS-WrAab9dQk13Iz)sWq)nbSc&^5xbA_b72tI%p_e+v zzdn-=V`eYO3Em#jwJ0%i9GX>%rcY&T1)Sr{59T*sCeZu6cK&E#H5-9(_TX%$Tu~hB z7x=w@Og9LM9}?E^?9E7JZo4Nw;vzl8_%#_0BDxPs`eoBM4xA(dLe?fFIn)KvvhiKq zg#bYwresd#&BNZ@BDG!#Z>!gp;YqQF1H!wsy=S}io>`JhNUO?jwbmF{B?k6rf=N52 zpHg(TMB0)T>5E)DJHZ!|*&dmlGAw_Wp&Oui|FR(m(i+*0X?K82*u*-IvVJCNB(suo z3(b28cu`m^CL+s*j|0jyvswSP4N}Pb`L2KlzINDFAsSW|t5z8SD-<<&^a@{9Os{e> zHetmRgB+O*FU7Q`$fkZETqm|pLGCsk{g%)fYRz}&s_!=M$eD_~bzPBYDNe!RL!L=< zC^VRr;M5+7OkyY5t0t2}U%{6&m;OC@QJv@{+1dG!=pae7=1Q8?%$o#CvRqwJD#aR8 z+(ed>Lvwjgj@#?X7l{FbooYS*h-8_L5+%IW%{cVq-i3*0@GADnvs2etBvu{twI<|N7=Q?~-N7)Xbr^hp2+cFmZl`>A@~EFl2#awJo8`|YV@GPut(uq# zhUZ2?j#@gfx_0DlvtZ&;t5#|KvPp{SZpFeDDtT4Cw=SqRnX30~abBrQW2w zXg`X)N*M2&YWxup->Y9zh$cEflG9gmBfUjy&!jndLp_#%XUJr)`__L28_(!HnpH*6 z++u}^v#>TAbU;h)3sB(QQxS%#4uLl7!py{mRB4z{XCz()&FXJ&UL@xtcgR>wB%qcC z@|3xdl}=W8lUQ)mcqqJ`W1~{5CdSYxezlrb&igqYJ@D>(cw(*(gMibs;qF6@@M`F^_T{cfBhW*(;?ET_3!YLMf--F^e`A)z6p2L8q$GY94sLFa?An7Y z^suE;)9>+dLlJN}wGCPO(;Tvol|eKf#7(V$LV7}2atR4*t_PIHfGp-Hg`~!F@>hb2 zyA=h}SL#~@6il@EWf|hj$}e&5Z0@=5Qf0Rg1!CAuwhVU{fl8JIm+XZIez0nm#Fz4zLit zN&W(G3R1DI!xW6YD!@t8<)IZmmQM~mV;nQaujj#@j5$XFlH1@O8qtA3ICm+)a{XPJ zlvFE34WSof>v5=`5BrxsSO!4kVqg(=6%fi*j`Y(;Ner+L)XUC)R%yBQ&FKjh75U?% z1@H(^11cT^*4hOD-Qi#`SWksK@%KWZbPrubf>Mdn=%yyzb}6N>7mcyUBL;d4iX4c} z(OK5kq!Q7(Emjy=O1&?1mqiV#SfE=W^f4vpT+HRGiBRb__A>Uk4WXL0#8CBlaWpLw z;dol*U{9BWZ>)mnJW%LBoQGolRYW83lKQEN@q(Z`eDx)+Sm-#zR)O-QGtg@JsA2(3PZRa5pGE9*;!s# z>2M1&j@m}2v|4{3w`{vGb5&Z}YmPFYk?K}^be%to)@dNh0XqVI5+y*^lD<$xfE7Ga z#KE*}0OY$IbaG>xj*izghq_NCBB!hF|Pe z)LJOv)v-aBF-HMQ=&0AS%Qcj=21?V(re%XWnaf#L5bQp^lwd`^ zn)2h%MmuCN*7RNSh}7m8E5kv^D?jD{f`W1GBko}7LOUGWPXaYE=2=nr$ia$q^G(>2 ztWlt*Ksv$_qm6es7J9FWLt^#jhg@0Ld2=?k%K!by&>K0!=dMIHNEZQXGX$9@&pOab z)A@t8j zf7iuWqLrXGpibYhbFlzOZ`eoj(Z}za!)WjR=Jh48jX88=awEYa_RF{oOgj`HwEe0} z$_3W{x9bjj#qT8?&w;T<>^3qlMPB~s%nSN0NRMl71JSK%S{i+#a>^TgH-?saIep-L zJ&CFxg~P8om!Frcho*YHk3FKODr^DsoFeSfs*DN$HQ20)=AVc@jI+N~%Bj$h=IM<< zD=-zj2^=Qbk>T^wZHJ14B?np3ue=;vHhgHe3CK!kv!Lr>E7Vdq*O?13bYDNeM12|P zu8cnzV$l*_K0rR0#sgx0vzDcoqeokngbby%hp{Nxx$(Zfr^(rtp|Io|jRaMNT| zvNqP&nrEJ_MF{qXh`oS0uPcRB1Z#MN&+>A@mK{uWWJ0+8+jcLOOt;q(ldg@2uex0@R(aIx|I^K&Ija?y z%UPW~E)S*4Wr1prNE;YV>H@rh1>f;=ru)W53t(zr{4V#r8i~baD<*!pOU3A>(gx0k zGUl}cnYsP@^sfmtG=^d{hx!aY`k6d0`O`x;U}{Vij!H)b8|HV+T8Ui<*!N*$vlnxZ zmrySyQueZNQAnRsQ4E=i1IQ-EWAAxpv-l>UL=XRw9hakckZp%W24AhI1H=$f9-j9%@%yB$i`&`BGsBm-_x}@5Uyc8t18mLq`+YK zT@_iwU}6l|M5Ayzi!L`AYxhv%3;%nKDP+f;P)@j=O75OP3e7W zXzXMyX=^JouBhNKcU|{&dt#NZ*^tqCKelc=8hPlB-Tq1+4d+?_@z#FFb`h@5J_ z(&+s)qk=P+-|GtZ)7~g?QB0S7_1mJ#!dCKyRFddA&}yZrK=)yEr9UbbLI^k?t4e)E zoGCelft*Sfua#Itkyqq^)bjd*wthN+SVxEc6b2eFl$cWGAz%3kF<;Pl9YfZMmg(#) zh(U*CL(7L3#&7eqayC^ekkQ*GsY%WqzEB9AY#j6Zf zxD>g7n;%J7=#X4(Pf@5t`z^UN-z+K@Ayls3;Tor7GpFfAiU6sLuTJSikRn_V`lp26 z$QF?bWOf0|yM!ioP8QU;DvqS=r_d{UQi7BAVqqRPrU1}C~gJ0M2mtpg{llmC0&dPARQWT}Z1jhl~W1H&i@QSiv5Rp3>Fd?o~oW4rn1GlJ7k-lh~J)Tm?iH zY`FLW1k%=K=|q`~pLT+#smwPC!v$S1zO_ma=B~qJ{F}=wRrW>0v#swz=*KBrVQbb2 z1s|#8bXncbBWScsKwcSN%%@oh%vsn`c`7`S+qx-o*4nR!y0;nsY!yt#`FKhHS?hXi zhI~b(RfB0UNkeQQ2{H{OJ{X0=r*kLbqm#_Mt-Sd_<5@Sm2aUar6*tzK>2x_{xHfdcwOe08b1aPhc$Nk@h6+PKY}{2R31 z3bot4`x5SO`?sT8Pe*CA{}F8qpqM$6l@^{^_+FY4ZeLAysuIjJ(%7S^3tUN^(HPm1TL{KNGa2zTfGpij?nZmCYx#R zH?92E%Li8rdPh;&JZ(hKWr3M+rHr7xQ=WPBfp#6pozPp^ z+Hf#N1s!`Q>@6g4+Z0Ji2zENTW0$v!27qxVBXaJIAIwZ9rlJkxh&@sSN9ef6JPccr z)vbWpoN1+oYJ^A{8}`(1{Pv*AQEi=nf2Bf821?-j!47?-FXm1s>lI7PU1*WXmNx5qi2>WzOM@!tC0*^LH&v0 z0FKoWsd+BZJW#+t9dp;b$gUjyINFHn%xz5Av+}+f>?q&&1gz)63n8ZT6Tr8HVCnwK zC|r@31|byS&AG0%+*JjS;oUvA!;R;ZE1pvgbbtioHvtG zv<1$rewSGOHYW9YX$mLz_p1yrwnz1b87n{R)+#wVG}87m7hB9rv5X_L?>$+OXAfOi ztK4JrI$B1{j>~^_3E&8!$_4&Q@~ijsoJpVqUc6JRA{`Fm5;b+*JXC3{olz70*1aA#&tAS!RNhNTFQ=iIeCGX{Hg?i?6 zJX=H81Z1_h0pm5vSpE~*@&nPB1jIkR))3tZGup?9>|EsK$W64Z;mYa6=UBxk|K#3VgXy&fvV>tacQ%eO+ zaNj&6l0EZmr?+%eLB9mB^bE+iPr1(5`uecK&}d*D=7)n4Eecy1GGFYMUkw>+Gdaq1`^t^gBO%flxEJgkS0(aH@Pyu{jg6_2tIM zaYCjB3Rp7-hv-)Zobo60!l6mnxRy_uVH|@rl&SRLWw)8#w~i0KLP%^(vK(lee4*Xx zwmN@2xBZFw(AiS05OaNW%m~y=bF&W^AJVF_5V`s9HWf9#se6z}@I|55L{f8*kJ>O- zJkB__g`7wPMHhJB!m^RECcGGy-Q*!P2=2bp%mcTSF^VZ6zZW)0u3`YcfP-|wj3SKivc}BqN2>On z-AJL-LMExDq&}0`EUe^k$xgApNQut{C}dbOZ%*hQwq$BsOJYaxje;etN`~m_NHkFSA3fAm%$p+$t?HxR?qZyW+WxoJq&(?b) zgcECx^l_qUZA)=NYG;Zr-}8;DG_!TAEe_uUHxnl>6QL^{^bQ z+1~sa2AWpw>qfrc2jgwoTkWiCVIRt^IxE(nlB_D~@tS;>>fQ_V2}T81<=Eww%RB$j zkF)lcQvR!EV2AmZR}LIpT2T?RN91Ck8mZeM;j;fS#u=xH@wp-IweAn{DMagn`d$r6 z2P2*fLlxiS2cic8wH0=>_ezJzF%Wn*%HSR2oRjrIH>4}k^w>)9nmBE`jm`ryIS3i6 zEV0d;UJ?`Qr)!%6L#q)q{7@2!pj4P8woEzylJNWGVPqM+u23E z=~LBMeI|-)4)BO}?Xg<-L{+c?b46h<78l)cYdObE4WM5JSH2<9Fb*{9uC!ZhYfI0# zsLTI-VT5MZ&rA!yUC5paZw@c*sBuD{?R8M6x^k+tY-rOFO?qq^ad%WQMMX&42a-zR zNw7_h7yaj?oj7yRA>+8j>2~Yy{%GK>sUXrWSsHv5;Kh8U6s;8+iXmL0YGWcRy+1~7 zwu!(AlV(sHyrH4|?lqMxU`}wBYy$B(#=_6bXQEUY^i?W7Qq%YD09yhFl1p z@pi*KX`}~f6(IR$jA#fa>^=-UjP+|%EeMO~&>9>m-lKuC-|mG;hoZi&@A@iIg+ z%2UR-A+`71)|~US4lIK4R7nKoq(5hPDz&KoFL)N`@Sn~UZ}o8wk5sK zYjh|4qAIj-vgy%%a}Ar)Ingl0JTWm$D-pJkezBK$e?Z_|B~mzUAY8cdA!A$Bj$%oA zGI@^0s@jGb`vSd$vt@lR`gs$-d8$C|y7M{JkZ?i;peI{ZipzQ?rj_!MF8RGcb3;)I=#->K`(>|n)ry<(3oV;7%w*;;s7}_w8A2D}uaA(! zmu3>3Ib(!sF}sDlTEBa~>BLBegS#+w!HUg{=&^L2;)d5x_p}-W%Vr%%Cx2;`ET6sY zs0j+mG91S+EVwrOa+Db2$F z+wB9r8YaKG>2twu_A)OQ#J<{QCYODM*>$2M@om+D?!@I7f@UQis}BZ!7;{0xB``9G zOM?^wlax>RW7rvgP*rB-tPC{Nr9+Dikseg-b}3fL0BsFb%T*r#XTP@)LGD8WDgho* zyC3mSO#L=5=3ucw0uue8)}yb~{*DI?zcyr>PH%6F(?{wjMROBt@44ffX0feuSiw@D zW;XXs?%;WknvD)PcGjqvgM`{eYE;0oczN22{h%QB#u5xKW)MOqrZ0K|6;6kCjuj<% ziH{>fLsJ)dpowZF`feuGu#tE7Hg7V9)UBaH%Wf5}8;%%uVh{wJ-tu5o`46N)`d^%v z3y|73uy0cNH@lOP6$dFpfw=fw=~|wvt}0b+2JaB_(8g&!TCPjIrd|FYCY_yVrc$m_ zjvbbPl-Lio4Yjt1}gf@~l5_H!6*M0~pQ0 zX)4XnL3LIwjJ=<|8df}|<2pxWWupX*70p$M>QZi)fAXWtEptL@;`s$e zzoiZFiD!^apa7+vC+K3dtBmxg39*^ln|M?IB!GMK-mO#@Kg$In7<&g_-NGp^ihT(Z zDn!ZxYVAg*l)c5Gz8Er&E)f6e&KU>#Vd0?pX74#(w$MLR2s~^{xHR2Ey3z*DXzs0D! z0QkQ|Cf^_6gI2>*iaDH-znD@$Mk#^5J#9kANY{<+T4jH0B@dE02?Ir?tRM!#*H)26 z5;+L{EITt!D|(IbL2F$xIE0XjAXGQ*Y;uR5k<1xWpv^HEFH09yg9?Gb;;3#_5qYoi z;Snp~Zez$lqEQMgPs1M2%lzi# zr`92fGg#yW5KTcm$;Pi?5kN}EG~^!VavdX2*eoQyi9v`Xh%-_Dg4k~bgX0JK5}~Ia zJ9hvO2We1<_%efNFM6~t@0?`L=Lgq`tL0~m#9&IXGh82(6KW++eWe!+-c(R+sg+UO zM91R;hnjmJeD+Y5B7f_Aa~?-BiWF>cZ2WQ)Sly7&4M4ldj0+4)8JJKe*4HXWIM;3w{B3t3nUw#v+Y!R=^;w3@xJ?|o-r^?=K)mF`^xNf+(Cd%*5A z?{@&g>>*NhNMMWhxUqZQ&0o?mJl?fdz534!IaU&pY`6oPwD??Et+dxWG<-Ywe{0Il zTHqJ6qnwB1U^{u6;a3PKeZ)qJ2*DX$%ck*J{e)F6^Dj!TRw1;;mV{LLz>;&!mT13i{Si7m5}3b!|v zahfFnhfI7@+Mm{%U)&NhZ1qsU{xEDx*^jmw@ddU&+fGZQ6!8%UOWG7(u;3^p%fQp+T)NWP%w{hI9 z&358JTdjZzHwu@5fB2wf`OI0=dwrr?Yyb)LldW2Z`arolMUt1(pa!Z0K(y|35;k0d z_Wbk`KT)W%?0g6yS|}`TnUTGi*@Zk{i|Ur zSfA|8sc1&XYv3XESJ`rfDY4?Y+C0?)Q;T0)u(*u=mKk11$uTc9Y|C{K;M8}vP!EzL zgO`#N8d_@L=RZKjJYQ6e&{Aa{r(PH(XluG>6wA6d)f>qrMJlJG2$n}k1!Zay>diXb_s8%uH+fy0N%nDUV`$HOT0)&!I#-wF;>kW zVMSE;RP*FT4NAJl&JV8*ljgNMP)AJ8-d#1JW4FHLm_FUOz9pUDHSKYwy=F7FwPY&~jjWOpg%)~7NOVv^iaaoFL1YZ6=@G>&TJcrZpdRx_U~zbb=1 zcD>^&$l<>i;aTjf{^jiBM10jUIN`rP{OCncCf-GmH4MZBLk`(8!d>iS0<~U)1e+=9 zKC*q=#O^hmeZM#;)w*T<#m|AE`k?V5$S&eIlOD;B3&=@=Xb~CRk+5G49q>a-h-So> zWTfM5pBRnr&Ms3^iUy~h@hX7Y0v!+grm7dw6l%W)5p>=IfukYxDCwWt#k@uZFf568 zA;tb&>^HG$Az(^KwEz;IK;^Jp(n!Q+3J{zcY7wlzEhsm#HWF)qE^nO8yODEZkVx;cn|l5VrI*J;7cLQa zV{rYe{@UNwBg-4z57&ymf#en)>3cxGon6sCHH!1$WgyW)4!DplXquASR$&L?Rj#)R zqj}iqo_<<}*ytX086_aV(9Af~Mc>^WtT~J1PNW{%Po81GGTX{1gen6JBB~^aB1S4* zxe&Db;kPM)2%cD6Qs!LPA@)}$LVPs+T2`I4*s%}LqCCp-M-M?^65hQxC)$&df$>Xm_CJ+)hMn|lTDTPI2%-WFL;OVN#WVzr_*Q_AFh8qW2{&(e3=QC z(ND&%shv>XHKH+#n^VmU35LgakfM1U`XbZ563XL~jCkZmCN}5tz_Zu*25uNz2XwcF zy2LjHG>nJKObiSH3}k^bKERj5%)7P=tAQC?WZeSH5iEgsoZMntcj%*CT9h15_PEX+ z24^A79G2h2gO=>#UE`Sz*jWMy*sfs(5!qbeHLe9%1#OReK$-E(`(&1Pgi z2cBxK(KT#spQ#`+@CC61A(?`@d9c-3iYGh9eanIc>+5XS*0JbAC+mD)risjapDiT8{8zXwZD~@M0+814 zw7LBOt{=RltrOzn3>dBSdisWY6<dt-}v2ICq8Xd+v69de=2Gj>b%_)sLH^)Uak6W`>OYPzDaENsr>7( z+I?J}bz;2tntoiEyS*??chCJ^l501z&w1b6C`#`(iPAd=T`?4nk31v~7iWu$LX478 z5q-sAzT&m6vuM7JdgDSy!d%ca4)2U_q`#wC3b*Mgt!qM9p0s#pe_EYXij_QJD*!pM z6MQbfQtjeZCpWGe$@6Ux`HpB}9>yRhHKvJD=flwCDj`!Ubw~fgqEEMhBq}cjUXkHw z#*sy+leh~F-$(rh%|-bSPDxnaty|C$GkerVE>QOG;8+X=M4!MHE^E3SkrrQz(Uwju_>^+S+?W%mJJ z>W1rr59M(HB(8X+sV+GQV{W{pN%kPaVxj&q5$||$r1^HAqA*DHAWV{N7$6Wx_!F$A zZuG(EK5^q-gV}BvTW@(WC|Bsp+EP1H1lMxSx^PBCb$gW%%#xvm$waw`wb6EaSNqTq{%cNiW3ISBUe<>M(>>>s^X|QAqtJoth$_W{V0pC=``y= zv6G&G>51@Q>}Fk0e^W7zG{BN|c6xCvEs;@gk(A1`Kh$1#0o&!-uqhctamgtA{?C0i zasBH~I6-t5|5{b>Qxb-lD!HK9JoZ~0c|`g^FGBWSt4v@-&|>)lUTBg5S6jqjkbRrM z!jb5~cfrHmu(heG9w$>HDPsG|u|C**Q;)N1Ts?_X>h%^<^FX_qV%0Qj6F zX-8TBV{@4l`QYiHherCr&(C3+Cr3x${PCL?fBeJIA6|U@>gmtV4-o5vmoJW9K6~-y zvzJF#FTVcMS1;L+vW5+^-tjqWpF3BDJ7CJ#h+01G6p}@VhX+$#)?E z3}lKVkXNMk2Y zm<$uziJCEY$3fybnZbpAp->BieA=bKl#Oxt-|t>e->_3T#j9g}f$tKuKYKBZcps$n z5bmjGBusIx3e46gg{rt<)t+~s7*r{P)AaOzqNjEIczX6<%8sUTD2tO&i*SSz*pp*$ zuY(UpYqylU1JcQNG-9NlPEOx31Ar!wN&7#){PN=8rcntOJao0v+C7VZrAUTyt_zU> z!BdnSoFDkJQ072O2G2)x-j@jylEpNK!jZ&-sEb;+K_q^-0%&<&qfs*_KGVUQeaS&gEgZ^}eIUwB_Y9u9a%LTC5&^=# zDsJlQRXOrwkY*=y65Ue2fhXD%gKm$5zH_^H3dUp)*-YtU}7SDxBAb+pp>6`tq{7Q%!;5n_$gO-QYTnlLbOO` zY&s>OqOmHABkQr?IA3Vnv9Uu0zc1DXX&TH)y^u2Q-;7Lo7qVH#AQTPi2DrNI+C9+xM`BI#knAMI>%rPN zf}g}IyL4}^C|7Vulz|t#&_QcG*)&!QeAn0=$}K-&+uQ2BLcg7F8<4Hkd#^k%H(#{2*MAKT|)%~^z30**Qz zO5nc-mC}mvt#R-8(ve2Fll1GlZEthU>{i~}HD@9vhM%P$NnwA6TZ1{ydet;E9OMbyE*h$e zczIju1>3r=WScmQakhBltu9e}xc(@1)#wZVQ)b|_yQTQfs54E;O;TgRSR@DMByljO zyJBp`z(nIao;)VcV$&|+Ch8u!s-y(N)(2~Bq|JK++DzUpmf3^pb#LTRczh7*v^HM~ z=oL;48zYv@1D2f}Dat_?Tm`g>qf;Ys@yS2CGz<%rWy(f;wu#Rb@i38uFhg|>_rn={ z!b3t5uWsk|*H!qvtKcODm!9oWylWS*nu6-^M!UcPj>hjbG=8s1^Y8m+5OK$z&4Ef9 zUvy93?lR}yZz~d}?e_7v&_#6-K+$=va;tG0PiFj3n4Mqx2B}g_t=zFU|1|7yIgJ-f zthLQIcYWRsrQ~vlkhCea*bJ2c zm#%^gz{lU%0)ub}cmYf8hPQFTSiMMj-vg47ynAZug~6{>LXKlpkL3=}iUmp!VnA1N zUz`}y4lQ7@C|cOQ=oYZMz@eYWVi}h2YuOJdSs{sT|8g)*4@6$lUk)adpD&Z?&t=H3 zXqu%zzZFrhSi1aYz~(B3pYhiT43p4X_S0Vu^51wM9rk)S@UkEaL0H%)lvIupCkXd& zK&$Qp?|B)G=T$sfFMdAV@VA?}GVJ|gQ%AAkPIC)aDkTC~-(=?R4|9oGp0Bt2%L2Q$ zd0AQJQ2#NL>Y_@pbP%eJH0?;!ycn=m2wk@vCp3XLN?)W}aoHiWFV=zK)Iu#1`k~$R zst8=PF68U>)>L(kU3Z~vb$_Bm+jJ!lzVKBT_R5tOQKUu}ZKhK9Ac8+#X9=`~q7PDU z;hHm7*q_M_r$X4t;#^n4d^hejH?3|stF%+NAZBI?w<2V`i&%+fh7I{DBK1!;QAMB% z7*+X$bGa3OWxQO4*ho3&awD2`ti;Lp@(4S`3HCjkjsMxsyj3}FZ3Nb~)l}gScA$5~ zuJ$K}a~8t3P3@%&3q2uPS5qAPJ~U7hV{4VDIh{7cpMq6JdKr;VC8cDJ98tPWjP?=k39TS1|LU z*jtcniq~Q4UF_?=icn)m#hEIIG*E{lQQQP@BBryH&#8#B-#WNT9_*GvWslRa_)pVya+L&F*T=gRNtok$*_rhs zN|s+q8*8W67zADbt7INJI8f5nbV}27whF@sW{k3t=^gb85fvCt(aU<$s{4p_v__gc z)UDa#K5r>3T`9^dceJyr^r|0>D)CCb<_PARN2!=34=8NHK*8J`%j#a$v}T)JIL8@VIXA0}ntLBxvXbd% z>0%>tQqfridl}7wFf%U-sxKHdT#9At`IxX|AnB-10u<7EIX~P!bV#hCyn7Qh4h;48 zR_2a1?%0_jM<-Sl|UJ}`= zDBNSz1=TLtGk{&;(o1e|BFw1_X+8fE3a>@56RbnoyBBItX*EXmbe83H=z4!)hfuRv(!ZT6dX zq}G;5ev>+nQzoTAM%+W*R2jR6!6)AxngJ>DvBmX}awnCm?(@<11H zp*ldbil%!W2hfA!6T|h{s6yV;e})z31nOh4xqfKbB3N0k+PICNW#<)0c#eVTCSNW< zf@b(W)*s<$H)L?(kAu}9!P$l{L86jNdappDA=prW1fLkR5+&P&^EJ!bBHTPhSL=pdNXvS5)aRw7l!cUuq}-%VqwLFc1Hu&L^pEgEIp)7>LkNogWo zTZsj{$mN1<3GuTVlFH#=7QP^xn3c}sRp`S~4G^{FoZn57$lvGc$gM2WPgA-?ZB&k| z5P3i!SJ}te1>9i0laH49`MU}MkZQaLJOt8UYGEMh)@3~@aE3lqa5^q7p4WR^TwZOGg4v zlu#AzsU#xSYNzgk%IC(119+T@Ra3>3?r_!!8asXF?hW=05QWEj;_n;8AIzu15{Q%F zHi$^*jMWvQql<2*p^vBtZnV5S`?>*5Vu4&xOG?AVj zH4&df1;XlHof&neVogz4{Yflj;(jzkbNg|I(5~2Mv;D=vS-3E8mD7syt(9(OVoI(dhACY%M z0UQ7;!$XSmqlwO+ZIgc}VSFF1(zzkB_$*%Iu+8Rz0T22AHM0a)p|S$4S{8d@m~C~KFfVRH{BSHx{g?ngv+ z(AA3+Y7_OPRq>y9QGKqJmGexa6|E_p)WYM{E6(Ryz3R@wQS8BjLIQtr->$bLLE^zG zuw2iEQqo6#?FzZT`nRKt@VuGE0JsD7nyLR8Gfhm70utT`Hx7Jr3s7H>`%Yq*ko%6g zV<1;@6fhZ@qTJo#d=f7pgs&6c@haoxq+leTA@=6^e@rHm|9H;Mpzx_&)mW<)$4+Fe z6cyxpy}9D&Id2(~DaQE*a4U&w8-eMSbRC-Vsr9)&Rj_sNj@E_5V1{8Ntw1iT8^X2J z;(p;CiB+6n3$(g+N384Ksdc?|axnm2edS8DUVYWGXlWB{Nwgdh>$-PpU2mOSmrQGh z#-(G|D|sBMS0!JZVGHDX8?SC0k&6%2C%H;9Y=KVf<}qt%uBwiid%E)mQrX z+b|xSQR=d9QeAGFRwA;>jp-nwwEDCiN>gluVj{}H4asD1N}n_<&#^_K@z4;bq!ZC5 z0}!w@)0VaX>-r;2aj5R;RT_E=1Ohf)E*+Wnar0I$8eZmV%?*vTui#L ziGjm=H3{U}a4z}KpwV24e65QT>mv+Pm$*7(Z>5P#j4NCg9d5H$afNT)Ztja!;mvA@ z<<)o9+p?VRRyZ)yzgPO>HZqpu8_V%E3CI?TW9zH%GpUcQq3op4r%u9Mt&-hj-YU`i z{K^z4)X#`<#*{+1Ll2m`&B{GeKk;*uIaYeIe6e3t2lV*+ec<<)%S)_LR1VlHHK7%rw#(#DYLq6jWY?4BQW&g1$PnH zn_+w(#>AX_GkAJP@T@Z8k7d7&0Rfc3IHnNZ@aKmF(IS1}*m2&%X5efS7LI$#RM-qB zT>2Rk(T8G<0|IwJ?u}tnSq?)k5{sHTW#7aNygMYYc&lUzD?B{ta!CSX*x0i}f~Kx6 zP2rO-xC63!D7c)?>4Hq&eahI$7|I-)X4qET6Df}5Q8|+E!u6CDU4eUYn*IcJy4RKZ zs(41lDDXG`(`A9&4F%$Ylou9n<0a+2t+>~j|7|rjqeLdin;6USR!?pxnWx4e<&kOWEjHBm;);r`}diQYSA^8tb?JPvO4h-~Ty^sT(oX zhoDIkCm(2%xezq=WN8c<;-$xZ%JgrDC3RA%G+`Ss0HP{SUjA#u_ z`>jf}3H^52=lxToI3E^hA)2NrZ0Busfq0d#r^0Cb{+51PhU(muPy#hS_ zu=7TiKYCbO2l>evvlYQn97NtvLAoNL_bo|-=~FO8qqss%D6=K`F|6=jtfDMf(24BN zikm_4(<$2}4%a`9g}@lT;MJg?h6-VGqr7WGV-`0DI~x*A#i7jOP}IWIs?{Gq!;7&-l$aT?*NA@pr}9=X`Tl~Yt1uJCNod;VJ$do8 zbt9{4V8)u|&a7p6wt}~9Lp4J7CPNS>4kAC8^5UWQSU)vW3R?6dGWKxfu^F}#IEi7| zK&taN4J>TxBC(d@9H8|}*0 zY-8c5m-&tsH1`pt3X;k0yD%xgg>N33~lLsmpVs9HSo`; zKKh}|BU$pO#5~wR_MdCW5ZmA7FWcZs9_WQ_%_CVd(6J1 zaH3Px*b?N|DTP~ai@0d^1~O@K_U?*DaH5e)Qr)Y!O?-~ilnoL-{1-b;phjqc91&x9 zzsW&{z_(G@Oa69tjxlfTw8j~m&=4=d>KZ0ndHx-(yhhbqga5?VEp66tZ~bAPiA6jO z_{E_t8m)Wd!TPgT;5Cz(&E(SVt|M`4yIYuDXdGkDUw}EclFNv6wZ&Uc*Eaz_NI#<; z4Z#-zj*e*(2ya5nz)hDiJB#IQBf1M-c^;>>LxZL;Ra+|YoI6Lu@P-lZxy@=)NOpv+0affL7#> zBB=7G)`NYTkhs?*tqU4C!4);vFaS8Z6`!Wjw$WU1m}n*U5VEpNK!?_fIr=GIgRT1uAo1VW5J< zV#;3&w@8LreKKiKTTQ$ziJEAWx8!OqV6NiBOf>eO-a4Z#q-W2aIZ;~H=G`?SRfIU5 zlZ2i?8@Mt?r!#PEfmrLYk?uf7vk&gd*=oTybRNPY&Pluwk62JiDyfyik-cWYUb0tZ ztp^;951$6N5j*uyNtA^T9y5#Z%na1Oq5Ptrep*7P-5rDn%w(DezKgx^=FHq;D>24b zR&dj~3Vm_Mzlz}HDLdK~VY#7mau=|59LzjFn4uFhQ+!vbNZhcsV7gi^;}n$$v)`Eh zrrN6s-Ug-<4})X{Q$&A4j60YIxAX9!2t`79ZlTZp0tp3>-Eb~PMICAFERTwyx`<#f zTFc{xGVF!|Hz4xCn~;9MG1E3=SBL6U8&8~ya*uOc((?$5s|o{d*61}TRH{)$)X8tRFUrA@xH1Z8e8D3meYSO176f>yHFdP zp8JpCTAMMJzKlF)##UB@x>VizR76fIyG0vGH9=KFLtQ+aRXRi9=4#D~Ert{VH_p|2 zxjy(pIbrfqH%ZocVg9Bru^SoGx`t3Uagt1bpTvtg(W)dRG|SCl6-PA;VA#9nDHP4J zVMPJVmMIGhl1(AN^Mfv24_vh5ZzbWXYav(}cUgd~vJTYGn-w5mFB@_<`lRZh;$1QW zRXMrN_Mp!vw5(vK*F^((hTj2olktnR9U9xvP;UbiCq|pCm^0Ps_tvB_Mr8|J#zIP4 zVQ^vQz2&V57F#hdf<=%8-HziO41&_^d&^!^Ot!#c$i3VOclC+)mazs%Y=Nhzx<_X# z%&moBZ@FxP%@)|rW0tqV=i=0R%U~lkw&N{o&C^1u6R5wf9M0%E4N`TY+)I}29! zlFqJ*=Z$sjWU0^pAXfCQzseX&at znaE5e{t}sA3jYiBQLX zd~I+7gRv2zPDX}oC9i5AKoIUnG5S#!brC)6mtRhakjhSM94V&~@Pr=XgGLf!l3LFH ztK{%?{vMurzN^7c3-|m7B^uD#fno@UjaZvZr|R+iJj-T(ox-iG$NlWH5kX9Qu`6c%igyfbh_j2A**FOm>or@l6DEL z2(STSzqVP8m}*h{Db8{@Y`bMzm|u1g0}nE74+c0#9*bS~()S`F=a$7)^6)y3trOCE z>96w6NcL@wB%=+`bWdqHNNqtiwQ*}#<#w0lta>9MCxzyG)OBEFB%&D&+Ok!_0|p&6;pe?B7`<^s}I<%hE} z8yj}d&rpu-K<%>lPM0xZnPs?S0)?f@zVuVl-9x8XoXXF{RArAnyk)Sy@#PCX_gH5T z>RT?;6S_t+T3JmxEXhF&pe67(8kzJ+wde{<=Ism!e+mEHmEb5JM&ER^H%z}Mxd~TU znlgaY;=`CXlflsu6+md^Rhg4bg6p zec1FkwDB(OThx)`Jcv9{zeb0F+uQpA<30%gBzz2j{7YJ=VQ12v1B?CG*n9;!{SqV^|)$e?0-sDQ~kCY^u!;Cn*!L^qfdBV$~$n<~4{ia2*FD%g6EO7XU` zKY+!Ian_t5x*gfjs(C9M$Zjf;uI70(agbVQ1%$#+SpqaA2vW+pst6v$wqTX@ndxZV z*8_7dp{NqTh@+A_Cm=y%{8Taz?#hw)P0Nci8IM7TQ4%oZ(6X#wJx)yM46x1XDZ)(5 zb_rgY^&mDFVC$Wa4fuLh{=|)6B_pcu^h(HDx`0Ol?Xf}K*S5<1y5{=!spWjg_9S4s zswqK3 zp{+%yOXJg(fSa<^F|A!k7Mebcj(J{gA+89s$}855hP}S$tKv*+>aaNRI+D4wdaGDP*6HBnf@RyOF*&&S*`Mmpt~-+* z!P9zf3e$HhVOl&+XTx*?Z8ip!qQ3e&dkVB+OWQW0kL)STey!WaDKv<2n&EXwah;*H zC|U`0T2<-oR+@Sn?_kP9|3y1w&^3-o&7yf)+Xgb*7nqN{e9^^>0x zCZJnWB!?T-te&8YqZC8y<)*T~%_H+M}vh zhK!-r_MzRP%{891O`n>YU8du%&g^N2R+gEIF=d^1P5Mwc*m@kS$F5(Gnok>qL^KU< z+Roy9igYze5 z9!Rx^yDd1yVW`e%2?p;0x`g%W2kkai@#`#Vk3wjPDJ0YBDsjdu#O|yEdtzc}lJ8v5 znAIolq}BHh>f2p$lc`5c$a5PD=lE~>4`?t8J$vX>PR)Pr=vz z`n@VTIbV;oyFGMvRS-KaF7?`ClQXAGXs$F;plIfVDKLhjp@cS$ZpVs{Z~C_-P}-W* zFAGBYcu@L8mYm}zYr&YcCMaTrPWWk1*yoRBxtpwv*4m?-lbfK8F+#z;j)e0K;p6E3NMtyYA^M#=A&tC}xG(wAii#fP$w1HokD_?wYd14gfurF2K zx)IOS+RZ@buj{U0mNr9cm+R@emT4rOF~oBS>b&Qgr_tcXJ6*j+6jRWjloR}LgA&3? zX3bckU3oa`b!uzDcd2`}o$MJ^K1r2hXC%UEa(-9O5Fx85aB@gvNv9rf&vSDxl{UDe zAJ7aHR#NF@c(hhU<(>5Q%RFr^q21Y5=)o2CghqOTd0pHgqodkd+p*> zP#Fc5>RjpKmzych4B9|1lAk;*@)?DS4)n*AP*D@O()Eg6&AEiy$`pa?WcziA4m7?Y4?Qx#F(e7$sUpMcGa_$f!pk!K`gKc$?Hb9&Y+b(yS_J8%CHA6nZg@2e$N*t z*gkf?=06}_XdV~$eA20(MRnO!377uz^4Hrc`L)~r9ba1OUtg9<16wrI^{++`;scjJ zsbcs1^M5^i&(bF0g0^g@Co$2{+nB5Y|Fk``1Ipg_ zoOoG1sT?&eRR_}s1@$n#ye{X9LVott78uX7CoF^u_k1z%5B$I?d#KLX!uc{J?ST92 z=!8SOd6w&_=;hI=ytvkbc_uH8C~@7?{mt;A$QHy7FBL zGFShb9Zk0*vvG-m;BHkqb}(SXpmK%w4%_a;gp34$2{sMf=Nj@ci=?Hd1%y9q0@H zK7_IKj{}az@o7MVAo)W36moFbT{*ZU;cwO*hffPEgu0!6Ee<=>jOUv1NG~7j0izwL z$56@(Kwx*v_77!BX}3slrrRVBZO=cTruU1e)Z?%fIJ82ZbuU}a2N-!0%19Q&OW_X# z#BH~Zo_JF@HSIfWE-V#aw&uZE>2=4oSKKFvk)0-l9f+0O70pI{0*xy%qPI7tj^Xs6K9`l7FUav*;jET{Cw!{{eAq1$3Ci8_V|PbQee1zt?@t!11Opc|QL$~Jnf+-IU2pZS7WtO7F= zydV7SY~Fqle4Ix=^qC1edqMQRcNJo};tFB-PRuh+W{gnSDQ=qVVhNru`v{>xvQHA) z<66mEFB94dwRtZgSRHC@pb~$M^DK>hPhSVnQz%ai@?8ol>Vb)lpQt%LSty^XyN=q3 z2--Jgm1tonWTP7ejjp{-*}MB}&|Fl8=YZfnwwFbC=_z29rn+S;I=tex?L|jguh~$l zg+u)e`aLk-x}u=f31`BbCVi-#6C3b{BKy5z-pbW?JTx##z-?3S;WXAD`K5eHB8etr z%MQd{+w4L^P-`&wymlg;YC~pm^$xck)-gC;&BD_+NnHapmYLnBiElT>E1?#c=Z70R z@nkP9(!5PfUYi*?btdFrM%d5}dDlArm<#z(Zi>R+1r~RZ6L13?F;1~_Q{n1puq7MJ zA6#P#K6**Ty8tZ&*ESv?eS(5`Ka`9F1?YdDc6KnV10J|ND^l;#?}7?4w6Y49y$UH} z#LpCPm6up<^Ff)B@6Hu$?^0i398HFj_a|}|BK}n}m5$0DD(Llach4Vz`4t*Qh|CHJX(;Hq z=Tv-ARx18}QIhk`fWtb9%ZgZ6x1KYa02?_I-LTb`M^)wjU*^Kn4DOMw4h=Z+6??z%ELMd zEK3JZEkfOvEc35F-6s*|z~vAxd)J1aP@rrlJl5I9!yqgSN_hEGS=fsCQ%Q4ZJKUD! z(<$BNR^;f}tr@fN_&P7Gy$<;7;v8NVdvK+ z3a*H4K}qmBd1($|M`Anw0J75J8Z4~!SInn98!%B(#YHTKmQ2dWp^`(KQ?PI!F`|Ria+y@6vL?7rLS>zL$5X z+B;#+rN<<{;iteVOPQtt?+HkdG87@5Fj$w2ji)@`VO_*p*7GSaK0%QIc!Rk52;sFm z6=7?V0O>R_d{ZUvMnqZ26ovg&0A)Hur|dLxUL9i=EK$jzJF^ZfQ_Ygnrm5=ttd1;!&{wUa3LJuHU0A>BRGYXi$$T-x$+n`j@OrV`Kk zf(j*lps3(E0;G54bh!X}Nl4(C!0rc;E`NG;r-|OL^Jf`?JclG?$F@h_YX>P1rB0x7 zOLr2QcT)v&M)!n6?|f+4D5Gp~(X4L(R{0}Wf{OtzB|@_=XX=~13{^2uqM|iJh+%2yc5m`>tyY|?CI|b1 z&FF>4Nl&z-ZBS&bx#{sj8SUeL9@x%_a>7<6wn#uCAU+tV(}EV2BRxuv_D|~Q*e-%Z z#n6Mzeo7Wbo;L(-#4hftr|G6)9uWTe%~Aqdidid8Sc)d5vL10eu#tWX{&fvWB9DAB zs+%NXb-iiwNNj(MoEuCeNq)FfCOWfR}`I$K>kth7yKHyQ9LWY@+bTB zz>ot(e7LEu;`*$n&**xiJ;N8AricZEi@qDXeIt2b$wxZz2*eG(P}SLeOXw>e zi+orlyvLnp@9u>|Z!U*E>x{&vP&R)-ptqzhYSko(P^ZuqY%w+ioh8rmLp?R~D1p>a z8X|Al9`;-Hs-TIe{>}P~DoS#u8Tv^0?{Z@W?Nfy#;md?f^df>ro$OEwy|DOx*-wFW zp_@PC%PQk%l9coU^_tw2MhH#K z=tN}GDITwA&*RH7>3(CoGHzuT?Z|^EsXb}!y6{+Xq%8KP!^jcV#WN_-Dx)`r7W9v)MRRj+QpHQCm*0G%M zY?Q|PS*oV?H_Ga4MpN&LX0x$gs$Mi%j#VDTJRE%}^6VpvBq{zY#?^w?1cE%G98POb zWy3e~;DN{>suUKx3h=Jh*mQUYzXX1vgXnb)^XN_WYP;J%X@^ktTutf5S#o);zWkrx ze*4e=wLPT1gpkuMpWw_uXAOfU6UFXfSO6nFr&C2vIyL3zX%5IEte(*0X!hhPP2b1G zJv-KkKW6nFyYJ%AQ{X6I6}X9HG;xx5(j*r<8$kEC~H0O!^IWRQ&w&3&4=2(Ardg_AzbGT;#NIly>@$(C3pH)u% zE6bjd&yn*d`*)L7T-g}-LY3tKgE^|%?+t!hKZz(o9fGLGig!TCZP`?b?vxc==~h_d zGb8aOJxc)Ffy#HS1Y90b)vk>4G9kDD8OG!iOeVu#S~6K7lEJAZD>Eg1aRv(l#^*|m z%Kh=vks} zTcs0s-__lyYX3-CJxbO_+1+q%q4$AHN!%%Q#(te%6H$XWTNFkZ)&)2o7hmEoXSVPZzSg+HOjiWODGh zjlCHMS?nlP+u5&G{uY?u_gKt1sFm~9PG;ofRhE0qUmo~j?{*g_t!>lqQ_Yodwlah~ z1Bb^R6vA7%jL<_YA3$6{5->sy_!x3cHY`YjGmzDLJ+N?qjp^MxCgE9hEI8v)(e$NX z-vSZbVKc4ECU?*=)gzdbsbq*%1ZVk$Qmy`TQzQ@Iu}KUl5 zj_m(kHqkbI!a%Vu_2H;9qJDXmmo?ME&iG`oYkU~QHh)+QFLX&i%E?5KE zARMo5^1UoIIFv4bO?tZ70pcd_jaRZ;fEFeHP`3n%r_&6GwBdk#>Dz6s!3B*J)Fkr^ zWXNjK1CN{(-zbM?)G3@n7J}5RZ)S8ZN^@@jgg|@0ZZ2eOY#^c-04Sgo0000000000000000000000000 z0IYopoE$~;};BI13ZqKF#)@B3a=chBtR@bmd^($iJ1UcGwts_NCN zv)_LBCk)Fl44a-e-!zQd4f$JcZ2xaPJ?*7C+l^b&k50QivEQT94n6Ut#?Tq{;Dq|o zrwzUL=+jRR)(jnU+)#b(=|d--KJ=CY4jDQvIQF>VwzkYnMdQE~hOuA5GWt4?K1kDj z(J-fF6Io)yF^rVJHXljuA#xn$z}v}gQ}{NF=xtoWo+S?9kL`QH}v53f1ygKOyh@-mgL<-&IhiKB+= zjrx1Z&AcJ+$o`&A6W((AKU_cV)PN9kif5+vwh4H9wzB!%BLxS%nMTrh{X)}t*AteJ zR^iuv%rsUJtpkUoytnuF*elLgruY5v-hE%0{lrO^-#c}5?%RH~v1}dO?N$CqA!@RvR?ONCb9yx@nEG<1o|zkYQxZqEESS2$}(OfjNeEa3%$Xo-ug#G%cSZ zIV#Le{KTZ%(Qo&iol@qK%s@;`$c-_G`0kVSP1|J6s zSPIr5mu_$|+=Sw+xsy0n{T5<{8i zC5=L`9&)kPP=hpc0!u}#71~n4hrnE+vX55?&LL3V7A((>an@z|=hEB%F#V+c!!yKC zQ882$hCG{@Nf%eO5g}&iMq;Qy3>7A2h>FR~CskTW&a|ZQ5&B`~G?Jr`oEXx1KsrB$ z#lI_a*7eTnWN|(TTN74k_z%VaY@ZBVpLbftP$6tu} zZC!0XRe=n>E&*>zMp8^=b^hDIO1sxCIh#&}lJ8JB9haQMqEz1Y;3Fu~^%0~4^(f3w zr`H)H;wcqr^a{& z7oarP4IU-yUrBYY@d*N+No_hY1^RBCamcd%ImXFMhjc{scyo+ei(Tt9hoChszLydl2gGLoyy103!?p@m@F^B# zmT6r^?%6_Ef$ZSZpfA|L<>U@^0}HgvDy}M1+9qd$6o_ZntYRfGka4V4<$-y&F)V$g z)>~A@N^kv|p5Gdxw@yT#LVPWw=QMhDrDwVFpFz(}Ezd6vdH)I>(^nIr-s;aPMb%NM zQoVqp$`#wvW{R~CtJPKP{dnYc)2p(C%gy}}YVIA>+&iSXyTw&m#|_RPJXh(TyxpHq z7V-|M7FIf)m4#H{Sn0T4vbZXr^pd9Muzv9~NI)R2q(&ZxkQ|D`3I2c*?4$%cB|$|2 z$^?m0B52m-{_-IG(+VKo{_|-s<)v#@p_1b=qGtXX)RgtC6wF9HoP!K!QEAVJ^hLQ? zE-+zkei_wnrR9)L81S-}oU}?JWF$fNUYn4}35gwQ zAi8}7#^NvO_VJ9dN1wEh1%<|E32QxaT&51UQ@#6j$J?&}9U9P~0NonUtpG(0C@Mg& z2J|XG58ejX@p)2RJuA~?_@6`HGcQdpG}TI?Q0=V016d=zen#U8paw|p}Rn?Bnu|5P`#Z4|4fJAqrpIV!F7PTIG?3+x$DN}VS=jU0*=?0r- zUOd=YcQxpWfCh$p#ZgKRw~MQ9OQNtPL9Az->KsY1c=3GnvZ=zy@ixam>>M~#Q2CXL zBWPLIzbZk6xu-dnC-1D9Gn-43B?n0PLMxVoxozUHf@_2!kS#x}ETh6Wm@)esWWHp^ zfoJw{0hvWE7DDJ{pWi9=P@eS4=PAD~^6M{#HjL%E&9oYyBj(0A5lL853_i~aGzvA( zLivcUJqG)py?YhnKG!dJ%BT!vxA)hsIEa+1L7z)xOB=iG1U;UbG=sUlg*3THW&`fX&0 zDyYR*Q~YdRG`>jmH^5NvM^TIt0)OLrt|>w!JCfX~zmu zCEHGhP*RajQiMYiVFZM4ct$HSiN$4q43s-$*Bh5zTFI_El-Vn$zcV?ieP%$_#>oic zY_mii3Ue9dz1oy_?!~Jq*Z&eq)hTd)pQCswB~~RxQ>Rt(MskV*w7r7%E~kFcXndK7 zv{f1cL-#eXdIg5)htadMRAa+SmfDB=E0hV56C0~vLD%zDu&^i{d`%4Tl1FCsD0gNg ztuJp|T1qnKnf3nyv03h5zP^{aZE>@_7m&QOkaz#q>gw#t>gv?tv^WMwmZ&F_HtL*INDtprQs_bl4WlMonTB@(#08+O(=tPM+DyjOF=8jd@ z*}A&^c}L`jVPOvPD{f7GLpvzHyF`9d#LYL?%L+mqjrlHb%& zd^d^sraDoYj!LP%ueD?18`9#t#@defSbjgCcN^r_x4rhR^OcL`t30u}`ny6c>@7&u zWlFehP^kSXCOqAe>ELD<4HZQ*_$HeWrF4r9Q4Q+f+sP5~(?#{69r+p9T78(a72WT} zb^W&{7Vn(q;yrVF#XDzGjeZO8raPvehphf%Lv=#Ek3%wm~7+NT+haDVKdS6XQQC(Qm&F16ePAR%jYYDhy-j?Wn|B+ zv2VdvUN!zL9vtN7C5^XAKFJ=P#bUGkWvF<=)6M!XbfvSnK%5QpP%KwPRc~V2Wo~!x zK}X9p5uS0f?h4Gp4#+ScCWV2KbY(hqbR3I}GkKRX+L2R^`o2lUg-XAvjhn`ZU$2%&Dx1A_l zK0UfmG5r%L{`dl}p+|DPAfEksV2a-J)q8<@kEr)T^`49Ol2B7YneaT#$E7mS_+$iQ zh180)Dv@mL>7L}N44D2Zuu&N?{dcmXZ2E_>W13k%-3fl5RozG-yScNN z-JF{p`3<*hB-CQbIp-L;`>45IX!hxI>MjEn^e<;#hwASFcE_ z*`|J_VrcMbTn;z%x7lC60<5x4GBA!vq)h$eSTB~+rvDzOMh=}4hPJb@(@t@3&~XV| zWd5oC0j;lb3hM*MKOFi%D30%?2taUIx2iO8sf|?eAV+gqi!q&oO0IFI9*eyuqW6S> zjMKY%1xkwaGcTJsgTp6}-XVFqCCpQ==9&f4JJQ*lD;>}`(nU5q=?(v+SWx|5q7yH{ zyI{$Q_EPkED77iBPOYygwLUTgTC=lFni9s@+mLJyV;jpd_MwiYCzL_n@thTHs(i7= z^cH#!re{m+y{B^9iRNeYUyv26fvVM8Nfa~M(_cySWvS@ExXT5ZGgDlUsiuM~Q2#N8 z7U{oBiISR|-IlJIg>rg~aaQN;^cZnvd-mK~dW?9n`$=a0eq6ztWA_VK313GW*~j#c zK&2;RVx}7!6aH#Ql@p{8NzFfzV3J7Ruw81eko5CO(@SzrAp6rp0#dDD8n7+1pSESj zSQGJYaJNi4+{4W{gw#@`RToO{ISKZ?P-h%`umo7acX<9qfcsNBIgwfCmiygs9@{oZ z-5CY+4f(8>Rnx^NSW@=9R{B1AXvE8Q7Y#QJO38SRo`qDHyQwMUvl4=T5xuXV=SKC6 z-km^wI+hzH&-N8Zrebh)Ka9mm26*K#a8wx^u~wrSyR`DG>2l?8W0iwU4#w!;YV|3j zz4`BsNK)I|MLW<4+Xx}8!ng+b-&14jjAw7SCt}S%-jD&ipT;T+DVx0k$a%T2f9*5a zls76x&nfud=XvW&N0%eZIBv!EoV-iMv*$+Eb6H#9W$AG8DfLd*AE0XFrR0_Ne*hX7 zYIvC@>CiZGL^3*=?8tbL(5WJnlQ%pNr94$K6$8~Dro`$$p&v_TjiDN3))@WdPL#PK z>xJXEh*@A+w|AsNdj6WLLmU>aUOT}UrS0AXafatVXP!JJU;g?&{*|oRASJ zOfcm?M0lfpZ@&4a;bpE!dL*eLGt!j~7XgnI|L9KZ>hrNhM&<))ID{nrn&tng}>8vUWr1x=OkZh|HblQFDn&*J+V%#Vq7p zYxgdau@b4sa*-JEWcwDfWV}lp=ac?1Tvclh2{lv6xW(ZNyKJX0_gU9+R*#rg85Pzd z8V4#pZLKRqhkbG$S=QFN3KIY1f}FSj?Imb6gjN-_kD#>>T2s(|Wy9}g=rss1hDAga zjVvP0sO?ZzBtf_C<1lYmS z$Ias2&{{SA7U@~67@`&YIJEz;7D{6gub0^-L6*+G%2^Lt2_)+lhDiMxSGmQZpYwZt zB@E1^3PUdfm?{qancwTHVPIRjF!UDy)5W2`^Lsr6NJh0RXISHVs&T{$J&stR0DEh| z-U8qVGS(yhjj1ei8cEuXPqJZW6&fEVM{o%mr5${N+vXD#hb;Hgp}aDE<-H|F@FaRI zY!(4sEP|F-nvI{J4}L2T72XFB3Gr<#sGnj$rHS-|2;jj}AW~ICKBR~|4I*!gh#V$w z%Emr2SXrsEw~u;j|GqlA`zpYG8o-V{O{>>G3zTehycnL0ySzZlItOXMLGi*Fp!RUH7}wsq6Jc9XH(JTC zvv5V0-&3#1ZQ`-%&tN``(BLL`mbF&pD9;YaGRa(z;5H|Cp4{nqE7Rztw=>L+kGsO* zbJ|G-FF>=nj>`_B&kM<)*_`w2DycLMf~*Qrw>2<_!+>@6#PuZ&mewEY5ZPCO-rIvtLfdCD$;|< zDMU{7lW%~YDfCRG2N6>oF?F5Ot0Gd1>fe|y(u0U;L`?USZ-AaD^h~7(5z`zoeVx;% zB0~EYrfei-j2}ey>^}bO2Vej{Q}8ntKZ6{?G(7t{r(YAHvM3ZcQh$knWG|e3_~~c= z0RK+m->Lk|bdo|Rd7U$$>ChOYNb#KBUi#_lqaVtI=L`(c&y=b3GZjA^+mYDLbJg3cFIc?DGp2CW6^u5eu|nx{1oD+5TE7m zNdb6N0_(X(UrNnl{RyfWG;}jy2hTn9hyB4xMz|&oGuf%ySTJ=|zefER_6!mp*}8Vd zS&>oJW=_rO;7O?`qaHntRB11iWzMI+JW!rOW0d1l7$1VvhP*cPy8Yi`(6Y`vixhn8 zGB>!Bb!p+}G)dB%6d82;hl}Evf+cY{dYhNTL9um79JE@N#DS)l#7TswY7w5QWO|wg zoTdP$YryFW5J(SVjl*GLdDkg3tur*{84B}#8t^{RkYjbDbpalb^1Z4%Qp@UKk;dMq z$P0|o7#*ooSNmy0<~dnPdYuTO*e1Vn=M@7Inyl_R)adR0!|;;CdZaga)Rktt0CgDeoVivB&} zc*EwgDcV$QBGBSVpqky2sg%TxfgaiUmfo3AaV<3~Z#lMqufcQhma&f7&vf2ng-E#+ z519X}_Jnqdv1z=M9yExX2~PHe@nw2Ea?eS~-mACMvx=Vg(sMdJAEM`R447ZQfH}B{ zD3AV;o!^4aJwt z2>%8`5Fx~NP(FpALql$|E-%_r{d9RzHh2-?m>F=_-me4T2!4iu0SeadKI>_r4Ui=ev@6g&dwP3(LW&g$lU1UR)uAOH{_mS_DxFJxi7|ugB0_3yX8j4Grqs5j z)`_Q@_2G0=nsMc>vibnq?L3u{-3GN%2gu#Cb#kW5f>CQkh<@8&a_bR8cc+xbI zsxz&mOKs&+d%4s>bg!M1t|8@9pn5%%=oB(BooS8OMV`M$ioL6|Zmu%j<)JwAZ<^Jz zLUdBSq=!-|8ug}VSjuJclT279g}gm_BbYP&uc5-+hjDgN`qtuzBTYei$l^$^>T`!X zbazY$KLmo83?5(+eBF@AU6@C__%$_V9`o|UOzOuFxw6n45JyEjrmGIG(r4D+ARawu zf>g+K997Ha& zHS8#%G*hK9wp!Qs7qX@m(n%=9E(EIB)>HQ7#o^PQyN7MWJB=la}CcS@v-U}`C zd`<74lhAv8oAmw#dYfD5?WF0wF$ukYZRW`yamB8>fkq9gN=mh!8tgQ zXbCnE{E`l~T7zu_|567hTZ0`0zYO30RuoY3q*WYmb^9)1RHKmACI_miR;p=GeI34I zVpJ{vCuuSmkOkHx{}Dn1T0vNl1QMDD)9!!Cpkb3^SehWZ+Wa{NYEPPTC> zbp&OUQ(L-s^$K70gD`qW3|aNT$OAi~VN%iP!63`qpyUl|PX;k;^ieN38;76hf$g}K zo^$E>f;wREV|q5z^Cot}QFl|LX9+z=&~qX^7tnJ#J-5+wA3eXK=dbkSsbe0ZXAgSz zr{@TIPNZk_Wco4f>oGklRoJwvZQ^faNQ{*Xwl^*2?M=a-1VIk#JR4!d-^dDfa!b!5 z-lP=#USU51?4L*2@HcXT?QH2;3T!9%i^Bd9u%C;t;cv7Fw!5Wg7ht==9~AbZzEq>C(Zk6gK8mr5Oq~{EZHwo!Qc}1lXD2 z&kFl7VE;72hQHA%*jXMG4tUw%6@?8OQk1h`!{6`(JGZ500kCtyuNC&=zl0=qr&hZ0Xq<*d4*|6gJl0 zL>UNnxPOkYJJt5I&fu>KI~)`!>~Q}yVS8$?vKRbKVTYq4g&l5PCG0M>RkSO3Rbh_; z`pj_(o%U_E-Uqbe1nMeHu)+Yz6A2Y&59R zJLAACpQ&+f&P6y;u%>Q<-bPZ9V*OH0Rl|UqCm80~df++2Mg2RuP;HVg*%tR5vNhjI z)5j3rY>d&b--)af=q3ieKLjl!E^cSbZv0%Zc%g}%$i&WNhHSh6JJ@)`j3*5hC7<9Z z=OD^T(;R~%I1L#+M@@0r4b12>Vp;YaTwutbU{{yPdo7N1RZHUG^IhiHxh(ZM_~;h4 zRB)C@;2!`Na-yhjxFU{zY{C0v+g6SnY1>>lrq_CzRr7hA(oJS*mk7gulmS!3e<9@* zwa=<$A|%r)$}$6I?QnF2EI;0OOjao)-DnNbK;!I1)aMo2!y+Nvp9=0{Faf%42EaDF5u1t;XrkgITKQRNun-{fkE*fhAbMLA98g%L816y>GTuR{jsp~DePql+frbq zhtXa3)w!Lw$}kSc zX?Glsi}J`b zXjGAQk-h-?P(MaY4x{|mJc+J58GMjvul+byCmVYcTF&CBXeXG4!N>FjFSCx2(L95k zYo3BsEw`3R2Qy(us%@_bZ03moebtD_;4++oZh#&$FtYsb_Fa1R$a2Fc?s2$ zNjq6Tts2Wu?shv^K%vZ6PIyiQH1NnM zbdhfV@WW1dZ)?+&P4bEa1G&&}6z5M#E>E?}#o`%xCzumSglCwwP@X~JBDPfE18Jua zGg(nDUt-sD5Ay6v93Zt)Tgp+t6H|zCfOz}g&bT-_cnsEH1cQgRx@G4CkWL!4kPfx>cpS1fK$0UZ`x3JNMy8&p%`Z=oV;Qz7Zb zeB_>rJmaQ>09NK$cEQNRV!zT27AA1J28zxNc5cNeEY#`R34Z&_VI>ZbJ&`@MaLMqBp*8>#JyOiTB!e}ORM!*$5}pD4*5{QRP(xE^jr%yPGcdj z$ooP{bQkVtu9PKUZUTEkjXF}P;m*bSsy5YF(lwWnE7`O}iuEC`?SBMYsL+Qn;>!y0 zO+(68_!CqiDRR~C@XWCLle&_A(e6l<5 z=#Js&n0(PsG5-Uy?yc(GY^umy}`yLn?+was;c8Z=LZTZZz8VUIexo3j6vu)X1-`e(bh(ojUh#1^76PGc^} zQkClo_t7=mKuBYTRCMBPH`qWSZ)wwY{8OamI{v9V(6Q|I*jo}3?*cUz?aok7MAllS z=%1XxK?VJ=cL6Ij@!zvz*w|0fR*W#|Vj8jdSj(@t+UO^&k3)c|dZd@**Ig@cp zbAz{WD=oUk)xkcf^^RLy6|6+PFXZiX-YMkW%3+>EHrT#wCwfU#!_sN<+UfVC;R4*l zy_Fih8^gWy`@!LXO3AZ}N0B{V^z2@|J3PD82?v>Z{q)BEbF>*U0dZr&f@@Nq-PkXo z?>@mDaLdBI1GB?d#Q9_)(W!E6yg9BArRucX~ZgU7&PBlz!!!cDnd7JA3b?DVXf zIooYB{W>bje(56bo92y(rRvpWI3EOy`$Ftj^SZY+gj}#A2i{j3>H)S%k^v7at9OU`Iy7H1yrCY3R!v>EzsTmZ~4A$QO7A zi_5ufOQ*W*;4tLYvyt6Y-gc>a`0qq@ayFl!_JZi~G^gwOFQlOmH}A7~c0Os<+j~L{ z!Z@c8S2nMydrAKYRwDIddbZgedyYOsxV!QGZyU2+%xamzss!)twT*m&&l-E?*vBxp z*kuH(DQL;RDMA4o7XY1=ce|4Q;R&qo$FZs@;`N0munKtussVl)?~;MVyOGUQA)g*a zFNs^4uAmO)NHjHf(`H>Oi@|#kk(jEiyGR%JnJDg~QQQDA9CwRVaPL=TR?VF)blRM> zl5llO{WUFxw8eoeq{e$;mOC^kJC+yIKgogx;e*#U)MiA zf&If}EjQCB7=JJmYVUA@4-jpwzxhUnr;-~dkarxkRcrf7tP!n!3DY`laeY^=A5_q0 zC*O5gH~6q#(-DTwP0kT$or(6y8-~T}hPl>%I?0qhW&LYMEwb?|cRlk75NrQa-+ z$$2u;Tx43j@HY;Ga&w%|Y%k7d;&I->aXzc!oRSFRoT}rThB%*%$63K~KBwZG9>ocC zoHG#Tb84%}`v6@cZ|aQJt99UyC)D!qClsKOko~Iu8aQU-X1lea>;0_2;kug8J59TB znTp2bFC+GlsnYgy(P$cTr`{$t}INGCXxJ@pgAfby`}JDfE8$nGejpT^k%jKKGX?LNj9 zLU0x|K&2xUj6(}|B^>{X1m^7(wJ2(dg2YYOJv^H>Eg2$b=Q@qBx37Kd9B4&-(-Aa)h zJNPj2&|{N%V_W`43<#?(Svp^mId=aetdwt4OHp_S=OLNPEuuQyOH|Kis)Ev{cnLl# zrmrF6{An^t>PaZ-w&p@0PFEuM7-Af+Fgi_UuWPZ{*2o&y9&t(FFqOX(d^*ABVfXKH{mZ%2?lS$)kb_J(uvWt*kel}<;AhFl zWlv_aypuGrd&uDlP`m<<+KS*05Vg-C_Ln!ecez^%2V&xj8+#EQuC(+0jU&FyrzVVH z=!VStTa{kDQhJ}U+jSRmyQsPFZo-w}{!o3WLSLsLdqjKrCdpD~xxNS`a}~rtFwbFK zvM-<0Oq3f}v!1g2Z=)KZcr(E@37%y?Tu&&!%17jaYmt+k3T>%b`DB;H_EE~I?@6TH zf*pJwMn!)b6Y649w1lDQXQ1r9kcf^kT^&sUH_a87)!gqc#*{;N>nFJfjT6q3xnI2$ zMY8#hmd$rmfBRhx_^twcPXoTE0N>Yu?<>F$G~fpcaGwU;rvUeB!2JsFfCfCE06)}# zA1c6u8t|Z6O#eQ{&tF9Sn};b<_7{TdA(=11j(WdBxd9rEotFP10RJcbpMPHqf%_&B zxGy4b-$Virv=De;B7p}Y0uM|i@L&sp2PYDEFe32aL;?@P^QDNu!%X1IaRQ9;6(;a7 z6Zi!HUsX-vAuZL1l$amZfQMDvz+CZh3F#~KTIVsn;T{bC4$+!e5FEb))`K~QS2Z=k zz#YF!g7Nb2LNw)mipDJCck<>8_%}^&o>b%^e55seK*Hy!@P)16QzRT0Lc(D-zJ_vm1Q~679nK#{&W9rB z4kkzW@J$p3OTM-_G>71>D5+I^E!AMK2kAGa~q#W`dgD6lE`J{fMiYu@v+i(*dwuzsJ)D<~X7_Tb%D>Z25Ip%yG2|0JLX> zw7(A8y{)v1$%*t21pOZ<`d=6N_ksS+LVxTLG~`#PML)tV48K*JnTI2|on+(RoRL)- zM}Xr$;(bBg@+J!U{ixOrk1D`p8t|9`JgxzcE5IfV*d*g2(|8B*e300#&$2$Mronr4 zF9(LFqZV*HQ@s9wML(~gi8wq^^M505jIaFPi5uf4{|{5|Qe+(%Ew~>43H`Es|$SKI}3BDg3ZYQ`yso)=rqQzL}P~zv1XsjcV?&JZ_ z5Lrrhp$Jc(O`iyUG8sZ zyRneOukvL0|70Oe2oe%A9)6}}&yKI??&3#LcQO7nYeuZ;_?C&iHc8V6_a);9-Jx9n zpMmvR$d3Mp^*Kjk7*7!9QZQ~xzO3G0@WB_oIi=y@fPRmV5h}JcUn+xqW0bEFWD3sw zX+qFZewn{*GkuddNeB0$t4#S0m}7+Es!TCkIkEl{du=Rg)`ZD}8RYP+!zH8O2!&ZTy)q*Fv19e0TrT7EC;CE7hb*HOZ;!F$>mo-T~P* z(YH!R4BMrhDrV{3ioa|jS7@soI6>$*U6D8{{uyJT4SbY=(B4-8Q4n1h~uVOGAFI`y9sp{YM58(eoQnU#$DoDxN3o}Jyx%%y4 zfJ{=y<_#IAJMX@L{qipF-_G04+I2j-an_zGr`?m)W!Nl(k&ZoYj$NHne?yZbak7bX zWfQflQOz+rS`RKO4YKf;!@?H|GeKeHz_uuCJ`y*th`@$S(3opi=hSa#iL}-HY#t=> zk-?H#@@=Yyq-j!H3P(nortG=pJ*LRWsRO!|z(>p7r~G&1x)(4~%{0DDT75m-41nr* zR;!L@!!cQc&#JwX`|viC=ik#NjV#5@uiC4;CvmvbtY)oh%CvZ_SjItkqWQe0`MgTx zISqKuQ1e?he@0| z0d=BjG!KTO#Z*6-4!TT(kKgr*UYe^OJ_5N~4|!cZh33Yl(6E;Z6C&cPRMYrG2M##& zgS_MNoSG-|NIZ=O6Eh>&Xrw7&YxhImeDh6Lx`C!UQ|24`UIIv+THR)<2r}s{AT!vM z305d1tD>Fc@wTl_G#zAtk%#f5>K34X--@g_1~MtaP#Z_vB6Wh6_MG@NFp zk}ouVBsR|2%>)_84_i<7%X*W^pTH1a5GCV;TN9AU$^mANkdpXZdB(pH6&4Rk6MNr7AmW8KeL9$Z0R2huP>WCIu z-Kk`CMC%LtC~ z+eJoqXc?(EcZV{%n`I=wpfqwnOX~JkN!{KosXJOEb*H8881a-GNKPt;Ds!jTb5ryT zv>$ExbDWW#wLKb z74!UUXqhKTt;{ZO1H%fQhUQsf77G^_F_BRo54-#$sm`8_=+iYzADocr)R(&DHq%(eQL}2PaO{~iN@W=YO~WY z*DmAj2jvIM`Xy7eojfTfcO)Cm)kmYtw^{s}=B6#Tj9`v&S)MA9EN)e@jAD>%W|2(T6>jIa|19zJg5KM5n@Cn!9D zMi)59-jVYrN%J@HG@spGntXvnPNfNtN{J0P%?vMRO4>hdWd?UU@P{(AE&K@?GEn(s za6T310Nrw{P>TPXPzELy3NIikW+*XJ5=%{xmEh?+fLi7Ci@3b}sXM}s7iZ_GR*9Ua z=Nv4)%H*g>7IP-Z;x}$wom*rE1#EK`8qM;Yst3x+ObMhXstwiOuvb*B@_5U-4ZvRE)d7O-0cFXZc#h_8j)=4=1| zy^LN2U-?$P7Ea*n7a`t`>6{(w?wfSZGpz;m^=6%OY9xpG+m^$I|6L9*A%C5%a+p6s z4!;cXLcUIm_!`+ZUl0H9e7%hHx?1@fnZVbtLOkZ{z1u6F9W#5nTFstQCm1+8nBI<6 z&92s}dCG)JDCvF1;M-eB?z}4?O7xd;d8dZ9V=q%=l{{ADb#>$e2UwERLKo)xV$4CI zFiXE~t+c<{@iww!)zoXPrW5Mpj@kh`R{gxz>NlaDsq}8zS{eK{p6K4&DTAglZX`lJ zHQgls?iTS6#L9%7RAkrbbPS7DQH|e(R)oE4`yT-?W%xa;PRlcI7iQnR+{NgBM$go7(dVTvTax0q2B3^305TX2(4{ho0%?$r5?G zdAfF-9FiM~r|~%jTo9+UFz#6p=WmyI$Y|U%KkgZcdzQu1`;2;jR=uxmVv_)utGAB5 zG)$g=SF86%6}VfR^i>MDYYZ4z2G6r4cwW1X^5ltV-v6JF?esj)4FVe+HAjp+=ndf3 z&!47m`KVv0osH`p++X0De2~%&uEpYPd_$2F?LnVncr}?PUSKvpMd<#Rsdn|V<8X7+ zG2!mFv(cpB#g6`hzuwe!k+N&7;WH#prscbKy{lK?h6;SV1&gMh+W)Y#O!gR;(SwU2 zzDCcr^xQ`e4rrYvO2c@b9(?c%pJSlGgptFBKU{Q5Pj5m#3N&BcYmATao=?x2SY)SX zB|X>E^ErC%qvv*dXe?-KO2}Qwm(nx(OWX$RFQ6Q7l_q5{4{jWpC-*4aiv_+b+&>if z?&QY&p}LCEl1tdql{SLmD#jD|dNx!E#9TtyC-6--Bc}TB4!Pe7_lUsvgZpuT zzXk4v0^f(+r|=a+t28r{j5{nO% z_#Z|1@l*+nq%VL#tK0tz)x?@z%2aRQ8C?0SC<=$;$sD~%kf-)3u4(kFs^0m zFHhG;3oQoaQxZffAXTHv;H6PDa6sEXA;a?E;c~VK>sPv7ihR+DCF_mOEyi?`X!jfOV62_Lw(~e#^tV((mrF`LI9_t_j?m-lH=F zZN+efe)k#f8SNrKk}_wRVpS(7QTXi^f3n5z#QdtQ4yd-8S8X*bZFTXTtyv12YA)7n z+qi?_%%zdJG-oc&nLCYi2RV_sG-oay&)mMI%G}<9hRmfob7Th_$yC~RP4#tBFi(DH z&$vI;5}uCvl_D8XiX^WTNmdle;#(%o9I6bp+n6V5<}+S~vzI~kGL*g302p39dI{-C zaw2;f%H9(Cjb-oDgxt?PdV-*>7@kAF`wZttF%(OB)aX}n=LqKETixV4yvcWj_E~E& zs;Qk~t;Hy&_Fii(I^)_A)>@2?YKK^BF&e7vYpuoTsHXz z@Iv}kGJ>UvTTpPTPi1d{uNa<5zxxb#Rz{P!jb#%1qfsUEc}m8r`2E zD%qz*=2deFQAmWYrJ?J7h5fL?=AO}8fw)ySC`Zo(2{dsA7Td?(Eu zQUU8R=BzHVFFC0&f1XgSl7frK`(H@%{9fL%1j<8NzVfmxN$|y>`eWI+%ksnY{F9#U z1mAhX3W&;|&zocadn5LY;)BZ8#GHknX)13m@W&h|*MM039i*}ZtJNVDFLo=qf<#S9 zUF9yZ7Bt0*-D)nu_csN{u3wknhns?H^!gmFZU249~wE5#rQm$ehL?3T5be*3=mblb71oIQ;MEPwZu$C%)g1AWIJm$@ND_kM~1Pu#)56Lkn#p)mH;v%6=@ zJciBRUq6@c{G;J-X4A5!>)NWxq=g<)#NyOCsP7R(K44u=TG7&nfN+=#9rQKfbv;w$jkFHC^5L&}HBN8t^yWC!5@tod>9(-SHmL5cnZ-Jxu@-X{J*Ju? z6#VmB@Yeu;w%~sN_yxg-{iN@sHM_SsPnlR3qp(IV{fz$wI)K1W1KbC2KfteY@9zH* z2YaWC-vgiN<3MxcO_yjtsdcH`t@u&sp!)eU^&IgSsM^5*8z*B^pt`MKDz}eyG%&LL zL0B-!q^m7JL*{)J$x=!)tyh^=NoWl*tzxEsSS^_(+FdYk=B-I%54Ap{fWEtOr3 zQ03TFt;!cL}74&yilpX}&%&%@Wdlozujxg*DDh7HRIkLutC@32Bnl z-q2EeLy7U<8t`v5-8gR2ixzl=X?6Q^pcw1d&Qh|o>tE4M(;okiP+Nmj zxH2IM{n4%KvQOrhV+KBvP^WXtx?PtQj?I<4maB2UnQtB5be2{~ zav|^7e++e3TUy(C{!ZMK^*L0m|6auNIyazAq^&i0XDZXIwO<9G-CBcpFcZ@=m2CaK zS^Ds@6I_;xY^yHS_rrK2&g?D&CyO$(b$)P`Z9^2EA&f*&fgYM;&Kmo#!KbP5GSB*N zX!(9vMnQH^B}A8NI}=YbAY6ZGYfiUf#tws$46KAIN_Obm=9b7?gJYM^jinQE4G(UU zqY`H8C0iez9iDcw#u)``efYxI#Vl9cfxQL?u(F$bGxbAfM~A(*@_jnNl~32b_I9IJ z)xC`7j~zy|4s{8)foww7p@z+H9cr#A#%^OCI*aV2+484aM$?^oV>O*lO(Kj9YrwDq z%+-Lo3NTLt<|)8@4VbS03p8MX0*q+DhypCsfQ1UMvj*&}0E;wWkpk?Z0lO%`s0NHG zz+w$ptN=?iV2J`O)qtf6u&V~JV^4F8hOzu{?E0BhR;XO#fRI|Osu(+k<$>F!WL=QI z|A%$J!o0Lv9IPY?)z11mjFxYrjPE4W$_Y8gC}sL_F4G}Zrt_mRU7*W!1Z4_@aNY6~ z9A}z}voMOYvyQU}ai+!Ne3Ii#S8;aXIDLpSs^ct1oaym6mvWpLD$Wv)Q$(DlI?k?$ zGb0}7QygceinCk9+cF(zcf^?)k8>HvnWf?^kK*j1tH^x50R-{|8pWt%lcTez(8QC-U4%MH-gD+_S!QT_mtuu51z<75D%LQ&%x%{vIP3* zmE3ub@1e`U$(pZDlXr|tml+&l z;+vaJDmWBfU*H1qPe8nOISX#kBl)qWY{t^fq``!?*wu!sZL19@?Dq zaP?kV-=V|#pW+4`NTb^g(k|anE)Iz*caSdG3m;<1c`1smFCr~-CUG51l*`QM9mr*d zbBSgCpp7Wi7Lvmv$KopyDsE1^unf1bW7?i!h2U__bETnR)s;;V<}ZzVRsKIk3=~(- z9|{RI!6Tv+>VagD99cNpIYu_jZANmtRB}tjKoHKYXP2d#@XT6$_MFh*3~Noa?AG`M z`hkRxvFTrpr8T)H*);yoxbGD0zBuut)uy^X*}=UD#^((FhKuZhv8+nPs=rGo<3zWt zI+NY9nl;^SzRSZAOhIb=j;urfq?kT|{<|Wk7pm>};^146|NU^YmUZT(rayykn~ydg zS>tHeX5$Dn#$~F9++8dsZu(>*T{0&;n{JIG%+c#XC-*}ld zqAz(YYI$I{;@)afg82Thd=Y11sgpSz|EeI9YRxb3Rgk531NST!u59ezIoKjWHxz&Ho^4`R2&yO^lo~dsEwv+}FLe@R%pA zN^_MCFUNYc%}o0rCOCQJUcVRiL;cB-cFKu%k~DNu!l)v6LP)T!;(2YNm~GRu{dFMO zCL~{Z;a^yKZ6lIxagtl3)lRh9m6A8Tq`w}t+BL1OgH}7yYTprB9Ym``XgQ|m_~W3} zp=n{I$?G6m9Xmp+lW27cE!Xs1|18kz)U-1A?g%KiDsK0KN$+30U@%URMt zhNm#NzwI5#JHe-6(`6m*=?hy-8jxk(+B_%t3@kF=TKATO`h3Dgy3wu&h~enyDvN2% zjBj=Ue<-f1zDqw#>Imem@WEA3kc=l-h2S1TLjrt^cgYGi4nqq4OBaTudHa0M>1HZ! z^>ioroP{q8=dkWElh~-PH0uRF?Cr&HiS9ac*xX#VLg!{fm>Yl??$3fUI+3|#;(WE& zD0bUK;@DdgxHu#L5W__r=t(W9Z%*Yso+BD4&4pAwK;DY)*@R!)HJZ-P+xTz`X7uGc z8opr0tRJbf<*98!$WWR&CGuQ*KTEYYcCRy)Gb!@SlAK(}mfTYKSa=;<+1O*D^y$$3 zr_%dR^v>zAnDmXtzX_HyqdVG$I}HB>HCsKM+$WlPEicJ;glTB-q>#B ze7Y+g?p5{!(MN6RYBp6k**^mXUfCz5qG!4?9KG>AXoos*HO{Qqy#c2x^lVp_(ckT# z%RONt>!NW!80OCRlR7i4SuD%_qS)tmLpYzZ_)A7O)xo{(^3Q~TS<*kP3NCB5P_mU{ zT<$MOcdl}H=wCh1;URbJZH|oQ`x=);z2RQmhkXZq?=1mp5H*E%kk= zar&3_ePv1GMGE@Au)gmSjjr|pOH>wiX&-NzZAue;T@v*nyz=u?N#75pHkqom+DFj^@UXL;?%EbrM``3 zL;PkG#jKa1TBiBU#wq@N$0%}D&2{CZL9ft|wyrj5D(6_(4Zu~nMpVz9+d_5H+Pla! ztt0$3Sd2S-HNFIbrly+N%e!u|^&0mF=>6reFKsD(-pU^9{heSfCMCM!pknZTB*L?0 zwHf%R;76F>TG6aO8L=95;u6^jF17R?2wds>74RVQf1UESgAbVMi?lM`w^ZK22QhJl zP9az6mM$Sc~ zM@_!iJnd53$*iA0FWeW2&<)fRn>PQ(+niPi* zknptC_HZz%RUYPf$Mt)u*`@vTH2;1I@OBM&y8`U50sAY!0UB_C0vxCT2P(ip8gP&T ztW@uP)q5YjGp4My%18#^U;0|}nt(M9JkuUu$uDz@^LZGFAA(9R!!)eGf;?DTkk?uI zi+%txeBB{B@Cyh$3pqbT!~H5&#KDr)JF<(t?of^U#n8G3h~aGAQ++P_m!oDj)`5pB zxc!hl%u~g`$67M1<9D)kjQuO`Qu*P-d8n#2$FE_3g80_GL#KE>Qe2M|0b;m6jLaRT zF>V0HIlusj;r?9S^I+N7IfSqI@~%MC`sf=1B*Jrid}aU1{S^gfI>UKyxArJJ7ZpOMk$?&Sli z@(F3#8%HH;eBJo}^)1KFk-2W`7eET~Jv^2ZUk4~BZS{AL)%W*?r&;xL=5OjRdx>Zmr#6@ppU6jK>3_u3e59J-=Y{a?k~klzBNIt{G=#4-hcFoC zT4&<32gT77GlFj${I&3>`0K8>s1L-iucAThO%D91HiW>~4J5Qady_y=PT=8+dKIyBzb9KsfnF zk^IE~EQ}@3>0^J~&D>ui*4iyND$%A$T!NLfPVuZkNbqsykyCLbbuEKWn5<0MV+Efy z4fXw9DhT77$lsbH&=m`UBXKS@@v*~@#HSDmdv%aM68y0c_)2r^SSEQHg-Xst(5EMY zE}sbc%tX* z@yJk&5R(e=TnP-W2}?KhN{TUo9hZpqos?STejFQ<-y=*Z%4;Efl-P01Q<{y&*l-?B*#?In+>`lgL?8%lyD>vxCo34<4PRiV zDj4341q^HaQ|dW$Yz5!JQ2m=2#e`xyQHzNgFl3#WY&`6f$M+*_ULNd1hQEb@N6{(7 zybT+!TgV0bt?_MuI7#x{8u#3`)sV=ugc@<=WZ9V_4^^jNTiTd+1dhfX*zUa|`dIe6I|7 z@`C3CTtmOZvcYCzo0Y9d{iLSKNzm!Q{jRFb)48y|2j96WD5`tYo9mvYcycSnIl%kA zqBw^s{yoA4a~%W(x# z*pl!MXbS%(OwX6Bwa2kqvDV-%(zezftzdXd_geqzNYge*z7OXS;^#Kvr#oZe^H9O9 znDra!B=X!_WE?m6sfk@qcT&KtZ0!ZvB1Fb7T21gY8_bnDnas~%)MN)gqgN`p17-KD z$rl9RYeUbOyhe2|f$P753CZ7|pP3GB17zAlf-Hr(*kubS9oz*9&zrm@i04r5P@g(a zswF7fe*tyvyv^-h_LjnxvGpf8e{#67@AZaSXYE1~UqtEINQV87a1)KVCh$6y|Q zP(3)-xh&?_4?eAae9V6oJ(c$>Hs^t3%55 zdnV$2kMSPi-+%M3yEA@EJ0lI`2OrW7<_jJ$puvf zI|_Yqu3M|y^^s`TFQQ!o#BhI<_e0`VNz@PjCDTyfgT`8vN9BJ9(QNz@HMfwh>}ChI z^Mv%vsGDXg>F-B0+njWl9sCNFr;{sr-geTS9lV0dW~ZdS7guFni5>i!{0qMA1ivwP z{~SK<)|K&p%at2TA8=ry^!MZ_j&zxxQwaV5z4vw-lfMI=3t`in7}HY<+D1zDKyMZ^n2JIP8*qeiMLRoRD1Ct<90|xu4b3IplxQ(E6MSRyIv^E$x25wY)sw4$8Ry170&Q{$7V{6B zkfGwpu5nm_>pB-q-^g@pk|0*Bn4lUxhl*hWz1l!i(n}%6lpO!A93ov(p{-I1g~(`W zCY>yD4W$a&mTr#sHjAFYo*Z4%o8zY)*QtbYE2r6WkmYq50D@C61`UaB1%rtln^FI?mxz{u8w2< zF^2W$IM&T^tUqfkWe(II+8G~bi`r+aj@D}r|1u6cAQA3wr7CRP#rjyyRFMrA*(RCp zYDjZ!U)c)a0aw<|Z92Mz-ms06 zhRw0R8O8paDId3MJj;tZIk#%1YF>TzF2)&lEPs-N;&8TJ-$lnY{XK0hz%J8rQvz`O zgQ0~zHP1x>PRd_Rpm;WT8f%Ih{0xHrjy7R=>-68*JSn>j7W?i`%C=~?XJr;|gr&q? zr&tj?Io$V(XOY9*sd)BsxStizft3^6lXh(WFL)ejQ;9m%PMSkDZ8hY_TMc<47NTZg z``YaSe{Zw2`$!v^0qsz{@3g}Sde@nZo-Br1wE7JMSwp_5imUQQGV9q{V!KN2eZDWj0 z?+cO*f#Zy+p(j8np#?|+>AjK!68@nFFr5G~B|s=471B9>^P72ZccnYqB%eXI@6DUn z=gphfX2$fY^M!~~vVR*v@Yvd59MOCK34;r%+VEHL=c7n?bMJQ1aH!Kr*)1_|2pwW$ zTX}N?o4Jx%xx8o6`IBHhHGJl0RsKOu!BbqNaW;*m7kIWc@r?Qe zyb$$F4)ouKjNL`}9fZYmsK5h!))Da%5$L^;pAD1c=UhfpM*n@7npG$Ce?Ro3`o9!- z#`NDDxX1Q?Iz(#jKR@t{>OTX|bk+m_$g-V1joDrSzDX4_aD!t7!Dhcf=p@1t9Fkezv%_OY z@^4L8(pH<8S&$%qLW?VgZ%WNAxI=_%W%*?u^qpFj9%|sME4RonCozxcetsCd)v+sm zfH}O_k}Ob6E9-~{WwXhH^<|QmmZ~D9Dfx71BK->aOsT7~WHwe~;XnvyLZ`dY?M_RT z=3F_nd9yl`{1;XD=gg;hiN`}@Hgq$$@jTymRjj55CbcHYCuS2Y!pHbNyQgDbAN8Gv9 zVi|;{)#MyKt!ASW`yfhCb7t4kdr~gNtcvQ+1*F**tjf+WOATjLc7DNk_-+Ka)9kxq zoO{5blHHA2Ysh|GGbkFFbNN|@Vr-=|hv!o|x~6Y4z;IQV%715lyx9ACX-As0B?4Q& z^B)gpywd1m<%Iq%QM#$_b6-tFuIT-fnVXbB%J*3F@31=={4M7J}r>?>Yvu0LJxSR5YgSOCOuZyxp^zY@yMrpUTR zz8K2CA&j-O>=>705Ps&>o#uyL!Rz)7aeldcAwJ_Ut6u??wS(tkhw%r-z$a0b7GoS9 z-&c3Wr3*l);W;GdFJ#3ba2Jm-CJi8&{4z<+%r76jAg*+lZKn46zZlzXKVNXp=Tr8h zEj|va;4?sLeygK*SL5u9QPca9G|41$S3qGLF)0Q8IYE{47oiilo{b@96i8I*i}6!U zq&KQ}qTmeW9?&*N(?%ibFp^>VEsR@_LKVzIr`lXerHgIEw~1$Tuhr2|as;EnO&ZV* zVz*dcF@fP^6q>V^DncRY*5tE?VRo#r5*;fVt&SC*V=5UU0X?-igUlKOX!$FThiPB5 z(DIY)lP2EyS^WF){1rQ_Fb2*;yGdBu$;}ugF$5y+oZ}sZ_M9|uL5Ry;VdSLQox$@0 zY)LV9izvH3HaKTV#Gq8^el8Oci&f^=VZgPP=~CvG&wq?B3+=2S9V;{rO<^wcJSM2L zE?Q1wN*Nudv_6>qsHs}UMG6{sW|_U5QiGeD(H5*Q`7P8W@h6rI%D3C0(R9(U)}>|LDUzqTOkgvU*d9F|?XC1) zL2t$bb?qIEv7DG}E^W{xwVeAYN`_?d)0S)^_>>nL3s(&IG3q8#&)C|)K2rgG+pAGR6ipEZ?5y>;H`9q z;hoJZJ?|6pIRhf=UHPJs%X!DaeE=2q91Fr$qyfTiyrwX%mloRRS$L0VR37RNt`0|V zSmAa=T|FgHIcTRqKSv{&eWFgIJ?eP@O`i{PJ&{aGK56-6+8QJedlL1)HLTOMVfrZO zbnPK$s{dY5(%R5}BRNV>lXF7<0|J}U|1)u{?3r8ovGk*zU*7u-`jay9-Z40Ox!tgZ z0xRe1qMG#;(I~k*H&*w=j}gZf;^m@W12KW6+?CU}r@vFC=jrc+ei)~PxBrVcI=EEy zu}S)CA_tkY$|(q zL9KCS+($I)P^7Q%zNB|20cYPv?p&*5bVxJKK93nsl*m^0o)!h*Sji9OL;YS zbu1exyYA5{3!Sf`Y((N0ctngCv&s)(6?A`U*8+-e4riLXZ$pe)%=# zf)D;fQa@3yAsA&l2f>Bw?_w9`7P4`7;i#+fwuycBV2 zFO5GL6ZiE}sv|q4BT1O4jGwCwRH!vgoM`LeC_f0tf7&T5nG3pcay)vRLTUM8+zUF9 z`tDHmt#@zh2iz_FwiKtd+$k*UUqddZux9yU8>b-T8R_Q~KGENYD3b#gw7}aeeW@u- zn9-apfr|k-z#2WIyK=3>C*o2gC3v#Grv3FH?wmY{~DFm?I@huGz0C)cyuDI}LK z#%ax~^n*x<6$yTS1*b@`^2KrePjjPA?Y|blKe1=p^meCE?*F`a`f>B7?>Y7y)H)*(@oa%(! zex8BrGJc8{6jVYC#J&gM=7HDu6RfMf1}rIB>tfsntjf7_gXed3>>lIdwb+*WLAszf z=z`N@Y;_bG-}uMO`T}m#aXlwdEBEY%hAow6WX7N7_YI_wda@ zbq^fY{Cx{IZ?Od?bHp?<{bS=9~`k z1`yyGmDIeCBVUZLa0rB$=&UlQhmt(v<0V;3J)LR=;qVH=@J{EZJeYN$rMlB*;qV^Y zENnLvhZxCiav!zHuj+Z1$}HpNdgs-2XuFm|o;NCgpBESyQXEf^>Pid)#H{{v3uP)QrI%sup5As9W!^?i?Br}P}-7S_t14DKsf3?1mlx9_TW z9s6q3>?=V;Ka6|)3B17ej+AlbU8KI3$TzPh#r^9f8DazLAVYtWiQg$44bKL6wl^wI z%>P)_St++_B0-LqtDG;Z&AF>yhT0ujU5c!ThR?NX*rj*zNNh7dGPmv67IQ9Sw#B9u z8~WNu0UNsgqhW05%8$0lhN>L2FHY%+)pUc^^q_jGT475LW6`J7l}XyiJHnDXr6ynG z!N2;pFr`@wwOl1dRI=p+F&|t(X+2J3Cx`nhgLSN+fmSdXTEO)5)8eJ4yR=gc0XAq( zza*b3Evg&dGgTv&rb-Kz#?#R1ab0P!mVCMn-^i!z@&>bPILxMaTtjAf0^_=}cmXxo z1(3&2#4rdr=t%sld+x~W>jk5-_kw_Zsr6fJzg>z^%6xMeySkD1NN=-_Ch~FVFqc}m zNdu*xyQ?bZN6eyBbPHZ@QiYX98erohUmTHlH+%JfC=&PlB}noB4z% z5MxwQcBs$~36sqxX4MQ>!)1fYuS1ZM_yrgh`)%*uIJauJ9hV=9m*Tlr%PvgsJs}F8 zv2x_CJaCDgp7~o2Ji2GXmID{FJ`v=YkX^d`0+@=-lH^Jy5X~By(rMX5dEu}&#v-ng zUKl&Ii}!N7Q(1eg*My@HT0|9^*@>eXl}LHpTam9P)jQ_Qn1;R^nYE)#oeMrIW$LuO zW=ga$osD3H##=I_wN%0-!%OI9-P#hmW4)}D(4`W>iG2yL#SBs!zNv}j|F}O=3FLIN zHNYL)(D$JftkpiHF#QBED1x$Y0yt4#G(4?zHeFkybWozSDp8Qi4d7_QQpjX8g&x0+ z5Zik@$h}y(0Y6&YJ$=SN2RgHNR5mkW(Mv7ajKJCfyI-nPnwrhDGjKj4;qjKWHfFsuOsnhGqp|+LEtLk^$_O2J* z@=Z-!}!ZcC(@zgC%xSFc8R|6n1d|CHzwKHuVpl-O-lJCXcUx~3t#3jwa} z^_&v9IX#?lKFvB~ZCde8wY4OAxcaS8Ke%n0DOV6$&-~IsHZ5(5L6v)m(M;=UEbU^` zik9Sw!QMHLrgA~8>*cB95ESY)s{0+vmF#WI7h#Hsrzk%Exx-k0JJ=Ft*K(6lNab14 zzdE0&{4gMpOO5rP4-k_^AWO;$VA?RW6D-JR4AwA>v!Nvfo!#;ZJ{?lZi8x+E?-a7USe4%|*t>A>wG#~=^_J-p9yoJ&=l z(P5l1I?hE! zI9I4Rr-b?VI-gUK&lS-)q6hfO_%`$aUm1-fdL2I%AK5RPlaP*% zXvk4{9rBzpYE(4D)p5jcM%wtV#q)OY-EDb&3skAN=$jhltF%`b;EKk|F=`Vn# za~aE0M(rIZ-dWLV7WX&2Um+KsxM{+^-{R-d-s23!R83Pf1NSk!jbU#|?6-_U(tDam zL}P6dHC>S()(gdhjWHY%mQxZjdyK@2KwCzHwvGsG522SDV-?i!KF@>e+XT*ec|sX0 zD6cogy|=-k979aV=_mw$hmUx}i1}#5Ev4OAoA$d~Nc+8EX-6WiA~{D_CzF6gHmsJ- zBi20|LRabDAaDcHNDjjuGh!NJqflK(uMn1w?<^gn#~UrpxX%smR`ln8EEvSu(r7Zg zo4Lkcsg0ADS}!$|@KTg?bF4Jk z@Y3QM-9&S~Hdh1c>#!zw3<$f4|}dTz*7)tJrcUT zM@7yVrpc{H5zvaY_}|y_s(uGcvRCXyzH^-KJ%Rc<0o^)A<+@-1*?x&WiL?{QLDOTR z_Px|&t}o*@KsOf2!bPjyqwRQyC(hQlerkQK%F)9p#$AcjyYKX^xTeXG+cR zvASJD2{MG*t5Jz4Bd894itC$%GV^S+b}CoI;Kuf>M5tE*y1!nEvE5t7?&&n7p|;18 ztih0mf~Op$qrR#pB*To~Jb%Xz)_ISVW~2gV(WWYzxf6<_hoMR3L(ITpBekBJVCInb zoJ7nH)+H~o?!KhT0_R3%1YOFU)oHE&5|+T@nyH6RI5ZXLwSaCpyh&+^84|XF5trq8 zut<4uZ~Nu2-Zc6&$>1UzQYdw(LUdG%s@9id{b$gBQjV>s(GpD~FKHM^L+pTp^#~fL!Y*D?w_{1&Tp3NdSJo~G zEm-Bf`N7?)jd3<}ngvlx(%v&L2}d(t$MVInf`(BC8>nN{cdGjCpuP*$cW?DwuD(aB z?`i5gsJ@q|@3rcCyZYX%zF$}0N7eVY>ib9aeO`8I*bRF$eSgE?<2(N{hKw(AyEcfM zcO*07hPiT2rHkHw*_q* z=W6qV5{ea zd%FUq#Su9#op4ycTwpmBatAE_zJ~T2EoB)i?>SQWv|T9W{oPDlFl_I|wE*Q?zq^U2 zr|mr*9ckO;r$kKs))Enna*XT?p@R&qlN`%oRhr0>Fb{4?E_Z0FRE{sp{IU7IFpdC+q~X{mgto$ zXL>V2Ub&r&@+?gjuyH@#Y%4WZSMWO) zuFH-=UD%~xavfm|{G5%M{(}GBhxc5)fxIPla^GbAA}om;gTS`UL7>~#Ami^3DP_oh z1B3VgY!=PO`=7~1Tbs8~a&0rU%T%xlG&3v^o3c1@fRR~C0IQ79_O9tIAY`$-TMJ(p z!2hehSeQ^}caVkN;(Hx|8D69MJ}BMdUPwFs)%59hoVekkigu52G0?Q9i#z`yIkEvN5;}jb#ol2cBv;DrTyBC>m~;py3wRb<+LZ zJrD5T2hr#YLpnqsy^TD6r~2rA>7xgvj~wmB?zbWJUe4D^h}9q$QNjJ7|-d zhLDP99M|-(OTdB$zhG-~#r{%Hy7Jr-{W34A@i|yOw#O#-YdhFMbspl1Jj{O|LHTyA zqq%ocpLbM!9+LVzEcJOLQlEEGpTkg}RVFLT%z1kx^g0{z`Flv`Fsz74eqaM2X(wmj z;e_Kj5yPR_?=>FiWmik+MIvNeir`8Fbo}0ml5^fZVH&e)@*+Cf8B0{lUyRLxP{l({ z5kT8e{}tzQ?-wMyG-!+ex@-poi5&QG%XZwB%f?#xVys6{+m+-u*Bh_^sGPhjxv(Ip zoCz1Cg39@DVNRo_>DFH5A{ zOv~(?kroYSH><;T$lRaK0AebkyT~P2qffD|vlg;e2x| zINww_-`YxfzNK)!v6b?CL*aaTD|vAk_1AY)fBloj!QgkezrLe_zAHiAey|t!T@L!L z?t<^CEPki~?1+VDqGD6`NAYdg)csLBR&P`H$MJ30)ctWZj@Z<_JH8E@x_3w8h)vy} z#J6En_b1UfVjuTs@om`0{aG}Q*x~(Yd>eLne;SP=Hg)fbZ^Nc85TH^0|Kj!bk^wRD zgTGV=_r~ju?%u1q?&opQP53|AQU1B)@(Yzl^nCih_%_a`?~|RAv+-pt(Qh%_ZZ8ik z`g~nJ-;~d{)8IZq+!NtGN!*j*K1JM9;9e{4sc@ev z?h@P;aqj^4>Ed1p_W--u6f!rLE#|3txY%NLnumcc=A@atZ7~zgWNV8hZ6*eC!+17R zge_*FndEFS_sk?~iy3DoD_blzGo9FCaGSfE+%TKXeQx;kO*Tj?4*xK2vK=)H4*yJs z&DJnD{M8KW*DyHzqZl?dqzh+-gj(d4J5bj!a!A|p+forP?~B&t<8XtzL= zy~*XN-tupD_1wvlYnU#3R~cp~RWnG0YR>QGAU})N5HY-CiRRaqk|Bm;@q77@XB@O1 zG-BMgiYH}CkUt)e&*MYwr&Hp_+2}InSLNMIAMesz9pPiNQgm8e=3l)TasY>K%;w8u zTjGN2fvK4)k<}3W+K{+0)P4ph4jN#_hQ!;Ecv2W%Ybu*;Nin0N#8ZqDByI? z-F}+-)4vq}+b%n%t$IazqQN9rq&cMt32H>!LF!IWGpv9rxC_l}$TTZd_Cuz!+hoZL zMd-J~IZuZqyjyipn*=eP{f6l5&rD}WYGQ7Q4YjZ3)&~pV`4p{xBWml)Jge*q&6L(p zGEUI?F~RkErS&lp|0)4z*h|isBpi60oB9hFXd@1a~;ae@+qQCpd9%G@fFSIFA2Y8)fQkZOS&b zH1U*6i8nD$lqiAg&6mVEk)x6L7Zg#R#fgJ0@?4C>Z$skEGDo*&v&}78o|`H0EaL=; zTY~E?mc%)cW03gm1Z~6hcjg>ZH0QW0;2dq@X-#O>@g zt8EI@zmqBd5m)qdg7hAB`Q&qkBHmcE|E15F{39I~3<@LK;?l}Y{*k7V<{@aLj;gpc zC~PiIHUW2nYl9my5HwBi^NQ{bUT^#bGDLa1T&k2eZ2wq3DKq_ETGQZ33SSyF{No5b z^VK#z4`3_puaR|1*@YgD&{O^+bxY0U(BZdm-}P*nfbPoPC0%uz>wi zLahV$l}({GanK5JKi*V9Tj7jiCGXvYIj);47MaqOPwu8qmThlo5C?l~A5a|cQEU(Y z3fBS$PBFnxjRBv&g(18e9fZ?Jm7HAlRN1c?IE}u86+V3)sKULL&*Z2;>rB=eYsM}o zIqF011E2ehUpZr|ACK!UQ(q`Wo{L9x2SMs;mz)NWaHJLj@J~lRX8~f)vk_tp;Nu+-q~57g-*k?OrJ}GF*n15aQN}AR$x2G@ zkE09+*Rvmg%M%T8M3U{&$$F~9swI%@oHzMd@;T(sr8YSRj6SDcwu=i#$6}U}sn3tg z&ryC_03h9BXZ5kT=ma6UphzzlMKAZ< zm@!|nH)7kxw%bkIGo>7t{}2+_S%E0gCNu5DFMl#>bS$nO@OU73d=`Y8({-M z7-%1-!+*nlilOScY8Uc6*@ZlxX?dpM9T*J4eF7E$Qh*}Wu3>!Opjtj~aK!El^uzqU zZk%19#@U78IJ+UAB4f*dZP3_1xL+=mv8B%uV0;}%b)`XS8BT8C z;`+gKaWI%JmB9qO(rgO3RF9;=%Y>3I)1yl0?s6F{7Yf}?Qc+brCg-~i?}~uvt`wq+ z$(|?Z?&h1NkBQbUucx&MG4*bQ>%_EXMCl7DUSUS}P&;BqXFxNTk3cgQ*3rxbnr6ac zgDx(up$nXl{!{4UQ;IG=%^jd*erk8<&C42>gC4q55NCcuF1ILjxY$-`bJd$RZ zb=r|r!ch`T^)RI#$)Y1h$s|AyTf7N0nM)Exhlhxz6}IlM?x)DaG1mT+%Us=v2XSlQ zhE}l$c|zx{#VVAO!5<0OeR#k_VT`p1c&IjD_u&B#hcVV6;NjYU-D?A=_??*endWGE z#L08k@P3Y~2$c`@Ffoa9KrdmV!<-#gcV12e22J0sF=!eK>9KRB?CD=^3_J=!r>pW$ z-D!pwp6MP5q9@{qVZWl5SN_Aa|4>9;xf^;g$a1)kSQ=433 z9{_0ks@YhoE9S=dEKTAMar}pe$N$XM?fPS&B|tuY){wU_P?PEk{>+#2#Bn(VZicv0^}QEkxrI}fk=@%GR9no>nz>vCX3_U4dyzU>$=*8Ou2dSqS@`V zRX+!&WR-EL$#1~;Xg7_Xtm(HJ{Ad*hGHtWhHT`CT@AMY;kYQl1{}ombhbo!g;+r<{ zIL2l;Zf7)C*6bcTwQ@53seYPwY`y!i%Vs6KClWXvGI7V2)5|aCK?>6*(Ik2rRk#jK z8&;eD5vT}owH>)>b0=^&RVg6KZ zG;)?%{VbplgnJ<9ThuEzP1WYXpf=Hh&Qzg)t*>jO_^FYqn~tWEU)~d7EYlbn)Wzjm zxn;+7q{3}neflV0F03jPn1(g&7^$XtyQZeX&+=LpGQEvpt#)o^lBS@i63|kS!#%OE zF8WNgIsQMlPqbxh%X^W0WxP=p63HnNF{p>p-~VIVX)=*k6RKb`2^+MIOvX~oky}@{ zXy@=2Z8AD6YSJ5nCdK@BW-!l(l%Qt#(Q1YtF(WnKzZ{+KRqS!mp3SunD@VrYtlkvu zSD9CFycFIWAFKM=EGK2u8$E3GoIBm1arCU(on}ZoZ)@uNF;^lk`kPkwi}%p4;w<$3 zQu0=g-9z`UW%@T`f25JvSLK#Hf-B};+(x$}%vwGpU1{G_2jxvaF6M@ni^d01 z7?3)9$5$ro6)1YYDHNt|4lc+Q_ctO0Xy&|E7e=Yux_kAv`c zv(|!br%aM$pn#~=Dz#@Ve=9ZsIUr@RTJjxn(#T6~M9Oao($>g~2X>3A-|DrjF;n@Z2=`wJGo8SG-6 z{bTt|fp4I6k2fp(?^Ppm`m5qKiUx_8-sItqXlciuK~ZkldK8xVXaxZ6)LFCgm%ViV zh{bOs?W{W&)fnZh#n*or*61^i(Hk#1OxDW4F|=4L#*JzytDK=kD%ju}BQ{53C(svq zHln}RWj=wV_ef_AkPSb-AtFbRW`+7NKuBaC>ds7E`!M#!aUC z=GEhN*Q%bc7HqLTL4D3K>5HgYE8S<*$Nh6m$K~DxQKT|Yi{VKe*XTxxfn{~6cKi?Mh``sxDm*_Ao<@i$x zGwY;F<0^j(M_{d~1zF7~UE6>Ch;?museAR{Pj$ScS@9BLr!XGAMzfK(qin?@SO@&7 zc;F-AasovV;`no)B(( zJJinA&zZ6a{w0oK{o71fhpK#L?-ACvxT$oOpoq9zsQg9ag*T6f;c^qE4Iw@Ux)bDo zwR%t=D!N?^-LPJpSIq;{^kXrFXw&o!@bpyMsp&WTO0E30nfk}ojfcnd6$o~uMv+j> zi}FDr$fiJXeH3JRzYvDpLCH!izKb>1miG6+C=6i^#jA%UW>#*SL~U^oHsVyK!QQiDK)uD z$RUC#LfDcq_fB-oY5V0e?z&=Kvt-=;Avz&rODRrWU)e`<1Mir?=Dm98&zJ6nBL6Z{ z+|s_=h^q$WKB_|KNW*)JKx_0K+}WzV4CY1MU4~44tw!a=eFL>Q%KV4Ak@+WajOrP0 zRA%lMT(qw<8>3N?)4k?!=>$J_m5#!GX&r)%>Ylz2}|yu&|Eyxq4JkH+LT ziBSwb8IH+)q97TQ%=2eqR2(x5UvqaJYmm7!Jl4*ZomE!K0%V*2`rp94%2if5WwH3# z)f?xNdhf|l_JYo!29|~DW!0W-%c>>|Nhzz`WwDFo%!h2OH69AadR&)?VNHhrRUCJY zuOyag^@JQSTnvthj)ui*4~8lZJpWKTSTwa7ooaF%wq$9i6{@KNzZk4tX6aN`+9I27 zk8cY5bzDeqwc2|y*%tdse*4G9(-CU6#JKd6ZLTclK!}IMyA2N~r0bv2XQC&PuX-n_ z8z6>zYxIawce_TO?EmbZ%?uF+xh zy^(3)Kl=x4z?*N2N~*S^E%oGbPgA%7LfNIo-6II6#znglg;ig$wZLF%a?Dzx7#Yyj9oct zf-aClbi#M*yxoHK=vQ*t~aBS8b*R&gSl%x95>g-vf68SPE z(ooti$#bdYRH6YVq6_b6>eH{1`H5}SUA%(MF>*yt|BTbkIf zO_us|YRCdNBzQ>qx5rtilj3|W9@B4X+w18J%+2;aw5+Dv&S5wSHfUo>MVCV6`aHG` zPQWYY>*XQ%4e0W)AT+i8HW3rLn5ffJ*flvLMHL-87ieefZf8H{zQvWtZ(-Bo%HxOc zScILEDNS=Donu<|vQI6g$<{}+kjA`@t3ieRr{0cVQrz%f2 z*2;dB9Fe9s8v3}lC?KBTi}GAk_T@wuL@SlCt@>?VGOpA;P zZxwoMGt&AFh)5CQQ?;vMy%wIiK(B?ri{fMb(?%Whz0d>y`tS4Ex_k&Q$26)wR-n}% z0J11yvgO;9zq5>YnOnyxo}AE^hMWZNUx1DN2wQ$WWwh`A2XCAoq3A6(f==}$7eFCj+aRODm7jtO)usQV1|6&e3JD5ZJ>gQ0NEjwre zJ?WrrOrU6_V(t9--C+KFj_1#x44Xdz_kXJ9PZ%06j<_;>=Ai$5WjJu~$6FbWyo0m# z9iRVZdq?x}^OWVa%9W$Th2HZ_pM$?vTMGY`VJ6T3^im$eXAw{hS?)FlkQATrrdU1g z3+R9zQ1EA2KokV;+NkFy9*T2nOhzdg;4m$N8v`h6FR|k55Y_bCMbv7s&7MY6&Kvyg z=uhuxb>yf~4e@(7vd8AS*5*7puue5k;8JYN@t`Z>p|KpsBNJe7&Wkw${0m#aY*}hT zp`rRSu!cgT`ZmcI7m)A6j9sj}*aBOB0U=j94xzp{I;Ct3$Q@CxFYg5s-*Sl*RLQxt zx&r1PiWta2p#8kaK{sIBw#2-9a3N@nL9Tmojf)Lpn6;4!`&v6#2Y!qA^ZHm#J+o?- zhqWz;V^FjJ{Wa+JgXsqqGEkm?B_ytKLFoZ3vAr7OtC(!=(Zh{MT#Hni^ovS$e$g1E zzMZm&lqI9+EA29Qvf_D3fyN96jU5guBu9XyMu4S9fMrI2H4lf49sw;oQc;X3@Min} zCuA7q>=#hZOxeGchv91Ohjxsw2IG>&JMVf*jOd9e90%gO9DqhDnpgg-IH~_3PFmuu zFa}i!FA4Zp zwF$p0(8oe(C^I&Q4DuU1NJwc#d86dgT(r`gB#nD&Q+`FDkJdt873j>c$X65ewb(H2 zhbC*mC^U!ldR?M!9|12R@ZT6*$cBh-2qJW`=wbr=TLJe)z=;2Mi65!YKLoKqEIG-y zzflJZoA5nd{46x(rt^*%{5ck`SRS3JWjMZ<5FyG`Bx-lc$mydXa*4d7PbGd+b1H%9 zV36}(WR~sf-E#Xy_MuFrn;rk^0wY&G8q{?oe0ihA@cS``<}B}7KFS&aVGhz?U%C1a zeav(22**6z3V%R~QZ7_p-YOoIBqv+3MTudO(6Oz=^%)EA*YR1koUv>Q_E<+cV|kSK zIXi=MoZr-+<0!7XDL4jtA;O;)Y5uhB$cDOmKx|m<43uoEigl0oNI2FehjJa__{=7` z1*k4beX>K78tb*ZQenyA39!1&Tq!M1Ie9IHXDN*%u8GDj+xnWQ6KkSVmwoKBl;^g% zJkm#V6G))_y{XSMEbg-ooIf`4azD?3hG`Gk%>=0K=}B0RPc||0uvm8t{<<3~9iS0&LcR%?dzmC;)a4Ag%#%1u!(gPykZ{ zOa-tsz*2yO1|$@~)&N@p91U<3z|{a(0g@V!RDhHQq!b{n0qnS1ZI2bs@&17B$$QNX ze_HU#dB2a)VlTd+?NJVEO8r0H2yJxzU-Gt-<8?W~!SB0umo0?u8e*MO!nb^m~>^G#1Hw2out%D{!%>eqbP*>J~*=9>dNW!O1xdP3g?s@^4w45INbk( z;Qf*D@`UFdMnlE_lYsxs;86gt1o$rk{wssK0A2;~2Lk?(!D9mO-vs=31{VVGKLq?w zRg3YiddwBn!U$^dFG2mcLY+vc4J~E_)eKPoBd8y7W|M-73<-EMgQo-)i8%~za3JWL zeu)B*NTYz8=u;-}YzF82W&vjvc$xyY2)I=xGD9WO<{+=RE*rS;+Yy?US;x;I27?5_ z%V3RkWDI&}4L{HD`FIj)wOGyq)=*CVTo)4VF>{n11N;;Ka6A=wC@p24Q97% zRd*nyl0%c|j^s#7xZ^*HcS4rm>*Ca)gqdNi!}mLOWJtG$SpHOQ{amKhVc;GsysrN% z>>`ZAu){+Kf%=bO3++YA??#LU!x5J^fs@%G0K(;sXW-5N?kHa#)~$9ao3(jh6K;~5 zHBA5>+iz{kWNH1F4YmI2J@`@au{*}0mYDB7;_XX;+jzF=KW?hKuut%wwM7GaBf04F zB@2Fy z1iq61io}ui3ruddA~&y7Xoy2?|JT?YWqR;mH2H?;92zn&F`xAlJWA~9%NQlLgP9&6 zVt~H^HPLqyniS;jzk)U$mtGpNKg(5&LLy_PBaIXa{!3g znB-v8=a2|=2RiDD?RrkEk>%#tjj>%{)9(Mo=FEz-`}8PN ziLeoMxr>;tBO3~Ds56HqJ*76OIks5?niU|c0a*oT(SQ~OXw`sL1!&WNHU((c0Cp(( z74$t3bS2ZcaHf=xZQ4=3 zNI6({*uoT#!4--yFCp9N+d+;(Wdi6C0EnXcPLR9m#+l;gj@y33QcZw9CTVJ1p2h&e#OKe$0O~Ua5R30Th_muNJ9et92-&Z&p9%nS;enO}3!Rv{_kNibi%sJD zE8&8Lv-10Sto{L`J6i+#BiKtMZC+IA(~Xp)~W=)RR+{MGdg6l?ujbJ z&n>TOXN3CLODk<>%IrOQ7^(z#3plxH(c~VkPi|T?x$bCk4@Z*g*2(FLzQYxTnBpyp zfHyOE#{g`4J4Zq%u0SZH=gW7fZ@FF$D~uSnGlz{IvBi((u!$pveUif<@?So#KI|qA z8#Q9sH#uz5h+)6ruqh*kJAqB&qLlQVWsW6qTEKsLD;?!xB`2dxB5Flq?#=K=`EsEx545|z#g&78+`QA1|yg89(L3O1)YZ@RF zOPx|v){*t5;V^2}(YO0ES*MK01@*O#@~4=*<=oSpQZX|!@9$-eKF(4ytLTG+%$g`K zH7!+EaH50~V8<%~)>QJV^p=)l7lcym^HC{QT?Y$f*?g>f7m;Ogp96NrC$o$S@x41K zi??oE(G)fpHX8>l5XAC$GnDspGg=MtMw+oWjEyTU9c^4rYPw45|4j8J{g)yZM{88` zCOy)=YES9nSmzy5rwK+b@{Y`8P3=>tejC4_H%=3mv-3|7fwR>=L+Er9{$J?prb;~t z?*z=yU3!LIf*Ja+n8N{LxOXDv<&${U^FP2m5-$=-qLIX(?`^fHDLzC~9II!lqSTp| z@qE9oHR=By^|hQ3MO~+RGkTp)Ra5odr(%U~NImyRlp8gXB>aEH_!fyb8LF2m3l9w^ z;BiWTM3Wx^%{##1?VaV!tp_Iq?O(H|2pXjW8iB_vv@Z?&p_1jUZlZeY$-U>Xc zSLoeN^vM`p#mrI58NIr`87*Mx0W1 z=wqD9a_usd0jk22So;-r@-8OC^(9Ss=Ya4&0^tF~aPMRg-YN7aQyoINoQ{4QPr1Aq zNznr5?GJI46DsS3HUtR)#PBeo)`aVC26Ic5&T2_{F$-%Y!#fZwq_(WR@yCIpU_VY_ z-3Mh8wDdMCm@iI}%OqE6LDu$sN-P5EhRJ3EpIQsfIUT(%1paagN0+XKQ_dEB=A5;8 z^JZFbrG|2^g$u6Au0+l)j`w}&^Ee@C4B4x7jly~~l=f2Z@iZ58V zc@FX@*}h9(?`tUVSn>FaaglNk{i)oJ(aGmAMo!!5wea>ZRzh0Ut6Y8^>mA4R3o1$5 z_P|eKF=7><75_pPY~*6hngX}|3&29oK;NGR4W113x|2-$8QUF5r=YZT~r3<9BWU z1$<}gtd4Z#abb`d2?w7FbIV%w+2JUE<222#h4A=15lSY?XrsdReu{wWyEToU3yMe+ zXahhD_bQ-`s&MHH1wkcnVkPkj^)8EHy)H5824rAvd_B-s!(3%&v-64>1WG%(jX%*r zcR2Z|rz7ea74`Uy7QfX4os6e)cXPShxZE|R3QG{^cRPc=Jv=8jS(xtqX8Ke&GbOYp za;0(RC61Q(a#7~ynlm12rn{+Lf*1lu3H5f_PKU#H1*<~rsh3>}u zGCZNoCayew=A91iI61LRM32+3E*t`zvMo-?e-bolTNdYK`K^GVaJiPacNTU!a{jOJ z$@?!sB%2Kj^VHD~U|Wjgu=YOe?gCU&LH>h?LvtW~a7b*j%YRy+&je7o{AU3jI21kK zX7ZOP-1Il`b`ZxHSV2H6f!M;WYqGxt0PNg~jaz^y?cX|)9dIfY{Ddjn;H#|?*ui$_KDdxvH!N9zT+q{_C(bz?+B{R zrgYhiuK%u}z6Vqo+bF11-xE}atr4>&V*mGo`aV$I7FW#d66*Vc>aww2Hni*if%l~* zn5H)iGyY6(K@tMlTHI&_4L*X4U7$f3#APwc(rDTP*OA}<8HW5s6^PjFXqq#NK zXV<_H$LNSzOUInhm}rdV*jS$>u{A{fj-EQQi7=|&XiLoUqjT<5;c)c6BkTp z)7jLO$It)%(B{q5;A7B+=MS+^k{rst703of)(wOUpSUA*0l^^GHLATW@O-=h>IMHC z%PgGMHMDvuklXRT!8RJ(giu|hUz@%0ZVmA#pU7mD4Y}A z8r+j2R-;DU?8<*?Qy?LaLP@%_NT`dZ;fylwa3X0K{uC5pLgli<^v$3My5-#x!So2c zaYF6HFupQwRdA&!h-b(vSB__e42&CU_9yvDTfceb@g2Q8n7JES6bpxuaE;MsUIlz6 zh>d{R*WqB|##J@7&A7Q}9o@WfhuaYunC_@Bl{?%>?agw5ijnUfwS{7oOO-W;k5Ih` z+AWdpu$Ja^f5S50K73d3>nXl1?0qH0clLSFROA#Z&8uUlb_6}{Po?y!+YMIeLOory z!u!rRqlJwJ!+*q)YaLhdv$po4viT6%OPI^|LMWy zOUsPmTK<{5hAKNwlEr8W;)UePat;|TB%Sp=dYy6}*is4W6o44+eFE#0GqDyYsXVab zrAQ3JRXNjG1QZ0_3z+!CC98TNy@bXmTjOjX?`fPo8Gy&n*o{KmNkU`F!M*# z{{)1KCs>##SqjZ32$quLt&W}vw&{2mApw@?O~>|M2J`$RK#=ZfM$1Q~eQdxFAl*Mn zx{i0YOiMhEJxaYs0!p?~#Kn}gZUu&&O%q_7*KP5$Qg0?!tRTt^~uHVCZ5%MLVnZP~>t!xJM!op1WkI^UBnn;$Xn#qAr(^{D2 ze{z2c>*7a&lpMGeZph_%>gXfg@@mudr&)4mB%TkK4FsmSC)Ez6^PG=B>KPBtO27-m`~FZ)=g=k-%9gP=7x>yl8Kb^V#3i&wY_x-%{5 zq4v8_*mTKG4qSp3c}oXnhT8W)PzFJlA?RHl)G*ZkWdt=K=yC-8UI#S}weN|bMg(1f zpg-uKrlEG6qGX#8bR~k`&_T^As2M?5A?TkRRBlZAS6Ptrnd#BOH!T3K3uZL_uH$D_ zS+j_LHR6AygIZL9S`c&%g8ofGjdpH-**zU+ZaIyQBFU(w zwm*@SV&<4Lv3$gqJb4{;ERD&97?T}ozT$yVRyl7q4q{jh6->CUzaGy(do9+}=4}s} z%iA)0{H&I}8f`^~r6XIUBjoE0*`pvF?O=&k4t+=T&nOc#rKr-#IHcZdPAsid#T&xkyyrE?r*#FJKXg9CMX2 z30i_YmXQ4q(8ei~->nU@R05fVhD>Z{Du2F;&E*Z)wXQBc8 zrfcV#;wp39RnQrPM=|CX;q)#+LU&4prZ|6O_o-E45^TDLv2X;rmw01rmpE)X5A;%C zioV;^mze26wl^EoliTLaLEq&nKUl3_OUi|Dp4ME)@3*k8tv1j{S3b~aj_dDaX{{TK z42{Wik^Mf#z)bKztNJPM*14d!6+~k5(2FiQb;)PNlopicw( z6kxUn%vOLo8Zbuz7HGf%1z4y73l(6I1}sv5oi$)*1=vLcc9Am^$XDad815b7EzA4Z z8tEAP8J<>p*gEkSfmV(;4DUzSNI3`B+iyqZ^Mm&QY2)>D8AZp;Pte9uOL-T-()yI~B# z=hL81R|pp<5qoKSPKv2jtLHT);2EEiTUxD8YM-o8lT%c!Th@%$i(vkA)8 z&Zqhwj&G@4vvF=ZLeV1F-kA_!Tg;8^HIVY;VeLsvWYwNYZci?>xp7LoCf-zIqZhA< z#}`CZOp z*(tMXdux>8F#Q-gA+{WsGoLE$J3K2pYX@1`A?ay4l`0zEm$EfmP)vnOmq;$leLd49Wz#J4OMJc zuIGI4*WC>74oB8sC_pI{?oOpfU<115LGIW;9-Pm)&*%CgH;hm4r2{ozI#4mHgEZhE z1vpp(4px9eG~f^gSf&BX6kxdqu!HxdXl{({7U6YW%@5FBP~oTnijk*3HysyTQ7lx9h6>@#~CQo)GwhHd0LMT(kHF%)?oR`}{9*V&$L+IW;G7f%(kK^6V!{NuZ!{NulaM%|Oim^b< zF}6F?$o`-as{T`YAav*>GQ;~JZ5lfjAmIg$NA;T?9Ed{bo8BuX|f5zTF zBwMPYN!4STeKMfg19AU>%X0wA(_h~kTP#kH8ImiR!e)9^Ni)Q}OMcU_9F?W|PeOZFqKWc@f;4`Xko zC$!r+P224Z7R<=@1YM336yQV+I8gyk(twi`;A9OrSpiPbfKwE}*8pDuPSt=@72q@t zI86a68c-2{_kfb_syd*mFxP6pS_N3A0qYdtbPYINrNt|+vkbYxyTrm(99&G%S8>i@ zG&%a@{p%m7{Tf4H-mVm7_APvY?KwwYtg4XRK)m_1E$|Et;oS)`IhQW&ZTb&|T{hp2 z`esO&z+{Ux6-E`X840A-T6uhBpEZGkKjdu;pxlx50CCkltl<7Ibh+=zb?Edgwm*s2 z_Fc+dJjL+##QIQ_aEZsX{Jkt~`vbN%_QDxhXK#~%i)|*Zgc)|Rjj;E|BBj)s^!Kq? zKerqtixx7=2^ElS8m@p$>!O~#Ab4wdzV5H{RR><60T(F1g&J_70$ij47b(CeHQeoHQ=)faH9s? zr~o%eBH}Bc*i?Q1ht4uwD#?^k96p@U6GvUo~`A*z) zm#^ei=VG|;=LY(2CShN^RzIRy={`a`s|WKqGyE0N`1^KsP-9!JF*;_zrz=rQeF=ZB^$xlDS;F4|M%5g{>NJkm{4Xk;KM7(@vg^FOuAG z0N?&$?Ic%6-!Tl{g@&mvMH_utrl&8VJvWi#EAS5hL0{BIP|eN#FLNN?Ihg+bma;tr z9R&Nctbi0!l7#$~E5OVB11z=%29UQNf&nmjQuqo_c|kuMfVS|?m$OFJuR8cuq-J}E z;YBFbY$bgsJH_iv??CMH&8N1i5YIZ*KM3B%@a}np^2%GlACQ=HAm8=b1J{=)vu5@^ zxKk_p5^9&9z%@~aAMYQ^SHrmG@>n9{&cPw2GyAcaj+ejULCE`=Y$jKjcuO|pAB+{a z02{Imxx%ztvJH9v5U^Hb0OfDBlC6!o)~3?w*~Vq9p|}pK1JMbXZF~cXa?3Ak zZOS%f8?QWm=6M838WahQnQ^VXfAmz&E87B#UX($DZbrp(D%t8%fkqP@K#|m zePUB%OY>0fgUF+_UX^%nZQ@xMABo(&Vv)+W9~P^TS&I?Y0zFwgQm zh=0X*m}aOul7|>OTyChds{|{4Iw-1-c#3KIqlgSDcZI!MtH%ur1nskIe)ZE5_m@I% zMq70srV7W~1A4voB#&EE39Zi8jIyI@y~mN4Rn)MzA?e)-i6O%nN#4nB;DM&x!bXxU zmVY>C+00r+gY(7;I_d8QQb>4*@Ks80mCIK&!7}mY=$u3>b})}+C`C;79ZG(O^&&z> zhFZi)nb}JSIMllSFJ{b|vz{8bFb14BHHk&VoVSMEcyp9jZag&VP;R^~8l~KL71OD4 z4kb>Z+<2KYTDkG8W{h&wGfTfUC9=voZv?vdruM}E!38?smHs!&~kV3oi;QdoUw+bFg z6?C)UjY~nd3tqMqbi?2wOF_2`o_!Q_(@a85rEP{GZoMCR)vYNWX_;V&Bz?^Fu{`)O{@dE~ej?>Gufz-lJcJ7<@PVXf++9 zrA>_F#2ArS>_PgyO22>7&!t@R^y`~yVh}8M3PJ}EcHRnt2ZRY*L6{7L_}1z<8W^v{My8|%2)r*=7v29f8hH`dzdkHd|3m9K!lM3So*SC- z9HUKnayUQRv!z!HIMtKVzf{{!Qm$QNQ%{w0-6L5RlD#dGj46$cB}!2dlT?|f|KgVL zrw_;PkvTHK`mvXx?IGo>I_AULe{<`#HX9Wpi2 z7`$9zaLzA>ZIx$_uHsm?rbDNS#1X_-WqxtfjEIdB)reOewbe#c^td`!yfmyA>`<); zbed+|j-HG=wjT#`eP4({r)kbR43Epy7&%Fe5r@&o_Dpdc$@`C6&zq!w5#hXJSfallubeG32nqfMOR@Bu$;OMOuLHFzA*e7lc^#Nhs zdMMR@{bN|swZ#0RAPna!59-8>C?N&AeT$mn-qBb;4t!v;f>@+grnFXq#z!kP-U#D_ z?IC*%?mirY{dywa64VGCtJkW~-+UP29miKID&{dH1^UP15<(?=48$tsDUhdAxu=o4 zL%Gk~m5>%F&s+)^tK85;Ul^x6dn2iH#IxZswS)1L-oaqU!N$Pj*buh8{T$x>eOw1W zuJE74_a0gjoa@3E2`{QQ@&fz>ZjL9y)%m%aX7&4)L+HDT*W??6c>akNFUC*eZTb-c zPUd6*L3fmBMchaOImo@_7;Wqjg__vQ$az&arc@@2Q-@gM{Xt}ZHnOo{Sc6aS?n9!C zt6v>C?+jP%Z^Ze&_fozSte!-)+5WjWHRol8BOZSD6K5N6hsSGi&yV85Lv(z;)Q5)9 zDOUInNbJe3u8V(8G(J4As*1hR~t4gw?F%!rZwYz4`Ar@PpcP~JRy(^AAa7ojLj3VOSue7e=qv(RNt z1ce3O+4Sk2=}uyQYZhx&;RY>=8?+EN$TBx5ED&zMvT&kYc3GQ3Yimm@Kh`N{$bn}( zaviRmar2>6=@x}@vdu$w0pssfjK2%;HgR<2pkvesS5=5=WAskMdQaf~zI@-)zlTC5 zwOZZjr2lhqmYcJdzkOWRh_qx(6m@g(%CUMrR?VkCV!@fp$t=3qT#KxDBSjT}j_<8? zl@wnGU*{?bK5Lcp5>_}TY@fbXtYZdn?Ah9uZ6m61)skjk`h7^h=ZTBDL?&1OoTk2g z53+#G85No>?-QD}a+hrEwoSC0#p^`?`Ig=E~06WxNt? zGg%o}tD{kH{R0~~a?~+>$HXg42;N#I?+1HtC;+?V4PvC!6yt zye*VX`BieTmR#>_Y@wx9xgh3c(=6fy(j~-aun2 zV$5bDg!5u-DGgkH~1~0Uy}!F$KiaF zKNz?mPkHYP@}%+mA_in*G~be|mTXr=mzk;>@AHEc8EbpQsy~yl_JF>?l$Xnza)F4S zqOX4K4&f`T9!D8>PXw(L;9|1HZ$npoG}_*^ETs;h3gtoh`rpQjkDY4CWcna4ek(gt7;$N+Q1PfEQ|U%~T@lxj(~VYR!trj2v${>>mUjs8 zJ8>vU#tW4JG^~FX8=QRwx4!&a{~vAd0VhR~{tx$bp0KmqyR$R9OIRc}GqVfqq5>ic ziV7w`RKS4Q!$9LKnATk}qY_k%sHh0$fa%P7W<5nPBkJlY=IohH@8EsDPgVEyEQ{y; zKL2-Ns=KP5e(I_8)KgVYJq02vMTBOyYycBqZul|98(@2C?#X&c)gPvi7u!NV-c*hj z%g~Nq*xR?+tn(qgm`w6SMu{<6UR&K@iQA3)3vW&Hc#B8wn&zxEo5nCTq1xVZRtnTv zl`jVqpttfFmsHAq(8hJWT4CFxOBBuBX?%W4T+g>XYs+fx%>6hqA2~}slCQ53hU{Wxpn+VvN5ArYpN|nwCVxR;>JXTWM+Hdil)MjQ1F<*%9Kq zH=mSD%TWf8_Sc(io1?_5-0N(%a*vdFHt%1!1DOH(Vigg#fud}b z3yk<}BcHFzA7K2S4>K%|sRuJ!@WZ6#-oPu5BE(9$w+OH3Y2367-Mvjv6BxPYX?=c( zUOe9`G|lSuPN&%OWkx<`aC1es(AV@1bX>WroG{Xxz{dU{Y3}zi>JTMy`kHr2HEGTE zT;z`t2}Av>`67XWeJmT$3p(_}KqR>q-}Zj|hK(Dw!eIm^f?3wxmCEucwu^yE<2#Wo zDMn(7jeYM_NVLQ+S5tU^kYo$WOt?eYy$PTUbV8svu?E&aS_!rl&#T_(F!lklnhA^@gmW( zp>`sR2`%|sYKYs)=e_jAj@-Mr66yb3{>;=rCab_-~ko>$cdH zcXULU%)GP4?48&uw(O(ZFJ(QN;_&jC?hh}+&xizLksO|yiJ|7b&9w&VA`bPDREqix z*k+X}zjlx;k3Ck>8nKp#ILE4ty7vHzW-z^+C~?@r<(@1Wqcg8I*x-n_9NO7KBy`KH z%|pY4h<8&MdXM8a2dz3Wq6P)T10R9+a4hd}oUITi0+KWvcVf$&q}K{@!imj+hIPKo z5vtan1+`x%R%Pb~s`MoftcMoqDnWq> z(|w40WWg!;O-41`RNr^|T{=UtLWyhypDCRhL4CBbpL~nc9J27m97!C1RU*=KC6y#3GFzP1mm>w? zIpX-u;7Qt2R+x^9XKXK~Ddt2epzatFP-~mE6298-C|ua?1c}#9+7rCsqHLBpQ!Hm@ zvYGg>p(=oHEw=u0iL6d-=nI4TbGgd8c4q%l649YV^8e zO*E*lu}nBo)>0;(E0|&NI42{L(XN|f=)>V=;g=JG4+jRkU7uh~z^I>$PT+CBD(d63 zo#@0&HXUd4N8E_FdEnn0H>Ra*r>Zq|YB$Jse9lG@wr2id0GM-$(E94B6|9ps-`&mZ zK4Q>qNQ6gR9-B#4egN#LUh{x8|u`k@i?F5KKv0fDLbdy+D&qe@m^i^w+0o*hb^C z1r3hYsdr@4yteu!;qk!Z4Sy1)XLWZL?CqFIL#!@8r(o7Yqe&o7((6NbJvFKGz>hdy z*1!sUetVs7yw9g)C|jP5W!!zC;MdV^0B1m$zj;4kTNuk^?mu9mr^1JGPsLJh$Nu^p z+O{>z7%KskF!|*Dp#e94yg+U%G^6_J`AGghwEZeHze9nM~ytKd24x{N%LOD zT8ZiX%(}_+wXphN^1P3PsP3vCWNU=o0?&w;LY&d9Jk6BNZO#?~jPBlr`z+hNh}A%(v#%z7;3fNR*>IFx__D%PoSd8N0z`qy=OR0n8}M*M&t<6f?I~? z@@ijA;}L{F+v=t{%8!G8dFob)B z)z@4EawWOv#-du!NHGf%BesCN&}zb4^SY7#Yzf{GC=()D#~qQZt$jgicS!bjVWDa4~#ET)8R#miRinw zauU_kxqJ?c+r*fXHZioTk+jus5xUW(%n}xf2&9Z;qK?{_R(SE$lEK9koynhD<8S(O zr51h3-?xFD!E_2Quucn#I##J{TGWOvEC+De7Mn@uvaQg=X*TYsMxyu8McO(IU&ssY-k?ZF(kZ@t%2NIZ zs$ya-j&p=rLX4;~#R*HDCm|(NJte4Gy;-WTPHo|SK(S6O+S}+7DY>~TDS3y}y1*C` z-i**XtoI&kWBi}eIpKdvrz66;aJI57jheGrH~tkNC21N=qGIAjQca#2x#ix;J1z8b zFK;Q9vRKvSJV0e$P81Z4mk9jbN`6z-IEEn`^aQdqPDCKwOGJ$RmMp9VV zs1SZ0S$V9i($iIj&fEpN(RD(}1Zy3W*ydz?**1KsGaQ}S4vvo0*EPcJ)|_#KWSY^v zDvBeSK8x!hx1-4J4ALV2sVN2NuIi3l$YGLXZg1mhct`&#OE27BEc)(B00F*2f;6)U za1!J<8eUFK=pi{Xn(r1BBWsl!)kVRHHB*}X)~Pb2SZZSZlqMgrH|gz1iFfQqGPGql zrq0bm=Vsx^wbHn%XKY?8&8ZveI<|m;sqT8=k<+oA(AAOyNz~M>c@gUD4I4L-H;EP? zD1N|i5BFgeoOxh(wAMG2!-hxtg9qaMyJsRfyrZ4V@hrTOhk56;GERC=DH^M0C4Cby%V?`HdTV(WsepiZh)8DfR2!!f8f`cWzN z&l#)*@g5dEtD-co@_KXIB|)|_)_M=MQa+E=Rb@@4%A%Ho+9J{GLSFBT(kxeeR+XgL zD$K_@$>u1%A|6|QNxhIhLzzWLxXD#&65fT*HfsI7xe#K-YWu0OB+8xgn#MAxyj$ZD zPI-N@v3G7v%P35Mz&jDln9EdPqDdx*WAD6YXl|8Jlfa=J1JV zPbRk~t?=0y#rC9ed(w(y>P%(c&&v6t4Ox7S4r9GW4T5pSR6{S>7%=_D?r#imV^^}p zF*+JmT)$18Lp5_e^S+nEybn{8PP|X^vZw@GXW0eokEOgY++@qtXwYP<^h!fCCTgK7 zCQISgIJL;mx;0KD7M5%_P<}f(dcKDvC;graGSO%)H zbz3w%@P^9hW*VMdYiosr7)1h&nn_ne(o4j+m2J$|9q=ES~ znU27k&3VjM(egEeCSiAqg&KOhH+Vx;IeM1YMu!u|6N9>OZ)LOD(sMV2RLazj=WR}& zl5*U@F6FqYkQ_G~llB-&X!F8ZQU}pk>y<>COtaV{D^_0IiPtqIoj3^#TR~XZvUG|5 zzg3&gHhiOO;GR#9?n`-RHH$sy1rx%CvGl?d!IZJ78Il`NIcP>^kdz093YaIzUcW<0uivuE1?%%m+D}s7 zWbUV<4j$trJ)P~9w|}ilyQ$BB7tE)ixd`I$_HX>iXA!vok>B{??%8}v%0evXSl%LZ zt?JxCPPKOd_cFWvTmR$d@bQKC7(pCfsk;{;|1Y8WoCB@QbY+^0g!OwJk~0WoF+eT` z3$bZv@h-s-T`e?xF6&4*)p?7&ya$}5QQ%Un+RekcTr9}J#3!mYNdjZg(?zd|3TiXM zZh~Z;5d_0fJ4mX6?R6wf1Bwii0bgYI0Rh zjn@alOu0iMjud8U#ek2Sa?+O2dz#?;ob$0Ii4zx&=4N`Fj`ZGPVA?Ol?>M zDct3EPDAT*U52#;grbJm6zcbX0(IH^KSs@ZOSZCs@^LcG9iY#~(s8ktg&{LE+gycq zXVL%yYx~2lC&vhF!D)PW1)g~F&B?L0b&s3?yOnlC}B zMpTX&;kjeRC=O9}Xo!l6Vd#*}r_x!tGz5SgCyZRJDnleSnlE4)G+Y?o6;w9Ep2t2q z%fiDRZiwQ{xgXuqOtp*66XwYg(iM(Al2?g`+N!ZvJZKS$6Tap3C+1<2dn9Vhclw@j7O=1)CN8%=9F_1~(?wgC|mroWlEb zay7y5F5v#6hL%-pctsT(5MvGQpzYuJWAXDCiGIZm$A zN`~%BopOF>IaY{)z~F*o5d+y93}kY!TqPt>K~GV{9C2205wPnHRKn?&EcC@zbEN%+p4NKAOeQ29Ryw!!?@P<21XC}CfE*Ah0sP4_9AF**j}(KVKdNkAnD#fX;7 zTFv6xR%ZeAkCwLVU}bARDWGB@A}pX9mgzpZ$(qFI?qYm{CTShj+pF|LxWAqNvkPs! zk2riTu3|B~t5{$g2C0W8)K}}m3dd4RDCv0(RKM-KWoNd>?y<$D?D)6=+p_CncxT)4 z!X*yCvM9a7x?Rp9D7=)}koviCL9uBG{f6C#Q6|%Ha>I(&i zsmF{6&ntp^bC&4&-bTLO&;vyrsViKcXw+(8jMzl#K!0FuHvj5Re5$(<-bv*PR!hRNSjSlzVb161Q1yNhFi9N@7+OAj z=US{`_oOL8Ojb0ckZqEN2$A~+v4(+$IQtlDs2ABXLfVC~hL|DFLsAKv-c}fm%2mzO zh5G%6C@!H6SQeGX5s4}#t%xIuhbgRjt6WRJhamDQxJHwh0c!)wGFit+cv=#dY8KT5 z1M?0MOTv6)3$51KCxrsn%Rr$eC<9*(0&fG0dP^X`f)(C1eGaA!4N+TYkdy4ea|m00 z`-PthmIs8!n~eF)k2#NHb}Ytx%ER|;C`R~OxF;B5B&-Pe-SaR@#1+VVh8Smncc3;> zsfa5P^t`3>HFaQSd~IDKsplbr{TdF8k?dr6pGHDK(1#WppEw_Jp2Vy1#X91sUSm|e z)HP#I)X+h=yT%UT*w&EK!)}#|-%V!lp#A}Yxj5{St1XSn6r%_W4!ZD;YiOfa^Aeik z-xGp6kPE!7wfQ|;rkS|YX7_C0=RI3ZFWs}v_<9BVQOi3OY2;H$U1mKd-}qn|3LE!F za3Ov!%ayO_OC(JyY}5O9X`n%Y1Sw`lU^u$Bj3}wz<_BbF88O|sk?(F5KJeME5n{hP zi?by51%aH!^Q2;2PzXmOi`VnWHCB_O4z!IYVC2Dyb4v3r$0B*k-9IG!HHA`VSVOzM539!}_hH3#Q}ve9+r&&(odcW2`Ep&IjTcr5 zq+m9fD$X|!49d~a-L)9{1m~sp_oj`5JE8zM`fV}H@i@1yzg8fMePl_oH+Cxa(=Ytv zRr!)F>~}D<{O@Vp{lBE~E~f$6j>=6rEfUJV-^XY;iWSc^xbO0+^Q8*Z4T?u|XE(AByV2 z@!*EInzSac7{syxD-a=whKg5_91P?Lf6|2WfYMT4{U4Fga3X>r&EIDQ- zi|aR&7I!|36|fa`2I~;99OgGQjEb<`!lPnp)A5c{j<8*d7$21q{Z)70L*p%x@$zMU zEX#IT@Xh^;{k?>54lCis*-~CyIN_pzZ*IaeS${apEIFN7G96u#f22{OY3&{t`?G1U z`lGaO)jOr_>u7a;YDCiyK0h&1vXr>}unOwyLbeKGxUodCqGuU`8~o9_q)%=6;$RfM zvdH;6D|Ty!>b?XfGKA;ue**83e+KX7xB;JUwr~e0^qn0&*caD>eQ`|BLj2E?{Lk{+ z(ye4lL-g;IBiuQ-GSM+A=YZ)oW47w~%aELO` z^}?%+L!m>m#|_k}fK_IzEU3ST-EE&&S^=+&hInO%<>;9yRr>B_{FN>=dE=}OzXYzj_Mm5Iu=--{)5@YEya z{OiAsE1z&5WWOla^a8%=`(tdR{R!H9E|2I zJ2NF=n@!(~dQ6uMyBo7+GrH7TI79btB#ayQ>W|^j*QGXalm7oleU7C1)QxCY)metI zB{QX1qZNKpWu{nMCeh54vZ!u)Hxp^wji%Za)hN#p?5Rw=R>}Kk2q=@v*%;fyoHe+T zJGJQ~gE*_Wo;#-2gc)g^x(Y7GOW6LTc@xfSfp*y|#Y7sXBbYTwwYjWOGWUm?N56)6 z|Dt-k7%QPpXN!B%QJ?3)-Zd*n^zp}-Cl+riR{BEupO9h%)h)N+6#YC_r!>Q&(XCLj z@@~WKW^R1cyPZWF8gTBwP9Q3uX0XzmvV%(Qg|IuZrzOT<31J7d9`#m2RsW7Z+n^zv zT_#MP{%^7wcJhU67R&v`i3!=v;`=4@Q~rOG(PBbITSPKij95%euo&I-a5dtwFh>#} zhH0@A_hzcxsdUGvG`+Wp+Wc(n`g6asu$P~5te{+*4DWU5fDm-9OuUl-co*;2;)X>* zH1GchWcRCz64}%VCCSmQNsbE+dDKSUSBw+Y@&8e>jPN?#cxBK@MY(d$?f!P*Ka@QO zNBW8IXO*iDjYxS@Q>rPMbNOr!i8C8nC1`wtWm%)*#;;(d;huM<-VDW>uo z8PB<+X@-KPY z!0_&~ip}{xtJs_kV!fBM{z7=X3Hn9QEqJ`C#*m_W56adrMxK19&O@Dh`%<{lUSdP4 z2zrSf^b$MVOQb!cenO6j3OOPc?&N=3e30|7FO*r+{C;t(^5KGrlo<@3i=Gc#M=EOx z#0=J&PT0e*rwCgtTa&Gl)?o^~@x(G2niNQ&*-~q9ERnrGvbQcuPQu50;A6 zb4=Y)RD2aFkaPH7gv|QW7;g9CdU_)G^_x z86{Cig`*BHi8>-2b!17@U&2vyN}`SrM;%-ebx1hsG!ofVFnR}yt@IO@ETsPn^7^Gl)@grgRgL@f$OT~HEr zA$-%+)_RLdJQZ@HS;+1M08_R-uqFg$%(|K1J52|&p>zx{9c{y@TzR~e?DZ|Sgy)+?_=Q71qkQ z3pw-i4nSWxym+>?wSLSTkK^<+g-awWKU6P(yZ* z$kUEqipwDRk8)s94lKuVOv=GimA1@*oplVq9Jiw9#mEEiUIfK%QG+IQS#{1dzKBt# zV_EJ694t~JBynnYGvr#|sk$aj`874PD0snf|3+#5D}UYDas|3ms5>^jxF5Bb+#<>H=P@k_k_;pEd*k~ z31CLM2RGcj+1`ML=H7$m`q$J3b4z+@c@lH@r=YilZbzZR5&ASjpFt@43w4`kA%}X; zq1zltKo?RewLA}?7XXCV>b5w(`MEvDUEuGauug47Aj@`zudh&M@g44S0l{D* z+C3A@1{Ib)!Z-H!MabA+LX&nDbuJTewikh#?w&;;9d4|k^b0HtB8HWgLYkds%M`=6 zF^|9Ua{tVaj(&@MXCEh169>*c{uE9tydUS|CB}1Hgq1?-cjHU0+R8QG%w_1_GRj;9 zXAWylIDT-cw8iEu@%2CS^q_d*;Bn-=iq%2jtzQy&wS_bEsYAj+YHKBo(+=5Ryu@;~ zYO6ypX1~mon5L6kp!c8(|6@;=JrKi$dNwF z-93sOhuQ-e*iUVgA>Ih9_?-BA?SjXUb4HfPRf%w$2FfY+lnbxo6-Dt;(|QUks~=va z=bDKNOo1a`}>+;@8Q<+5cUj}{SH@Kf`ZGbb?HUO%H996RW zrq1gVCZllQ;t`!=L`eHue6hiN8@+TLv)_00kX^X&N z{{xvmU`@TPLy*DW6vhT*R1p~r!Fb$%2x7)EF$m8r=qoP16#&aD_d`M5M?Q7#`Y>@+ zFds8npDtjLCCrr@vl5#oI4z+`VQ|K-yp zflGjX3!0q>ZuvdPP0IT>;5L~52?}%r=WGLWi&k`v2HUh4ENg}Hx{-6K7;qy7@~RrL z{T)tux(a#H3{ln_Mf(F76*+%XxUZ!BF$Cjrb%P83J}&rB_-~^44P&##Z!$3!yEc;) zHT<>*nyv;-F-a4Ei6&dn#2*#jE}@Ab7?B$nG`-CACmY9^@a%5Yynlv^W6L5v9T`%3NR3#N`!?#6C+PQORE{anlUM9B2(M7eYq zWbikIt*;E13qvp-w_XslH4_sGmvz-^GbFXEty?fLz1i)pHbu^C(!dc(AHnl zwuPV#@TSq$SCGg!3VQ}5))I*f$aqc0>kbfv?#YC166+dF?m(kU9!mw7WeRib=9$ih z5S>tZTn0KDC7oG8XI>DFYV*M)|WeusbZA9BVoe3 zCOAyP~gG3OZGHH>9#Vvk?wSxqHAfUXUg}_4Y(iQ<_VA zE`|&mk~D7uGqZ_6FbM#4Evqmk5`7gasW)S7K;`UtxPFhw-OG?`LPt^jEx2o|7p5C_cYxym=3iD+TKo(;Wcgvx~F9!Il@x!nmx4TmJ`Ozl!zg!aH> zw?J>1xxF-bhqIxaM(N&4=@t&Y+Fvdz%vvg6B(q|0)9n}u_)QD)UF7*cX@ zzo^HFBm2#|=o2YRO! z+edlBh{ny_+@6>^79J>KvmG1Q>=JBt2{s$pY=O-X*bITKUgP`F4L%352k~!r7R9zB zkyIU*8Vw1u%*>3s%&gItnYHbx)n%r)1tFZh7|RvPra0>V3yvP0aU4bM_I?fRc5lDk zsw5lu?L$+xB>cCt&M*SCG|Ot{9Blmq;AAC2YRJJB}>@Z!?J1f4%5ooMez-hO4oI;K&x4o40z zyhLrK6MImx8F7mjK@ujlR%~Cz`rBn4 zF*9$P@)jijevJwxw@on(*oeCe`R%XqMHh?0%hWrk<09j@%Z4-F6;w5q^yvtYv8Hzc z`Pd4)Epli2Y1b&*?B&~lS6P<2o7Yeu5&8oag@01E3jLN*-j?9ZDao0dZwud2a2)X- zlt&xkFKoHYUo?~JWx?^mUN~B_<`Lflr(hUm(X_fOimkj@Ofy@~VueEYp%`>ucx=y= zQ#+iAMrYaH*@7dm!pvtK2}jSvxRWqxk1fSuEmc+aQMwm=J!O^q(7lkM4)I4pA+fo0 zxyam+xVG~VKEb25A#>IoK(2t3-A6Q46nV>q;NvLJ>^{M|r;GB{+XjlJ>{SYBn=|h7 zRG8tukM(tDp>^6Cc2r{(kz#Qa_NIcX?~A=vTtJHRwsEUHtI2bw^U;D^&_)r&;qE1n zf-l8pgxZS4MOoMHqjHTyaBjTLJxw2&rCBpLk z3nwgtr4UeCSV6C9D~gb>1azN*E+bzA-f;^BF}vsS zyq8=H%*1jPT6;U=Iu&ka3e97%u^P)vY5F*Oh}wRdPrKTFI&-cwkmiA+4hwe%)bedA zzU<#m5qip$y@gR$NzP-L6&tLve3|b%%P8KRsPTdD&3==VJ_Fmg#3_B>IYRttnMcpI ze6Wt}ucgnCLYtIfGWZh9CZ+=8A#E?cj0Zw{qz9_0Q5 zZIGhGEF__X9h$!_BavX3FS#zGp2oXbS8@ZyUNw$eSnk#2H`fgJ;jnETn+>n9n~Adv z4{>_vh%w&Dj>Yx%MSerk+b<}-UWit;a0a(7z5OD{%HCprzZhcjp1zpeei=Ghk}!Ig zaP*}C4$HfY8{Xv*g`o+8XF`|M-$B%-6S<)!1Rzygrnw{tHti+Mf!vk!jnLX9>F!y9 zIbS76(q^9n83IJ)Xtcf(iBU-n&_$v+9~g1(ibAo52`Upo%vYdu1ER{JA^BhIyy{W+ zPVA9VL0uIP#x@xJLX`I(_E=QC$PI#HGO_O|8%ixS_EMTkM z3TFi*3kr&Kn_V<0V(O@33bGM|nhPrH|9zgW-)x>pdNlP-hzl`d3cubcr7+AB3a^#Y zmnt%afKo7pKcy(!S?xvCYpvMzp>>eNIeZwRA0gy$)Q10cD6FL{f3}tW!3f@ zi=Oj}AlLqPkefCGa!V&pMWCl}Y?}bRx#%g8N9x)eCFwj0ZKbx}f>tGr(C?wP-iq&d zF+%6*vDAmyhsy6!tb^WWh;`80(e+#57T&pD?%(8~UUL3yOShm4>+z{4L$`VY(WAK~=j7CsNkV}to9 za6T5!BjxDv0H^miqbNh+`8VKvLgIXqal$QV%ZoUl+5{)j`E;n>o++jC3E+HI;(U&A zKGzxN^T7E+80RFl_3uTTDepx??6(M0|& zsFqjAZF|)y%8GULe2VA$2-PYT?=|jGG*^6`o2Z;`<2K5t#a-y!sop@g(>+=e*76=m>_94d%lml$z~IgN ze;8sj|HDu@T}{ttIR71z{EtBXkjjWY|9&c>4QaSu5+^&mtF1sG240~iP#k#GR-~d+ zL9Z7G6alg!JvxlwLmz=aUxI)s(7lhja6b^^;U@-b-uQ7JN$&^3yIwTv)}u6eQ|VE% zwH@sT935teQZ_q+p3h><;TSYGqWDu#3^guse?>xdKLeS#td_#~4%@9&zQZOu%1@`ucp(_j?ZMAIrLWHiop%xw~a|T2m2h&+yGP zP`Y64@h`&tSB$f@ay?FMt=CDe%lK zP~dtBTqYI~14*l|4}4(&Od0ioqou%VDr@oLqseQJZ6M0pVD5qo-@gR)xa;&IsdJ`^ zD?TihulUHS;>Hk16*tmxjx*ra>YTqLBB8Fpv*jxu0Ovd-!|-f5PUWyB8HQ)e*8=Wg z8HQ)eHzMp=8HQ)ew<7Fi8HQ)ecOq=H48ybKdlA+fI(i9pHl8g%Agpln@?aS#IBC{$ zp@s=2_{;55=So}C6l{L*sueY|we*~i;HhknFX8toG`tO@We?ZTpafu3| zS8sxQJ#eq)qIKVl$ji$$QLwl?CEigJD}24YMDjOV{z+L1>v^55)Gk(Pgr1(E97gTy z1@H>u!P~9~^tR+B&$_teS(Q74By&RBzK_0UXlb4ul@E5bET@q9Lq(h7>LSo#ok2wfevWb(R&0L5 z&!jAO1x@uNmGY2KOz>(tN~ai;MR<_i`VD*lZvS+iX&y zZ{uUxSGenxiLRsbb)2dl7u*R8Pciju243a_jP7B|^^M%>D$EM1z# zuu__;dp|J^9GkH7RkrE<3TEpS_rWCmFLu76(-*wUgtg%sMcQY=!rD6oJTVjNu=^XSiRoBJaGq6Bl1atp z4Iugkc1K_nFnl3q&<-17l3?gRYcy85@1m7~^Q(O4k)%nE6Eo@gcW&=mDrd@et>#_b z6qQCO+h=0sN^kiDXBdAqSW~^yQoVjE7one6;aoqH^3J9PtMEPr<;3CTn9TX+^CyQQ_LdQN&fhx}v5$t!p%U~IBaec!E8u#+GdZsxXqh+R4MD)zm3N; z84`?q^=TP0G=Ry-kYMnv_iJIx0H(HxS;F}BFd%^GR>Uk}{F>++!1O5QLc;iU(LaEx zFP6N7=_Nx(1~6L`+lhqfEkm{qVEPo>frRNRLq-KK{ff0CVfxFEV4JvpfDGv!eC5iJ z;OgG`fg)rsWZ{;7GY4yVl{tUtIO}RGv8KIO@bLaaKmw*L+6g9_VVGzL2EDBl6m_wI z4Cm-!K*KSLokai|bpp-^!!l(L=r~TX7YRV8UY4U12CQ@{i``ZLR@TcFQ5goTa;iEvu_{SoRTwViq(YX! z7%oMfgaK0maPG0@5HF z;Ov3goK-xO!`#veyt7;R21q}wu8 z!)0UL+7y#@4%#9nt3GxHrx=DK{Jw4h8N_zNTxcVBwqMB_(%f7hITCbYydFvCLcf-#K~$1 zAsyINg@nr+_W@<6bSkYh4Jigf+Af@>_%k6QY7VRD4Nx0;hroDo zxhfQZnXb5WaGK19C7!ZqvQ4hTwOnb+y?N||zl-)5GudP$1Y6S=Zq0PIhHw=gAsW^B zR8x_{vmp0yO6KIC59_xS`*2lB?+(YL5c7lD3W$7-c*^x%UTNct6o|}}?29QgSZvD* z<-w)$I-T}qWG_M+o+#=!9;^|FSWVdjy<}-#2>!ktuvjlZFK?yz=3d*2YWYa-H zHKtrIn&8ia1fmg}AZm!}8>*4PbXG5koJNr=5OEruOg6|euOW8M#6if!Qe@(qP$p_Y z#@!M$(>3~l<~q^vHeUn#g^E)5x&i#nQgFUEQp4oSXT!3>5`H4xP0=~4WGEBg!we96 zJ-Z+|jCMe{KI;L@dRWw;aJ_>gKRi@ohSidIZiH1dSmK|oTLf%0gTBn)yP&Fg@1M(_*_I2|G_Bq_~^IFNrP8us%~t*=d^Mpw2sIlLrEs&E8#=L!VGN z^fiNhk`omFJ`RRHL_EtQZa-7%=87h{a~BcQc$A=^{s`hF>j6Mg+XbxOh=aD~xgg@? z@=z(2cP^!@nD6gg+RmHB)4i4&WBWi;o)E}_+2zQYiy#hnufuqh4`rO+X=dIKZjMRW z9Q8085R6-AS_C8T+fA7S=j@k2b1Ua^=mPhCo59^J%r+9CrWK~Sr4g8?Vpn&mZ1t5T zDOZb33c{EzO_OkJ(3p`Ph~P_QuoGfMK5q&*79^q4yk^YKc?B2hzX>`p1)oaO9!<<;SVkGl(@5dXob4aKrq-8y9Pr{ z*<;yO0TyCj=5zN=rm)0+nXX9t1DnQOuKW9exX@!Y^9A7bnkB$c)YXBMr%*WTac+t5 z=@j0w72Y`cCJ6&Z5O`jIT-&I6Tazb!6mIko`k<^jS)#v4v(?{xnLX`Aupgc-^t`3y zvNy3DRjzDE<1?{Lh0U0_%E#)(viHXXlW><&#g(-TGx-8{Z#bT2ZXC@VN0?GyoN1aa zpUsW(C4E$5AJ`mV53j6SZn-K~(^-Ae+lFEY5i`6yIueeVw;ZYcN;BP&sN8;0>c-dO zaQU`qMa$_e?>Ks;C6D-90*Nm5agSB@c}nPZjwu$1yF#7^>P98`20dRv{YYilc;PR% z1iPdB?mmuo;Wo1|QFkcLe7B4;S_O8;! z(SVZ)e{J!`d$DhZb1@+W567sHsEgIW<%jbhSsl3*`wpz3Z+bfr`6il)I=5s+MV0F;PN@-;)Z zLem)weu^LtcW+>G7~W3YKyn$XxSdTtN5k9sWt0_I67zL)Kj@^JE9-5V(zjjITbN#K zFTD0A>3u>g(tEN`@74jm2;%TCy=A$osGydHSYY*bA&;=m)$nmgESfi?rF2eJ>Q5B< z&@`tVCkBqz@pu-Mei2MFTn_E2dArKtWj8T)^;QNbBb8CC>xlkKW4`h_<*^qw9T#9Z zXKp)@8SYa;qr`=6)xm$hA+XL<2s4w$hqW;VN{!2o>^pww7I-X0I)+^qgyzS^-vSfV-HX9g@~?Z{M=utbYkLS|IWZj7bhnt!6kCZQ`7(Zq6Fp>D zM<+xvzt&2OB?|khs-yZ$r?4exUM(xW`G=y?!_xG5k6T zOT|+0G`c@-r_-X|uF{}cQeQY@P%KGr7YyG4H}&W!z54wJ4|L3)Q^#W3GKGGy@CvJj zP>09$2-_=sE7<;x`{mjkvloIJr_zhtOHsttKfBWpNM!Qk#>aQB!><3nE!b`w?0+uM|FP53Y37Fc|n6~28nBsraWT^&!qe(OpzDU>!!f8G__S_)%8T() zvNVZCLt&VB35_u2tkoh;6ExRgJ76jV0;ph%)OD+@qrx#WQ@}MGgKF{VR5qI3O4ZzH zV0kw|Y}p5Uxi>@X;l)tSdPeGE?LqXd6Zhos7ZoZ>@1)>{AeBolk*l^v$x++!_JcsI zXW|`cVa>YXBRX(l@Aa3mw@iw>ayxjJk6XOyB!--aTc zBR9cYEAi@S}?(Q4IrjKZGGNq;uc-^g; zXnUV+$dPo=PqQvgSlYrFnW@b-)gv!N$|qAK#0COrdc({HXAwVOp1Th?YtAy$TsEe6 z5V?BOcbe(mg5{!vMVpZ($w82nZCBHStj>v52lyL$`!%aRV`Z{k*{i&LN8Kyp#cxKKMe{kxLf>B!rLYAUlifLD8hd! z;PG$|#ndxZ)D4Cms#DlTJ1*u?-CuFkjom4I#EM1V?ftivBd5`zFg0!-ZVfd|YlBLh z2W7dE;{L(B5LX8gmb|<|i2Te3c)}(PPVoVYHmUzJKoie;RZK>1S9toV6@BhuW}p$) zP$9I%8f>WzHdK@0nhe)Ocz22J93)$Ob*F>rGh2eXBJ1AwRpcEFZac*Et8XjOm|}^Y zIC#qi3NN-an5@@Rd0#>$ zO5(X%)mntTNzJ;@J%Z;UdDYHxYsFdSf24gqP6&Owpq?rf+9x;indscF+2N0}!dbv181Ub8oJ%4^;cnH2eZj&-<1 z<{R6O#Ej)Ke_Rgf>lZbORqrpRP$ldS)Mn_(J?ku$=P>1>lw(&6^&>#9tq=SO_U)j(aXj8v-LF$8a0`Lcpt zt<19cKt#?cth!BJ-~^eG?;eV2Wl@%z@ry!gj+$-(Ez`^jo`O7|PZ8_Ezgr`GUoYhO z+_7p=nCIzKzHuvZ_nXRF52}>gv9_9P!Y9~(KNf3Txk07gURFa{CSLScWD>aq$*w_& zI8D!OrRh9rxp<*kpdm+=zt}rL*=ekYFU|>&Sea%oiA^j}xVI855S)CT`!VIIJ{8mQ zhFRb1AP7egMcOa-r@)tC3LK}Pxd`HL_clI|w`uB@(A_1W?2eMi+Yp&ny|Fms6X@~! zTdg~(a+^oZ3Y}lJNeW%t;jG(qo7@8u-_yV+K9v11=EG@~irX3s?p4Ee+MjS64a7IC zu=+OtRh$sCHKDziE*Q6$p2-sOkAUhSb5JcQ(4?lNLA^CoVk9%iMl$1;fX`SApU`Xp zZ|T;=Oj$=&iM`BKeD75>yGdT!V)Fh*jnBLCd^4Pv>9+@YSy`Hw1zqNa#K88LuREr( zyj(2b&E<`4&ZPVxP%46o$bjoqA6Jn+)f>YdUiD@&A1I2zvYPS(Or|%VF1+v4tAb05=_M0&E3;%`b`#N` zxpit{wrd1}PaaIPe9E-!dq>b2Zsv(&jbIV=U=0f25~`T>6^+SUUlms}M)=g1G^op` zr|5nE2yRP5aTX3Ie2i4=r%Jwzu`}B#z0za0mg$}$#@qwd!p8xSH_PNpm`Q@bni9@v zd{&A_E9|{XNfr`zU87|a$>q5bf@DpczY#QR;($-QV@#~@OHe|^!-Hnaag^lAg&ppc zabW=7EiUFRq#wPdQZZKPfn%@W`G;>>zMIe)Gl@hk%aoEaSHd}xha{O zmNE86KM!ml2c=M#8!508CnY9qdWB%L66w%{uEi90K{5nQCUC}5jBzZtsmcLe;~tP3 zCvltJY?FIpfTqiY=5$JEMK~ePaWT2uvERJ^b?m6AM6!zUjl=SSH~-f#N`pwn5~w_DMUX=QZb41h(`OWf09LTk@E zRn}XEhHc+)FxmyKX!wfl9k?rn!Ri?9D8Z6HjC9`xK+yTFBKKVjr>^unLCh4_Ep``n zaEto{8e5~D-H!b~b54KgB6l-q;~CnKm}?e6rb#r@O3}EdgFN2bO;Cof*Voj*>Km$iVbiH-%tP1~!$rW~@Y! zfglbqTI-0b;!gGYktvf04J+lH#lx@Y)dGM0NbhV+j_;Q3OH&3=`rk1h#bE`xuj!qG zo;r`kcWQVSf@!<=;2R?TT+^RVO{H(YhumG?YkGc?USHuZ=K1?pn#ma2uk=Y@5^Sa* zh{Jg^#l4qFx4>?48jBbGDk4&C|3P0~!5QZtHlgu6(0IO29j?o1ZJcq-Ig_&Q@22iL^h-yuf!Pb#NjzW}+; zB~)dntD?i+!BoU{qDx|_Dm_(YfRpbkIl0*eWW=uVa6Ry_?Nmn>jC40J(nY42=D2_5 z{jciga#ezR7f@90WYzNh7s7v(j||yp7^FIeK(>2;j3i)2mawavN0uUMP<xI>d8=n6ab!WrAu;rg}GMl|B54I4KG6}iDL@jjrA3p?xARc{1|OVKr+ zsfNRY>f`o^yWM}pd~i>k@uQ&-FqYm1tZMyGuNK{JgE;~8Uxe;9m*vxnEEYl}#0BwlrC2yOQ2ud^6ARw4)QrmKDU<7gINsi+qiq~q%>a( zlNDyhvgxDvJX;nwMJVDBoLqw>jD^v<9Lg%|nSwPHKt~P~!f?TpODH3aS-boSo%fe&-3b|xM<+{`q z&uhffyH-B0lh0-HdA)otm(LaQd4qi3D4#dU=gsnYi+tWHpSPJoonQ?8m$>Jpo5?0} zG*M?XqcCZ@-|4=Wcg4~ME>+EK5p{HIN*x&b$if;yqN7q=Z|dk#T>rs~1a@}QwVC^3 zAv^WseJ0%BXToA1PhO}WJ_-F*P; z1AAk&zS78trAi~%B$IM}gVKA?KyRedx9wF33;XwF85Qi6qFW70) z7S3n{ABg9AnAQ@ma!o$nZR9jS2pd#X?`8b;RO~tZ8+PtqMDuxx3uYi?ySZ9zb?I5Z zp*gOm+we+NXQf*Xi1X%iYmP$Nh(YOGvirpOj!I1#MA`h6_l5CE+!|{L2BJhL;sE)i zIg>K%-;iUg1?G%+sI5TAHQ&~#^A_(QdJKC2plT}zwIXCmTVBB9(KZ0@HH;z?dk@Hc zgtb22e1Lbbz&nH`0 z1T!cgSP)M#!j>c>sP2ITmX38;s=FV(!Div;?m}N2e;A|jv!uVL+6rm{!>_0}*fQ%D zlyi)P|FQTy(&?A=>!EgPu+A*h(Iu@+O4d)|NohUqb(;J26vupOw0P~5rhLuY|0QAP#T8-j93~ zk#`~TdOzHK1T6O!wZYO#2E|O_@s%Zuk(xXJaEH{D6ALx0o|P$ly|QE}&4+C)qRlFk zspKq_USCC-wAbh+g;f|M%8P5?*yifCkIL&SPyBhSuXf7+>&eMiR9^VW%!jK_p104i z6`6U*H$QOsOOJf_#xomRKbv;cV@r=eAokp<=4Th&cI2m@j2--0?=2z~*Hn+cYy8FC z$Hku5dsUA;U%d9WhsQ;Z-s6X}7O$-S`+bYsu6GLGZFl6FrSC1*A2{zIbvrZrX^(j0 zj>GQX?TH>Q)b>4W@so$YHT38)Cog#7x}U7Xikm0*-+jckcRX^!+ND3A^3F#OE*x>c ze#L-wBX2(R_YW^w^}^fbzfRnJ&%1m&zanPu~W0Hp-e_EfL4*ej$%eoO4 z|MS6xJ5AiZ<=N@h6Q6C^`PCE4XC1ZsZsW&JetY!ppBnqj)elR}JagviwP!sr;G>6^ zy?gLu^G^Tvn@5!%xA(my{axh5_fJ}NN^8?g)@MiWfBkhk-TANl)9Y^BaPn32FMIuj zXCo`TwXdBr{{A&L4|?1EHrj8G54L`~<*4^kbH9IO`fcMU->DouX6fpxCmPqk@$iVP z|8?w6=8SKj+4+#IFaAB&ecQiHT=UA9&kx$`_dTEgAX)idcJ_VeFYozM>#c*fJ!)aI zwo~=`pWoc?ihsRtKRJ1ylPi+9zc&7q&v!X(+CN?zx9EuGYi^u0<>r~MuYIce;dR%4 zamz`454u2oH+5-vi+X-|9sxn3m^W=+3B6XY<;?U#l^>LeEQCooj*?wJb&fkXHVGh$s1??XY~&2 zAH49mgL?1zz+dWqTG0CZ^T!MvKXUTv{W7aQx?zX!FFWa~v-Un?*}nZ3Kh$!6;cshC zJM`yk65Ved{rbEydyO9x;qI#NfN=cK#=(uvgPVt7!;qLK?mSz&G@|rrSCk#Ei74xd z!S>l}c45ZMBQbqf+{;y^7YQDH_TEd`Wt^s9xw6mBdym_Zo>R!Llc3gT%rV{}lAll$ zuGsgQzviNl_kZixtfU3Apka~kq9vxL5OYvw((fD!zuQz45{H#{H33I`m{~ej9}4sv zLI|&=IGQ5ij@E$r*zyUHzm0y6fR`}^F_~La*{@=9g{d6G?vd;+tY{(k&WfwZeUw9< zWA_zyf2(+hT+5kU5mOqRo{p*P;vjr)b`N29CcCGwdxLW>!8}CoNoAe$G`)ZA0Dq(s zZj{`llBs;!Nh-Z75j&_7>267GQaPw{bfu}B#E|DO*;Jb#`;9`jn}RN)09VuoN)7#_oO9*H)WK|1{Fw zHiMAI*?oiEui2elhp#T~2KR>^fK>V-+~|v(CdsW-diSmDn^X?&Kc;_DF?)^aZz|{Z z2jrClQ6{&u>t^dyNo8VgR4%D3B-d2lZg{T2R4!-)p3|CJsGL7+MlRw*;r3;BS9XtK zcM-eyv->i;-?Ll0CEOi`kFBEE5h#J&He5&S{v#NR2UD?k0X-GFg8r}eytX>6oHpV3329}|iE!OXa1Ud5HMw=l?~}fqRHr2O zf_oUd=dgPtyAQMbG`sQ1aQl**R(9I^_z9-cxGzfes%db)Jz(ttrn3KmYY#{&wFjZz zN3na|L8B{^%3cTKy}<4z2cxz8S_?X3ha#l%D7YhM!CgEHt)=le#Qrn~As-(PclZf# z2b_r5*H1%R8gvG7J(6AROq9c%v*5nY?kndYeC{&T-MVFHMOQDMT+vf`Y5BQMPv!UJ z2;cjL=NhQiZbZrdbR%lv*qh+qa&yC|nDXn*sEdPc8AsCk`|SSCZt_;(-=5vaZyk3_ zZ{?9YZ@e?D+`1BFa^HPOce@8sCXYXe_tg&qGX3Z;j}Rq~B4qK4C%tGYx4nq)*Is;z z-v9L?>a_YLgfy``k=>)%J%in)>^{iut1kiDC+z;nA!V!JW>*3K_NzwaR;!a&fo~kT z3YgDWg&bYS@Aopyv;6*kJ>I{&9q!iKaeLzs{SLVMyo`P~=Vi3I#V?=pvZ<_i8R2ie zjDGj~%gE!70}zsD_zMWnQ_AkEk?!=>jDf@NX8g~xyN=y7hi^}AZ)MTy8}BrgD;WOX z)d*R&`pP?dD{rv-BfI5m;0|DS47-!rokOmvtY>UX*MQCs*7T(Mo%agr_sdt-y+URC z3SxJD749RG;2y#6?d&dk6=k@B-IW~j%Bv{J&-i`At1T73D^;)2TtnG{UF0sQZ2KDc zz%k4XcIWpNa=S%D-uHMN{9)Z2aDR9MG_<^lvYPuQaISn49J2RYXvxiQA!N*3>t1Q) zZ_~=hZ=-L1&u-N^xVy2tFT2y(_1JA=_tJIf#dogb-pcNi>?YnpKh3-Ym@U{n=pD4r zq3MsXX}!=o$GbV$b>%edPL2f%(2q5&Qh7XuUUnhLGpkUH=)d{qh;$ z2Y;UWobt%-fuG~sllgrCyUW?V_j9zCJHJBTH@=43kKM`ap2+US?B4b@_`u+AkfYV- z!rhwR_x=Xl;Ba<7{^s>>OvU^b;U|8JkhA%HIlq6(?zil2{1zp!<9B#J{yV^YMDIyu z=?}>74L>~X^j1Fn;YMoPU$XlnyBpb!{u4c=`k%nikKMnp+rjRxKZ2XR{Ud5h|LM5~ zMM@Py_QwC7G?zAnk7S=Q#OX{vQLF_ANzLUlZO?`qp^|ma3uMRAP=(@ zHG(|EA`O)GsnS;+0hTkAhRC%9)jN_U_%oHk5tPK(2(X-~3}MK^n;t z#lG3nH-^7ENBVYV-*wWrJEw3zr*M|CCx7?6jN6NS|6t$Q%2f9KDt!mDFR8*ePdS`@ zeWh;(`$L+^)i{PWUV>oV+aw_}gvTrf@K<8re)hd^A9Mu^4 zu2q&Q7e*qzDwHS5*MoeE`MWjz-BRUp_I<>@>!j}|_N|bQkizY_S&-ry zIqr7liik~d+mmk#WN3`s&9ib&jI$j#Nj>@c6n@6(p1Ik^TqZ`N2 zPwEV#7y@q`NinH{z9#!6wzQOtt8homX^tK|OqO4PF z_KnpKRN#xM+&dU@osv+I!Zh;zsC=PZq@o8LOtXOg%2&#Z95~)IT9#g|cmAKMkey zy8%8iE^;BqStiPJ-^h)eLQfMZ>>Ig-eNF7!4?cn%XJ#X_ln@9ii!oq z-mqZ<3t~g;T|p6hZ$u?AYK%28YGOAgq9K;3iAGKAU92%0F=~9~GxNDUzR&agevf~A zUi-e!?9A-m%QG9fJzTO@# z3puM)5xE~l?z~b%hxJbK^;(jP%21KJE^@ysBZTg8xsglCe4&?IDdZ1jozO>7@|yCK z4kOFnK9e$XL%FKUetO#5lb2kuMG^L%_M5qG>agb<*+cHN@>r;ykdqo{2g>AXOI+1T zLeoUfRjpzN?JX4YRqKn~=R$sJBRgn)7Z)ReYI9NYG*=5^2JzfYt~tb_wz7kn`oWXOtq-(g)CeNYE3oY4vwEGTozJOEfBe$Tnk8Tb*`N=&y927b?~#qB9WUR zYKc*o2`zSjqfLEvogIv&^<0c3sXIhpc5}@k?NC3Xz7gx)73;NAzZH5X>P%CMg-njK zX&M=)eiZA4IKucGuQC%TMrabMxzJP)U$2)V?4{{ku+OrDzEr!Ia``q)6xyz4iINM2 zeo+URU`(ucgt7FSI!)BM!x8rGMKxcPJmd)dyuk%mC1)L>pZC>eV!cwa-ea{;wCCV7 zn-;2%)iox#W~kx>*94&qpjIg^7UFF8!qIi6N?fc5f4 zZUU_(N-h+dMB{~4bB!faXnkIikS|4U3T@y3+qc&hwl9w+ijqHw+;T3c^B192w6)N6 zRGRqG@S!X0!BsR}` zwT1o@a@L}R;+}xqv>2frAx|w%DD5wCe9`JU+TImEEkWo{kqgio36YneK&`P*C7~d# zsZdLyU@fWKwuflV9X;U4{x{4cv(`f7=D&iRRRdmwELtm}M?#@mJ0YKcKw(;ka&=bL zQiW3AfU0O+9CiJshl|oB_o0V7kIzLc6H)bq=pdr2h#oxFCJ~+$6$@$QS(Q(TPM+0y z4DsTh!AP3d6dnh7P3Li_*Gz?yabB}|oar^6zp}`Sf2JZoc&+5|q}LiAZ+flcvD9lb zFZ0oB8;=#dck-I6dwwfxcZ(yX5}tH=DP9R>aF9-V!n04dPR=TqfdwA~Ju7 zt|FR6j1;jBj~#OB`(IFNlh*##`L=WsFABN5+2_lNSsn*9Jo${t9;IF(t&A zU%h6CxJkrAAuB2L&0FJpFQg`K@rH=$ZV=1-AU^bfcwfB!Lc~`hz86t3L)1ld646`4 z01-n)tS(}Vh>b*SCSofdYm<)VI4z3w;?es4%JDGHD~0#4z}%Y0Kh0e=>)3d1?#Y*# zC4)zQOQvQWIpf00kBSu7A`x$inC=GgsaP%((bXTKS;YUuE0KH|Mz0UQK0X!(d-!J& z&xd7-eN~;0kV%y?wGO$zidd^M#CRSpWMyR^ex-M-@@B=IG(O+m&7JH%?~r2ck4u#p zJHBUlw7zm9BtwI}1Tn5khGu=eS(Tl9G=A^1laKlRRT|q-azeyQRa)@)vPvi3%8{zj zpI=3MB%)qzoKf?UYF&Aqr+Ku#a-5uc0rjz`;Ct$986 z;jPQnv(XOrB*Zd5h-UwdyjKl;Ai~Jx^E5nDqa-AJGoLm6!cXzu4h{d6$FC!D_!Z{q z2$<2AM7$RPKW#4S? zR8PLuyP_cez@vpE#=ss)6OA-?3;EE<-(4a0i6K1tCsyS#D-n*vvl83z z?CwO^&s!VwV~g=F&vWmRd!jMKUqrmfqe8AUw#~2LCX4y&l|`&BVl0mqlF|ffTh^q= zos!K>*1LDg^=kSnk9C?};;~)Rt2|~kUCd*C(_1{QZ#s|1;-)cnopNt9z0a3pn?2?+ zwOMPeQ*LInt~};8TcdQ!UE6FMkKZ=i$>Z5(8T|FqW<7b-lQ#2L!jdxiF(e_WL4_#N zDrqGjQ3d8E6(~P$wC3@oSC4pPQ%h2uBY}(vo17!Fh+0kx4K< z;n+gSv?Lfy6HpYrU-QlrH ztA{+^w14Ws$4M(UPj@oqQeI~`wm>`~mQ9ym@Ywvasf&f5XA4~{q*)s`PYY?&W~L{v zzb%a3FWSQBJ>C|!<*tbD+y2J0!R@Z{Iu~4q%53aQ%_ z&hLp`VehpPF;ztOScrYQLW{$@T6oEET`T)ivZH$zk4L+Y z$8(=F7-PX{>)rov$96c9D`b3HrZ^K7@S49&o5$mKX)}3SKc+#ua0SJWjcL&OA8Ctu zc54sV12=m>_PvPkN-Xj32{A-O#SHO&2*gU_l~@s*_k_9As^=SC4@-m5yT3P#-t)a- zJpbMuM*h>@F!G;vhmpUdJB<9J-C^WwePD$9_4zMAA(i^TIFIWCMa)M<%tuAcM@7s>>)Bjh0ge>259X%zTrcNir2k+Kmr?I+7y_?1ARIOaoS6Cq|zTxOgF26&whv5;vKp(M0oJBk*% zz_}7)nIA;6Kg7#odG5xY-?l9NO%nhIqOig;z}dY=7zs+%XA zU$*dNhiMS2PlMx9ClNr@uY|^M0C!DV@t(cXuWgZpFH-=yUAnM4o}V2tCx3q z`z%oNj~1vI;@?xxSfG9=(}_oSa_`pe0q`z&=jXEc=>efIBWmzCV0xWU$Yx~P_I5@n zzm}d3@ez*}qRz++txa-fbm2$NSu@)5(elZRE&P?QX294u&X+CZ>I~>@-Pskx6w-e- zEUyx=cs3kErd%q^gd;7)+qd@(bSLy)&|nLhG-n)KIq(?8M^{pqg{+#>GOQvwJ10}C zNUqL-t!pKW8>A+LGhTyeG)QNBB$@vMb3od7J~uwkvrFjL@lhiR}Z=U~k5o1N{D&kNPb46S(;x{7xBH{xP z$tMs!MXVuWiiq7s%oZ_M#6l6biTJ&U7e#z3B3TX5OT=m-#*5fq#4HhWSHn4OvUd!EfHh4 zK8$rI*;}9TGH18KQT_2&&p0@4#eBuk^AD4)P3c03S1@Tn7`~0ZlyW6XFGT!DMC~hx_9A+V7$jn( zh;>9v6tTI8T}139VzVj`hl=HkJ`g8~<)>nKzF7WVEN>9YBn;wivCPEsQL!8Jk38Dm$0_{Nf%6`SejOpidfwYaj{sw5d!g*h>CdqzF00> z2Qfy}&``wp;`P-Nr-)Az@QI_%9{3)z>z)W2OOn3(IsvuY595>GOP246q#IjkuepxL4 z%%e`)A70Z^Mup6{Ag+Ng!gZ$GMff(d{l!8Doupla*Z;q=HGlvA%clGe@zCLf9y*zI zh>w4a{~nmG=;Ybq)_nQs51;miS2F*%<=qGQnf-sfa_|VO1+PGhf29A<7OVc46ReZr z*CF0I1SKb3hnRmI`mk8ULJ>D!zn-p>!`C0A|G(;~a-&UsokZWbp8kK|#$~*=WjCPC zH8)^+gIL~n;{mU~_=c>%Pd~X9ly6^ICqLgD-OpNP>#fbahevL$H|yl(5!l8CcUOh! zWb-|UFYbl7dl3Hz6^D5!C;vV*4fe?jvvtq3zo?AW$s>wjHt*=d|kX8e!x6^&Q^XRq2AulGF4uXsuF zvFVd^Qt<>V%dJZ;>0C=Eol5RZvPSvJw3o1FZl0{jv3FVQaTpIDLBz4`h9Y2Gm zRFWl2J$oo7as+d4Ju?&sQjD_m%2XW5RUuIvYcbd7G=0X|^<(s0tzgJvH zi>k8MN#4a=9Z;#>C0uDjC+z!qpHW;%U!mjnBfQUZ4Z)Jrynlx~o2WwXtMH^0>KpGn z{796K`pNqd*8PeoUqI|r$ zUZI-!_;Wc`lWOl{=4ysY^9kcRQcc#`&!;NaS=4Z!8eEr!W{^ofF{&4NCzQ|Mza+(* zM2E}$Im;(O^(J>w^L?7CK4fu()M6p|?*v=nQ>@suns1R!n|NPr+U?V#oPP3YTTa(~ zx|h>?pZ;7$qP=6(-4|Ne7$JKd>D{ zd}CzEmpm6h@`aWWd%vk_06C5F=L#gRV&r;N{AQ{_q<$>umXhF?qy&>@Ld8l~zY?x) zLMIfMMlmhxN=c_dCp8`qbBj3nJhuUEVhtOP%w)vWW5w01@&nt z*d>J5eb)~)&imoSBEChe$ z0CYA0*1L=PBcKlrCvQ>r0|w9t;+7z_)ou`1>xNR#16rt&Bp>xJ-}Xqdv5^!D1YJgX z2M(u^M7xmw~#flj}*??J}Fy=A;C32h1I`<|H-+G{f|>IgIDJrQkU80i8!h zS_biwS5WmW!?|vwT3W_xDWnvYVVTVJHww1I*Ob;2ecz;sL)VQ|CX|a zsL=IVJ2DY-$voGA%s_P(T7ViLv=TLnZ&3%b4mF48I+86|XHjT^+L7$S+*iD0Cvwox zb}f|@W67gD*M(fc+#kG_uH=CbT=VVHx{_Ch_G#TnVk^1cx1Qf?Y2TpAj3My+;pKSm|HG1 z6LTAcR$%Tx#UgD0DZ<<_p35YkVeSIYWs>hux48zAqge7OZ#|2gHF5=X5V>sVoHm%; zGIUWJLP`z&p$#Q}8@izlBkv8})v^ieXjO?aoVXf#q~#D_L(jAk#A4{YGLl3X`db@C zq79X4qe%lpAG9$f*^tJ@lJ{RZ*V#gH z!cZw&L~fv}hZSjy$%D>v^wbMWQkIYxm}|##OUPTy_2F7dJm7yL!RyauB(RH|IdJ{C zjMVBP=ilv$&)IUa8UFYlUPrDX-=g3;auqoyC9We2$pb?Tl~0J?L$oeF8?GiELd67T z<7!eLbI|KGqy-9&OKVA26wI6=G5`g0Y^fPor+d?K7x~pv^iwu=0+sGG&9%R7=rsPLZvwUIN8}p&Vc5X8tVLWij;kaO2x_v@*S#| z(0(C#4nIMPWsX1#C&&}oGcvc*DE(*BI$h?Vy^|y{L*`ahnxOwePG-m)w0@STeXZM& zq?{v8eQkA~BRl)rYWa=W_p_~ci3Iest#_G(^|P&anWXf$t@kIX3V(2yEFoW1%GGa> zF9z6Zxk>g8u+?&ld_TZe%Pn$xfUTCh#y;CyX^#GocxKvac|%_g`me`08DNGW?l3Nvl}d`emll-u{LQi=Y86P)Aue(pG1zvTLNR&N$_Ol&MvfFf~s35!JCukrt<%LUrf4c;z=#Kc0(M zuA+wVTwUcZY6{QQRi2_2RPk5qDX&o*s?@Wqr-(l(%VnxstkhR3qkOBDa7Cl4@?3(F zhDzYM1SJdAzG^SK2FgNIcGZ4dYfWV9{USg|)W+pdY?VQ7(EGbKo98QELu6T4)k=4e|jEtEJz32FYZ$)Mu9b2X)hc|iU27$Jj8y0FAMM&Ge~yvkWqkNGyY|Wpp?oqe z{GMG$C1EV6m@EiSQc{(!LItES{Ha~4k~>ze_j&kByUxlE)K|P@7v(3^_u+5tx+oX0 zmNVhR)Kz(cwOr=4bXTg5lert=1vE|RGES~n8eXLJP;xN$im%sGxin6`5AVZGrrwG& zUe>}QTuptHASsi3gs&+>sfF^7FmpA-l9eLDx!^C3S@&RHB~VCyD(@?Q=Fg9qJtJD0 z46&gR?YU}+lK1T)H$aJ(wV0+xq;oZ!AbVXDG0>E$)8!fdSR|R&ka!qpa${W5G8w}b(Bvu4OPZYw2tzQY^X8~H6e0_X_zt# zH7jy9*J7a=rWHJwtrViR@m#j@IhOn(a-nIsvIYBcEwYen7v|pbT#j-8bKcbpxsF-4 zq54A82;~&!+VI>6jYrktxv|O`R8yWCtL#Um^4vJ(Dk_ub#wq`z#`D~G zC1|o#KF^I;>Z4ZGIBuGtG(~N#@e5aL)ZrS%%0wjdfYvfU3$z);uK-mB2^V zJY_DbebwIf^OdEj?5cyf)}ZEB9b>;h*?{_@YA)CIT-%;ls5s||`56DmV}wJ zND0of&5p%NyeuhZ&SK?=%#p&Vo%YL=5+VMnCn`)`ro>MdQcg$hg(tw~nT$eGoKlY$QG1hX- z?#KV3GqEr2ij5XJ1pVM}+|cFNV&%A^%o6R9GqFGMobN1I=Y3wwPl|b#Z0~vOd9G@h zE91Emr8eeR+!h-Cj#Txy%MPcM zt8=B|gtYlmjfE^iC+y#c-{xw7Y905;;k43IO4;f6m%}g0ILvj9JLqs$S%&H(^fi{u ziYw##4qM2IqmE~lGnk8uaN&A{xy$@4dRB2eP0vT-0_OC)=*o=Ka^UF ztm^9cr*hg*KgX*|!eXliJ6=;R8yfF;U0J@wsshIwO5{?jmOI{5iVdxEyruM9X4Q7b z+sbJ}yB+T+3CpcI;CNTrZs-TcdrII6t4bX2EAtJVb$p!+NV;I%%qpA>z!`Fhfqxx?0_khqIj;YslZ(q&6~Sakf`m z8>;T?pr#s%b#_!U3^j3fQnL-Ub#_)K8S3inqRuwd&)HR7VQ9Fso4Vf6BxiT^YeTb~ zE2xJIt#I~Giw&)H_Eb+B+TiS^UNE%P*;~D4=o@Dr^`4=9&c5nXLr0zc)PD{A?Ch_q z8?5@(IY4zV^rv&6>SO4UbC4Qh=%sV88Yv|2b$yxEDrSG-GQb@e7|F43i`y2nrpmul+!O|s4<@ts^E)a_qNt&ZQ|9I2L~*700*^`+1Z z@)Y^X$Oq}DRT zKYgn83{_x_)s}|Nu_kI?Lw>BOI@(YvYo-8u{vBl`kZ7hTj7Lh_Du7xf$pzWM5+!XI6SGbNli zyQ)3+%GO~9bXS+|m32DSf9cX)Ef%`3_||{#(nGzlSFYzTApmsbAH#zgla*)T;V5xZ+XY*N<@>peCYj)lYEER9m1}LQ~g)Y6n!6gqE&Z zYIjttgbuEQ)C|;!gl?{b)j_Bg34L6Ls3TAZ6EaljQ@CaDJv?RA}`78@#Mlhtzv<#^d!>4@tTHU5xoWKC5Q56MyRdxKN1Q`HoqJkz}f z=easy?p=e+uG7@+D9?tsx%wZHV`53eK(}0VIcihGnr?Y&@gZyL_3WmrX7L6346-%4 zsoM;7D9S0OwOfJu)nRMNac*An6@{1zhqHKOL2$=ZC~} z_nqq5qjHr0l1N>@Q7@pN^r{oJG0_(AFcU++7$wv_38qQAOVZGduV zT&(O>6H!5pA(tXlY^u@N%w^p#BO4ENw`oS>Veb14Ep9x@{h*LK`lS1B`B!nnCkYU6s&h#HKU-;5;fsRV=pNu)n-zrN4(c3)z+x@jZ3&X zmn(Tn?PaKhYp9_j?X)@u*X!EEUp=EvF>>|n&Zz5zmXSeCR=EG7-o=vNHQDZdR(*o{ zrO7U?GSvMh``yo}!N;WDH2Iz@@|dkJ=hbLKyWG#KO^@07@~he!*IS;{%kDQd74=n8 zKdxS=lBC%cE~o=gx04ofWux9Ft*CHO9gFfwUc)sFRVR6Uh2Pa#sFdW*T#He?lfSNT zNi9T;Oa7MYbJXJGLlrKoTTq`RALrU-?OF2K3Rlzvs58kIxsIWpBoDUxLp_C3n&)s` zKzTR6TH#OiDynw#+g$fht(!lpa8-SZ>fii1*FUJq&Ht%zP5lqGr1^U;yJD$L&8f$A z)fIK9xjmOJ>euFO9ye4o>UMK)u4<^4&4WB{sgs`-hJvTA9;jI;cpmzpx)24=LqAm4qTo5JN9vC#c+TpP zdJYB8N|&ntpx{~QQdK)41y6E4R>M*7B-dj#9tF=}JyBbr;2EqZYAUK}O0n`(orvn4 zQo=P`NM7$gQ`eoa&6Q`W_LD3b)9R(iGc^I#p6j_fLg<9JT6>{RMZxpeFVuM`_)h1A zT8M%t%3r8o2pu=U6Xh?|FEIyCc>ksDLBTWKf2ltR!P8-HJ^oTJqvrb%&zGu4iI6F~ zmCj{GEfIQhQkLA>%8x7cl+?GaES|5_iKndFw@Z7ies&7ql~xV)f7CBgzqYFC`Hy-M zb*+^oU3FMnz1#jx7#lJ++!3! zKuXy&^P&{k3UXOw`V2xTyKP>C%3o1m7HME0%0A^c=>0F^yGS>mt+V^8s`jKwIXfm` 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

?Rj)^J@KCW`~tdp zdT{W~pT61u(;pB1xc~L5XFtDqg6q?hm-`1VpYMP9{N=&L{?~v0YX5If_7IgN3~Rat zOx}kvNgaSPgLYul%Q)alIa=Yhj|AmlvXA6{Gx=scxn9ckMDH|zAfMmSWjb%8(qXnP z$md|OT5wIo8}Ycs6W`YI4)@rI31P5FIl7Qoix6%` zF1S^0tM$N=FK>18qlNy>k{`ux$a2td0FtTThM^BKa$Cq@Jv@pR3%<(y!0pBrH)OrD zRfH<{>Cq2o&jdrbvf36|))OtoB_3u;-H8b|rSMCnU>f_Y1^>z3cC_ulwN>$n*n_ep z)gcc#wT`&awMwkSQ&*b4cwLx3HM;VhFzfK*P*aJYlu7Yz7+=9{FxpgVFelM0o}5HC zBne2Asu8+TkOo^W!!r z^ZAlzw3%=*YOdavAvFg3B0mZSfM-ESaqu{B4mbEj6z;MIBI8pMFKLqAS)9&`y%0&c zjj)t&4>VYDAZjBoh4D%;Pf~dxA7gWaj@^3LK{WVC58QR5mV^w%LKFtq5&j4~jjlc19)bxU-qu*oMeO5U?wz-xR$GYNjQF;|Rxf|I8*xMlD zBNIQ~L)a4O(tD9x_=CVEZ- z^Fa`4mGj|<3tWe$a@xjR~^>aA*D@MtHXz_@*sme@JU?3Qr5C4yHFN z8Wr{a7I~JO>)?jl1u(o;F|A}F<5JHfRhCDV~G6~T?D++A#NIvq=;mSqv6=7 z5DxSET(mS@A{9q(3Zi?u65Yzla{Yl8Y0b1W&(D#y11v#o`$6J_@1cw{ZAgj(d?yb# z?lGN&K2$u)d`H7zVR5jbF$q^6vC>XeE5nRjfPB6rzUi)44ja!X5Nrl74>MZ0<+2>6 z@G^1c559Sfmyt}0VvXlYy*cD?&&X{jlRF`|LVRK06t8gZMc1HJL9oSn-S3%QmJ40+ z{F9GYdY`GD`c*p|5S-4AP!aco>Z*cy^fOn;sY=+goD!u2?jcm&aoXVj(LSY=mKVyP zhaqu7uO%li3IC@aQ7U#YBuJO;P`d0LrpxW&#Cv}Al`CO-^;OTpq;)W~FgZf$vUiv+ zw};a?SBW8YqrtJMUNv~Jhaqu#7q6}y;Ut>s6Q@!SL*mr#IHDdX*;b!OmAe>Nj~~2p zrN<9m^{mIW4u;m_j!?Sn9j43e;RN~GoS=k>-+IKT(EgyB=`MAnzoDUCb&}rxptgWB zh|c@Q=zMD+$ygsZmVk^K>eCb`bulPZ(uK|qR%L&@KENvXu?@6Dn1WNxWaPsD$d!5; z62EU(fpM(uTGXJSKCvpaKO{oHp!208<6Je?CsLI@hD1w6*ZhxuF!paJ*cAeIdPA?K zmu=#AIRe;O0AGDI;@3$4M*uqjD30Go09ykn&gDh`TLUPM>qZ2-EFuT5M*KQ0A|rqu z0EF|u5x({s@Gcz}kParyh+j7gMjR)O2)0L1o|KIcc7{+KHjY5H1`Yt(ASXxdd%UW=E^hR}djmepS5cOwC$vXME61l2x?MA4dJs4K&x zTe~V)woE7uy=MkM4KNy|ogxt+bOjOtU`yU>Kc3PzFa9u@O#blV^$Yxj^#Di^so0i0 zvJT7k8DwIqpa?H=5JkEWo{SE#Vd#HI4|Y z;Bm{c6z4K6hSs1S)z<=%`s!X15lrRsah2ZFO1C(-?oFlJ@@ThP=~ha>MZB~woER_d zvy#C}uE&o5w5mm2D90xF(qBzPIoht(|Ku?HtN16!`CinxHP4K9BJ)r%ED4(xbOja3 z^$N&wRyMbHkl|cJ5YWBauc%zCYzVFz2B=l5k+B1Hnt}F#iu6jt#aeufSxdSRE(kfxtlg z?z%4MH7UJP>Tj!)N^rp{vAgAjD&e!qJyZzjEYrE$l2PY%UUd?7u+Hn6?bQoxk0H}&nP&XQb;=(a8E*g^Qv8Txp`8d#waY=uVwWvrf#bp=#J-as~vN9wf`^^acu@`%*JJk)R>aXPOQefT*hKGCg(C$?PG>6 zbFjuVT^3-Cxw@@$uAvvS z@}JRQ6(o2k?}kI|jPvPpeNo7k7ea_g0?oETV+nrliMrK?Ry_HYNy)Z&3I2~ve_MX# zCiJHap-Zi=C0=mwAs@9zcxv;1^&n4+?)hXpCXbBv1i(aMg>$;y@MwufNG#tg? zkaI&5#^Dvggt70hOyWTB`#iK|5W-u;&a82dRJx{3Eqa_EAA_m)G*cVTdcN~j!!5d) z+9^m^o~0RdU3^P*of)WmbGI`*!|X@VSG!3q^tc4*qxk}n&yGq9P9*sVr!K}s3OD2I z3sZLy@jS@F6*iDBS>QGTH8$ZV!l?J^D;1dO%)g<&=x2KxvYNR1@D08ATE^67gB9yA zd{yhsD^?n{CJU+Dt9$UATVFUo+mzD%UM$*DO<@#)lDYOSPr|{^uwtvA6GN(`)x-ZV zS@Shr(4+?{@30Ij@uE*cjM~b-cNaXJGa3S18~I!;$$N3Pq`mMQy6KVS9gFmumgW@$ z1dw=F{J*7vo0J3p95ApWe$1sueU+wJnzlvTm| z>B{FgT-}K;3xhJ`sV?n(4yP6H^|5}1$phNU2KKed9=OVO;njSu?E6$ ztdsc;oi|SaXZZ>WxTB%4UEqazvMuEE-km~U)iuqVgwbYwxHjt=u8#)nXuxjMfL$Y+ zqcywx*6iA2sCOhK=QQnb4%KiXOjOfyo(^!nvxcm3<$M$?XNB$K(m5`jJF;|EWOHk4 zr@S&~xpd;&RXJFz7ThkJ`S`cHZeBp*+P+p!Y^cBSqzHv zBzxYOI5(0%F1C+iv2Eu6xaN*)?vAXv%|a@)Z<}RTys3MC-OdAlE__*2@HM@n-ZEaU zLXzf}%Ni_$ANL}AaMaWMjRBz^&)9eVjJD>o> zrHiMwXv%xffupx^@~fA%J-oCwku`3e9>vzFk^SS&Y1}#O$j+%zM#nYvzOSjDmwdI0 zh0^G>qUsH8VG*sRV_ZTX#}Zo4{BZ#t7tmcF&qkiw?W-7hbBY@n{o03Y(~&_oGQPnnXKd64eXn zXc6tcMYKK>49nBrxLRe6@&J`rSNv3yugd*0TTAk|%sz@`wx0LnGCMA_JF?8y3+TAa z-t%P^Q*Jum#X@aaXm}Np}$JAY?0h?ZG9ALYl-ROqB<_BJF=*jBy(I% z@A+yfvQ!^Ot3{V9@VYe>+AJ@f0e>6@0q#X4HY`EfBF7t9!__T(!V&a)itH$5CmhhZ4sp2pE9 z9E-$Ed(aR*Z2$E5LQD$4j%*;2&zxDzWp5_eCWRnr0o`A;$99pBKCXa?r<9jFjk=ht;X zuSxlp+aR4=EK~iMh&8N|n>w2{y@>^~t{P#|_yM^^O(vQ01fbvZo@B7_zn^Cx2Bi3I zaTSM-DaJO-6mx?2JVoK2ml0c{^)yap0ZE+gXk^RE6=-JjZUWkXNFMW zwo9&hzh~LzL7f8V`0Y>jF)=|yHUgY&Fu7E7dt420?3!OW2Urp+C9X2P+3&6vhO&0rV$51v(XH4EN@>1nSh3Yfzex zpjSm&>X9>TK}^+3KSawRxS_g!g?blYLQf;j>#^TJ|3tT>IM{q8CkUa zef79^(yGdIFqL~my&WeNQyb7VE{89%sqsozp(llx?MV`^^-0w` z%KRk2?N?jcrg;&;Da*~@1rBlQ4{+Qh<|k& zwrVAW!!e*n#(HE%O>Y$mxEBn{*z-diFD*B872TN8?uERy{J<-}sa2LAd|R()?6pfn zue~c+(5t8XwXUdP%4>A78wjv!hi!w*wU}<=V$@OZ%XAj)9m8PDclRvI=2QK2^YjEFyDFTyh!nvDuVBE6-J4*u+ zHXfSzvS*-P1O3yV%Q}AY-5F)zdCJGl-}x6!V(;nxv!)TZu;L)mc}IT=xIdVR5*FZu ziH)UdtE4c|5C)^R4H7U4NB=zSP@ZQsdgKz%y&HkVMc<{&luU|d; z`GpgL>&3GBbv8()CXmuoWD`Ybuhg)1YnR>?FeayQWO{V>t`-9%C5lt+0+4_!!f!sbmE<7>v=mpednmmg;{Ms2jf&VeQ==*y=-b@MkqeL5)? z*ug;g8hNp{kp9|2EBJY3lPj9uQaCUa4*DfmzPeH;{mD$3@W~IcZ|p*Hfz)zM5W-7H z^29r-v94>1w`6DV(jyzJ^rJXVreO4Oak-2Fju+$2!W-Vx%ZsCDdtQLMrOXjoZ5p-y zhePTz^=)w?9w(y{L^-9kV2BO|#30JHllEBTw7_n4bG@IcBf212%%c+3C$l^RrvAkZ z-R2`C zF`nQ@aE!&((mV*KS%fE_LRT1Ii!FJ?_fgYdD+ONI@2=;W91l?kGo|Iz@b#lPK{q#U zSfs9u*hXI}6=6821D_URTDUmM;v;d2=a(kph=}WEcTRrQVHVFt-UZ}3idh=?>>?pP zm6Os8oHKn{OyPAARhI}VZe{GBkT0A-K9QHPwVFR4%LE7WL%_d}1eWUPuqQDoqH^L8 zi+=8hn#U`kd)kO8y`kZrn;Q%*xHFe;L3@bZ6mA;CBEc1Fr&|MTxcOMLo?cW^s(x!8 z`w5yHhih^oTez+eM5-Guqv${V#T)^#oD_~e6;5v4FV_ePLi0Wd&4oPkc(a3EXaku_ zVI_B>GwfJw)O0if4aV|~MeQu&Ya<7dES4ceq06RFG~jCCwI5IE8#uIo{R00KopaQ~ z)s)Jgf27G(j9x_eMAkcqY7ps9Y7Lbm#_-FZND}dBq*}t&5dS=eORaJT_8ut1gYCq@ z#bluwmDQ-MY(-{NTf48eN_*ZNfZj=Vo}zpfydB{WJ}A>uUiCP){`vbMTNAE`9_btt zgkft5c}&50$QW!=SULuiOTNiX!aF|0+JqFWvbV*>k2+cLRrA(X#Ksn#cmS^f1nbJv zsVy26=U-p6(~z>NrGxK=M*GI5qvwAi)rFu(%`G?@&D~V+&^Pm4vcu}9mYwu2SC+|~ zYJ!wRY=K?nGckX}>3_>9={T%s4MrcMcQohF5eY-c#l>1hneauKn}73o$}po0XLzt! z&}qQuPk85%8LZLeJaVnl{NzA&>~BbP!S~8BybZbe++u3fN&i5e_a>x5P}WfAT_k2VHJ3jgy9x)2I`Kbec;-$`(anAwo7^u z@qyN-d$K&a!L-jsX=m3YH_-LG67BRt~QecT|noki!KtT`$rGMoXl2RuuF zESgaesMAYv!q5p+>mG&$E=w`pLk9RV=@6*F~E}N{V9V4+!j=j6YXRS&{rH03q&M%zmQ7@#2>8u>Gj07?fhSj0djvg^p@p6>O zq(K=}Ky;N@rlcAy`f;iq+T-ptK}m`H#?&F!LfLB$5>u#LB_t`MRFf~H-IYY=oFkhQ z`3Jg)le-?>{ubE5#QRBA#3)?bdSS3Y|M_C;eC_q;V9>xzaX2mC^{QLpgg1U8ZW~}h z%P+#Y*-oZYH;&+&*69j_L*}E{#La#)RBQrb^z3=Oo;~)`!qqB%{2-^Xu`0sc^|-f; zRtuUGwvP+W0j?)}$l_4cBBm@?x$zHe+jmqbVdEr=tunV~aMcQ}Yzo4jT;o^#`p|jz zPKumu0(*2k8y(NK<#;BF?lGS%y9LPVVdfN@8#W(A9U+!w+&)I(oj3-FL(iWRu;?Le zx~Q_nttj3meWp`5ASvSGX&fCgKL`vdI^^O82Th0PM<*vZA9kC(@6v^7eDZe}AAazj z{_imT%bxeYukpWJ3*kS@n8Cllt>W}A&$dH#b)x+cM88eGKO?to_Cg7{74xSy9MLM&_>icG37<2esGyx5 z2YT}Tu`v5YxsVokYsUky(yrUj>Cj}c=f>+FoEhk*{>790C;<#AX!iAs?5S?1QVlqG zsG|0JqJo_12Cm*rGGU0SsZ`wi{Yp)$x#0Km+|R`teFFdGgQS=(%#89+NqiGb(Tc(; zn9PXC!$%{a5ab7wQ(?I}FmXN5gQzT*Sdt1(o$@&Hes=l=!Y1DlW=Z6?CP%tRCR8@l z>9ivazc(wW1{9oPxfR3`K7LYo!XPjZA6YXUxYBYF?0lToIq7BgLc~#2mT7T&P;CUx zKKEs6!!nOBPX2}jSY63`I?Fd5d!8mXlEutJD4)4G_O0Tk7}^OrHOo3;mrd54K(9K* zwWWt!<8*oa+lsedDI2OiR;doE{bs87kKzSii{#OrtPKWB)om=6E4C+hmdZ&We+Jy@ zpgshRrUZ@$@bNYWdFg>zCudk3+Gc%*8+So~$;n&#QuM6I0B@mul#3}VIg_h?b>isM&<3oqM7I0n&0*Gs zDxg_NnaKh?H_4t!DrQ~rb(L!aZy~B9b#k6s0{tzzEA@`L^oqId7!32z$vm~oa1%GBJ} zSqIsMURhnYJph@{ZTCo4X2~#68g<(Plz3|L%P$ALZ&UNdyMB9G&7Y^;Tv`;MUbpE- zvmvh%jW~;X_jQK=*qq)JAEj&zUxYoiLA7w5E_lsp*>IheN08hqu{cC(o)aQZR-ImS zF&m=V8;GN96m0S>w;A+8bz2Dn|ZdalYn=mwWPNCyy!b zWfp4JN5$bq>*ivvP7QcgmYn-33aFl$OF_^!l`bZ=g}RkJuh+K?JhsshwVW=Iy?dNK zL+34HHp9bAW1%-o;)NHa=(55G+RwRXalp$E{Fxk_ddQ{<^wd}ht@l?q;%ewZ38DLq z5Bft~#1$~$Kf+g{aynG-Wd8d2Nj2F+XO2Tt!}<=F+J zm9ZJWNgS%mJTqoq$0j3~=as_Gnc*aR29zOZfG zxynJv?X8sTm!yO9Jj zUwPQ>YV;cEWH?NfP87I~~Wt>H1bDcaqw#Q_`}CE@&~ZE+(iamjvUH4g!Q_1 zi$Ai2*vOs5DGbMh6#$E8rrBcFw=^a&+)4 zUSj?IA3Me&IjE6C0LHhgz_be5Q2fCmjohi*AOSSHwmllzm9YzssLz)>7k-ruYvfYh zq*Czg+Qb^!R8TI*4fgBSC+q4;E zmA;>oSD>TUC=@#*6!k&hqpdNDO5>sYP8`RNqOnV&Q6IcHYLQV?Hj0Xj z7#(G0l$Gj=BaX?oyWnI&siR=*j9}C!y%}}LC@LF8<#LpjQC2KuW!w#qvSKPLFaT7MSW{yJDfTZH!{E zGh%VM{fpnr@#c3Y#bV12@mXGxQ7m>wEJP-e?S|y3WG16n?2K5{Y+1LwW37vQ9tCD+ z1m-dcw!5}qB7;#Nc19pn>W{5Tg_eJ06pft`jmGRX0tJh&jjU zkFl>dlO+}tMKmA)y$!-pM^w%on_0VI(i~b5nN1Thn`MTke9nlm56IKKI;lM8dvKiB z$&f7PObVjw5+ECAP(Id{Dt1t*(L4TUarB$jZ-v~N(caFvo&dd}pp?_;VMy^sETr}q zzW&+?W^sU%)8h*-y<1Wtf~ncUXS{Ngc*H(9IgGB{JfE2*UJMifq@Q6>IO18yrTHht- z23!ROnV-XGd=w=+mA@Ops4EP|w#Yq|%3)N}D3-Ni3HvcHm1`BG*sKj<5?gE>+lW;n zx6XDu)Md>0em{;lHwu!cHmX6y|H9p>!|he^>rDeLfhqRXag>rEV%mtS`)Kh4EA}RY znkH1xmx-W&Z{mTdCaWk77F0}0X$Xr>0%$*_$s*v06&t>~)8W(JoCOJ!WASL@$Gmag zJwU5>T;{m*S@4M@jF#Nb45j{um?PCnHCojhgK7YO-@0f&m48x6@~$0UdJ0azRpmE^SO{sVqr4ZzIC+UU@JV z#b$Gc`Ku(MoXJ+Q6Wdz5CE?SF|4eTIK9*bfF<>hadT$8}{0bLc+?o`pa)bOJW?r=7 zb~JB{PngK3UNG~bSiFHthnkZ!KB=aCEE|oJX0Mdsf1E?(9O^WObRNCr=U=j#1 z7eoTq6$6okYj(I1h=e`W{&Elh1}j9IPtc55FHI;+E%?l*HFmA65M|S-^8yP4ts)a9 zn7}mWFs!B3y}HJMeIW<*#YtskpOW|{;O5pBqa2NL)GSBuC|w?fd{<<>ErjzrzAs4$ zm@5)8o1K$)$PFHD-Go!Qd*O>7u!67DEV!ZJo#(^2rq&)9ok!LR=1*&3KK_j_l0kZR z6fd|K8GEqsxeHMH@~zxoM1JF?x3NMGrjfXsrLr?qD$S&1BKZTa2~!Bsz`K9;-c(Z@!(@Th5)-=~VPd7B~X zIM@?z`L^>Z&Bor!Pc6T*|CL(WLbj67(5G|0zlQ^MbMUl7dCkzyW{8!8v#pT`u*kWg zd;uCpVr!f`#`Fhb4QWVr1kw6|^bTm#mJ&^e$rpYaCk>^2@d?xEf0Bh7bl7iZfeStd ziz)A8vheO2zIjk-fWqn0It8KJX<&h9AeaRVoAosZ(hf=1;OseSk}=Rk=rhlC2>v2r~(8?964 z0i7*^4?}WAdd}SsrmP!m4?OuP3AnW$*G2%~Z%J*$-4W(N;lKXa3a!S7$2r;8;CX=UiWzJ)8&n+yRmxl%X=DtZ#QR{w+|H zbN;F~TSY>N&oBsslaU7gDkO;mopdO=08e@86V!GtI5!e5Vi^x<2AgvACAH%&g;r+H zw9+(C`;@L=y6n0)K-*ctgW{`eP;js&sZgTgZ_9wj`^A-$_ei61jlU=CQNz{Q1R+EC z<%8x|F#zp;a?fOPJ!YPd;VENy%9;}3sR}`BebE!`BgJ0H_5D<(P(Cu5YL$O+qe)#JnpC^G*(HDw7sq zm(uBcF0f$KTTlXyaqQ2t1$om&f;_`&ikbo^tm_1y-Au4g> zZ<|}p_JKwXev9X(iSc-^_2-Rxu-`-;Cf6%Ces0`9{;py3h|bz+d8TbziCS$an_NMK zwi%-zocPsBW9|_K(Fn@L(Z2=hdMw&1;#x4g%i|fWt~GMf8rpH_?R!RU*ZTVM-v_Cn1 zhr0!EDPPa@B=R8er3k|;!ijpszMf&oNi{oY{by+lX z(=SgVtebh*W&waExy(%ejFouT|m^d5USItjLqt#sKaX&!B&)d zt?KKd(-*m7L!2dY0so>839ZF?)B{7HJZb}@CH5Hdm>=KJC_PNBO^?E|C3Z?ulG#Am zlt*vOGMIMedU51+7mStovYH0KQly`Ux{F+keHXnZZ?L43912Y_`p9GgQw^T>ahA9WquMY&CkHjaz|p~-2_n6Z)O(VtGeuMQ{6;aUEYzs;rG>z zz;{tl@L!=*;4c$xq^<m<10iUG0Q%e;8itv^U@ihcljZE}B3qHE4gD7Ix~k*tpp%)1h27>i{bfeNd1=Oz#} z>p(70S$`08NLh-O1dhq`$&y?Jn4-Ou7q+f>Mk&3}&lrbGgAbVPT1Zb?oBr1Tze4-X6R7FirW=w66zS zViy>UWw)~HkDh1fG|xh?*2TWSe|`Q&lui{B_%|%z1GTOuQ@?^2n4VW7%X;Z~;jRjv zppt$jSgsS5nHmhlPPiAFCJ*>JgHDaxA|k+Q3D--IYSX_U46r?fs&G&py^{#khf}JH z#A+~QK0K453BpTzg%7Hi49O4il!g-v!wJ02la_6o>2=x5 zim?c;=fWQ{Ds7TLZPsO8a9EM4hQt#Fj@}=m@Xob-Zi)^nx*C(|^Oz5!2PLI9-%2~V zg!@xrkJ+z6$abw;n)PeP&@as3X=s@sB|Dg^rY=DjK}nDpk==P!^>k_t-WP3$(8F2% zNtPMM(rxn+&LMGsg|Fq+eVNGj#bh_)&|wPoytQwH7yPdJq*Otf$Um|l>ema~%qZ9< z=+V43GSr4myTsf3`e8fM=~{E>UTGy8kcy_!#wS^Ba?6yRXOpy-i{~0n@maosOD(VM zatzdzWi(s#x6LnYLzPF~p^Hj!+$KybFgrJK`f(ko;UE|+^1G=E4sJ~OmM7E8NH^X~ z4aCaqEK}pBUDkqXSoJ0d%%iJ^k&DCW)JXrflM>!~MHAOyw0k(s5K$vhLUK)i1$6Ev-d(0U2_RzPdpZ{ z5}$KsGWq#D@qaF3a=}#y`}tk$V0~yUL`$6p{}9tFiFhgQmx4&(E2v1GY%a#A*~-5Y4{Iv;V|VZ=+!DU zojfN}?-^9Gtf*vf9^VRoKKZ3Q<5an)``PJLNfj;SyW=jT9G2+Jm8eD7G@byvHeiR6*Hf=?c9yq$R=hDS~h5nsMeK) zm6&kqPFn4qf~mR)(%NxycT1dTVpFL= z;fe%)z|eQxW`=)(hxfB5WtLI4R~*5VYtaQ)>e#|8jKx~CjQQidK?LtF_?xc$Mc!Xw z`mtxlq)HN4q+_bG6bbK52qP}`z6^=4d_C(f5la{Fx>yv<3K`F1ai8f*C_lx^RY;6C zJRg)i3S+eh8l-iKgq&m*aB_FHAgL3{?M}wSXle<-cIKrFv}IYpgF?EY?9rf`W={Bu z(US3PTcW9atd+A5A};#fjaFgXTC{%y7dr(_sphI72H8*Uwly_a9u)^*zO$)1o2lVi z?Ncrqn{l$?s5?Q})=`!5eNfApQlfL{bE>9;nt=(fq%IXpaA8BTGsjm&wJb?4T==z* zFfUMC2sJNu;Or=>o*mmdi?RWJw-2MrxYh`C+oW7wBrezA4PxaW*0hd%ID@lHY+HL2 zx28@-O=d*gEnDQj)gUT<`MbmQ4*b@AJ6a|41?*e|Q}sIO&JYm&tSiY z=eD*}>8#LGcJ}K|+0;PwAz+YvN@(4#P%T7b*}hajg(m=V@nCv5q&!@Teh-d$YReUA zdg2-C28pFNU153Ud_&tpp?@fha2SY%ipK<#e7s#T&d$gZoQqt$yFo^ChVtc5hk*xf zp4wcQRFKK@ZL>PLDSDa}y|7#0b(-}y3``v^m+FyHXGQ%(RXtE01hFHnjCUJDN-O+r zccg@Rtx)v44%ZfWQ8I#h#jUgFVuQ}oJ$XRra=$_u`;Z+dw90Q?br%{$%HU*4gx_?- z2#<*{>_rua7ZvCTmLtqf3KwAIeGLlHA!Gdg@b0}Vm)Q;|q79$O76Bi1Hzi<0FKNeM zWxZuJK6_PO%89nCWNH4mV&ds4sk36&y?uvL>zE0)Yi50wQ8r74U&sxdOAOu+6x-6T z3nr(>7nxBe??q7tZvt+}^JW=o1!{3@y&~E+>a7B)MQXO1P`grg<`M@a6qxrbQ}Oo5 z=DWE;puON+q(5=ZGz_SEcN^eTs|?5)9C9&6uG;`A-oM2@dxi3C5LxAAUW1}a!z$|P zmOw0glARihX0}+gK=KOv>J>vwVAmExk%CT`A&KXcu-_d+x9<90fh;oswiLyb+kXq* zr|NNo9AYYlDn5YS74d(y$ShvsMTfkD<{Mm+Qehd&isi=eN_5fKsV#QRTfX4v0(|KF zv*wwPvl(v+p43hfguSN@vvb{vYrSDUM~6ptX!Z@Dx1X-SyOWFlU{t!+9_&=}viH5P>x^HRZXqSlSkdY|#mu1+8o#&gDEFJ7g~ z6*|L7ad1;9u*Lka-w^0CWGV_*R^20qmt-~R{uW0q_Rluc9+a#1uQ<|=266l2ZuxQx z%O{esj+g+Wb6JI;FKB(w!$bKeKfi!(o*o>0^QUk2|MbU$Kkk41>ei!$&wq*;R!=#JWch!t&p&LUnHhHH(LAul%Y@I;#kpVUP7 zHjJ-wJuC+U1tumZ(GB6FjZ!tjflZ5}IrV=%oK6E683~U>@najD)~7p!i7jsti04CR zBI!leV^(jO%=qrRlvOB8ZrsVAqnanf(WuPxX*hBL`H>G{iWr~C%GgGHDx^6V1+B#e z&r;QBSbspn5n2!-LHMWKTHsLn4C^hE+u%Q#Tj&FNuT@x)xvv4T#qK0lG(WTj(GodU zApd0&FYp(URoQSiVi6M8R8rl%Cy`u)$g$qegOFwtfM?~7JQOP&hkp*)NtAy1(pcEZ zQ~({pmPf2NP_sS9ncY^lA;VpOwgnIuT|GKT*U`ALkA?$w7V9s_dMddvbxjlOia_h@ zkrX`?;clZuo3xIEQ!)}dm6;&gxIo%<&>udZh&?<@QXRa;`ASl|{>1mcR&h#?=EUkE z8;1QGe^E?1{?xA!#t%L=%JGNm8g3znG1IE!i26O^Ty9r{`vUOp9M8J5a~G9U8}g3g z#e%c;2NGSc$TjukmAd!z=!dgsrDEbcOT9cJYI)Qu))srsB;V_gEUOc@Z;d>kibpJJ z24~)g;=a1gNt8W&7URsLGPC4Vnfs*6s*b26j(=MbsPG1PN4RliioblEX+~I9p+`TS zz7rP}&`FWEor7nl3@tVEyaXkBkBxG=p*RGYZw=iu1c9~hd7A=7OJXDxMJ1d`SXA|fj+1n4o#N5+6-o>2 z%mT)%VT!x3Jk=9CIb5Z&vB3su=IG~up%6$Lbx#K1qZ5R(ThYS_3X-~U4>qO-hiIeh zlUkYv9y6rOG#&L}cuVeB4d(q!lRSKUa>8PDL6rx3n{KA@`KJ4)f{$`6(w3?VnUnL6 z-k)CWALx#}GNs1L{rx{Z-~a0Q!OM$-mw*2H%fCJAX9vCkg9(P3!IQOqMIsQbSb(Uq zD=+E*3w2>&#BCy)7& zS-D6U>Mrcp_Ov9Hy+}cRtJ#YXIB@qe;iwp3HAQB&bKcm3QsO`6 z@|5ZI>>fj|)mK!6(2~Y|eP?OIR%!|#Dj9cD3w4uxs&CHIyU^I1t8$`_su!;j7`CH% zG0SWm=+r8o(-gR&8$N!oT@iNb&dK?`DX#64I23V}>)KGbw&`vVT%CK__km-pUYuNO zXz+bcZpb-SJ|5U8BVOLMpjA(PAuKa6OEIwO>z6OTJox6TFQ4^qnymq3w9p=fg|7;0Hs#DbHRa8Zy|IE3w{(tzD718%KG|L;Y38c*A+@&EqtLz~5|+ng&8dQ`RD zRBd}nwN%)S**@ym`=MVS#zxpqHcuGj-D6AQ=hqa)ob|Jn2=AFf;ZtGpAfS^I@*w8E8-`hB><;wNbXJda;Fn?=w2+- zJLLzuiOe$j-W0g=w%1i;cI)O{I@BA4{=W=SMj8 z#$T(d(WR`zSacU57HNp`>6MvN04$6LGEa&+yiGb5FVAyDG^gQ`<*9P)nwi%M$b9R&Rd;|Po0FZZyfA*g#8din8VOrvOu{9fMYAk zj1b~AgGhM1SfpS#J1qkWPBBL(-n+p^k=_&&j$`nE+{vxke)e)qRzf=;sBQeQ3KK^l zMLyClxfCzzn*{509}wl{ewk%>mVQG5oYLM?I6$VK$zmCDAT=qH9A{z^QFSWihk<#=n36M%&N&Q~fR3|+spHiWI` zGT#kEZ>_R)GX@<50>3X_$BACV1;wd$gs*;aS7Ew}FcewN&U|fijg)FgiAFS!$ii)i zM$qq>UQsaMLugfqL$$!0!#46UxXa&BMa)T&PBd(*WiuPG3s^1<_SZsv*5|AOOnukotRm&CI5Xa&)R#=|2djq8`UJ~e?cm&zrdr=ugR69#+YPY(>j_s8b5V~o zo!8aK>_@2jti@Tg^093CwE?E!>Y*)ca$~9)l2dU+kxdypV18=fPoI-9=}>?!hL^#} z*;s2vB%Ko@Y_skycw>H3e{s@ZskAy>|Jy1^sOiO=M4eM~B@NeZJGO1xwr$($*jC3@ z$J()NcWm1`wyjRmIeEWv#`tgQsxIrI)>?Bu&z(dkBPKCo)Mc4kMTi&{!87DhS@1A$ z;kB}<>58IyTlYrE(wS|wVt#JK>2xQ4C)gcij8~88YGvx*9ln>zk^ggZd)horndG@y zLCfXhI*&F_z|@a2W0hFOxM4EpOlGL$!yh4smbblLB!2DDd%T~;`N|Qsnh>FI@fxIV zMTgoFoE@55Nqow;tL%kQ+R!HCU|w1tLrNq6&N9fslby8``#!k50ntuc1B(oa zdt+<atQ&)9C$jm} znYFbuHjesiNhH;lC!C6~jPsbLlh4Kriu_~q&7}98$im?yCJSt|dpOi{n+^RGowGEuFJxIMn9P3%2=)A1Xpy7S6ap~M_ zJV8^P5^hi`OrgZU+|LjzCbtVZfsC4eUbKulP%E{Jp6Jzep*E3erKAm>5tolV8hB4^ zSlJa7>kX^S)Vgh+Op(OQN<@GBD`N%(@PX7J8_wYca&*HZ?00#&A4%_utNHJ1oSSTd zQiZd@0x%-45IN38lI@?Ov^!!Lv~i&7^mV=;KCP_Hh^;0T+@j}=p5=^fF&O9=?!oAq zR97fvqVFNLm0e5I1JDRhl|_%wP;J^d{chV_iYIyyvd7F$W;Ww~(Eb~`C5(^}a*_v~ z{c@9TTX@Dtf~^I0-{ZiyXxpn`y5ZfN_{M8lfrtBF4 z+N)>ZAM?PiAHNBQ;iQw-&kz|5OHPMF8NBNX@NcuR0y5+&1HA73Lj0mV37hoy=}RbR zAv!{H%K=ZR&%)>SgH)q6$iZa&v{dT*WQW?=JO9Jx(b2Waz;5G5V$^?_Ha@Y&Vaa3ucPED`HmJUyP*a%4eB9F>n+`y+`xW3{ld^W1eP!e5RYU`6vxt)21JruT( z`Zw!1SDp5Su^fd~hAYP7B#(M))Lu2VTkSh_)#|KoJFsuw&JY_M)hw@!?wLx?@>)2? zJ41~okUBN>dEOFyB}rZ=_EQr^@PEVxHvIZ34+MaB$B2R&_cvQsk~L;}U{wTI@VUmX zsQd!gq?Ef$Au<_;e!WSl1@V9eGIaYwUznn)+o--V_bLtb9$NpfrxkH_gwLs(IAT?6 zXlQ8C(=zpRbIe3|DXxqy4SEQ$tWK`NUNx9CP%0CH9-9a@F9VZ zBp0Rn|KA&ejWN58Qp*YtR{YmKLm;U5flHfv_*P)lJI2d=y&jlT0unVR9!vUL0PG3( zH1D7O%HQOh8EU<-3U===iR3lk&aZ0gA%^Mod+;xD)kUiTdX(KH;S@E%`|OVC`2+i6 zuhqRynR|P^&4$it<5=u#Ap8!hh!|dv1^+vjpDoOG*50Q07a5x$LPn#);3`DAkq`W*OG1Yao`AD*;Y_D*?A$f_j9?rrq9f==SHH z`Lcwgblhe+J=23qT5zSpJ{dz0hS3&ht)2Iob5SMEmK9s^N%F)hIjnu;-v-^Bk^ih8 z`mJ_tCswiV!L!dwF0^qN+=}!oK5{TDp_G(ZZ7;p&d8kFuV>n&xS)5Tmz@Ihq!!P$$ zC_SoYw+iFG&Hq7Xh|j;1;FVD*$~jfhy0?>F!SN*5ads|4++vdHUZ{znQqM5)7E$j0 zi52H(!;~{06$(2trk%QjBk+mO4Y<>n!*Ia6Ouc-->>oN5xq?3e`F8lFw!fdkC0Z~N zqv?@b4wx0v;dl&`Hhs&zcT>1kjvTnko1{hN#PK&Mx?wcXHMAGZ=9P+WH z`aGFSy^FHO^d^q`=0=`9LZ{Sx6!4R9#*aPXjqAAW;C=l_OiF`1S_7u8(O!3ChQDT!Gd+tHT%YX3>yass1~rJn}6Ih5ReFLxVq z3!)n3XiF62`GqN^;{m+7)tpr5SV^iug_u4m(;tkC{MX4ng?tm!D-i}KZ%!eQq7IU5 z?O!=5n{6FMRp|cx=?wSIxFQ{J$gUXl!3rGV9-7E>8sJAX0FF^GkrdF5ED)ehl7cih zD9NN+T$wDUSd;rC$LB>qi6(%vGPuDcoF+$j9R;GjM6h(^0%Es&+`0^aI}lu7X}{l( z@cmF#<~DdZi57gm)Bt60gdy06Lt@Hm0&b^ zU2dg#9f?%<{?x!RYTQHR8QRs8?FE(Hivrdpo4jY0H580zx`pD?D&&1Hpv-IFj6bbFz3Cf((9A*Yr#DG znBXA4#rm;A_!!-@GB?Q>j`>+@vkvB3e&lK0!VxT3=8p;;qS8ggUs-SHM)ax3t0T_`=lCNo8SggVFN1lSLlceIUlqmn~K*d@r0Knk?s zLA0gr@^W@cz7g8jJ5M+O8omEjFNBZJcnjNxA6f4^sVXQYFlCK3WFuEj({OOo?s8n+ z*>%n)d6A5a3&*NMMi%V3S3h{f!9C#?cV3;9D>WxRmZ?;8(qs=Sc69@T*Q`g0b1bUb z0fm5mL`ObVO3oFG%!N~k{yknzR&l#Jcg-!nxc>}@cy|w}_<<%~B}Vg~gjZ9AT@YN1!t8Va;QLX!KNS!if+Fg?nvSmu_s^Oeg4wW4s#4)jnRdKl zlvYCpJISIj0ML(82#1xLiCrRXAD~{_KpaV0DzV{_RFIw^V&M~!TL!yL3ShB)) zaZvX3%oXp{VQE>|?slY-y;_kA(0$KgTlJ>XjV2IB;nIO z=P(}Awl0xuYVB1il4+Quv*hx1xGa%%8(-y;WOaCNNhMa}ue#qvIrM_MIlPKJ)5(ry z%kSk8ZB(!VxXmw;K9cVqOT*preM)yO7)fqdiVHKV+AU*l4MV6t(CBPr&0F%i6FpD0 zv8CuTwH1GKkppZWDuC3M=3CXcu_*EGyJkmPCG!!r5IL}?S?--!Gz>LMlPXq35p(-( zTWQzu8-82Y{yNjYKmWHtsmP-FI1vA}%(`~dEA+7|p-jIjv4CnN4P9)r;6apPY<iS!)-x62arGr>1yTPUi9HZaSo`4?IdWb^c^Nz`1*C`1NjE!WD zxV$N6tiJWwooS!DrqPR>-`_C$+lbA0-dNkTsqcACO~*`>XpILPoN>0>4RMnUPdsgeV&+#b+73z zEe1zU=I}%jwiHW@V(iWDMQmWrW6aS~>oGyHLFi8?c~;wRcuYW{u9^#wp8=l{wJ=>fWlcmpAu5b2e0lu00u)88&%TB6Aa&ygSIQ}rk9wo+aq)J8%lZTTyJAGM! ztx&Uk4Wup_Z@p9wni6iMqI!s=3rZ1mzZjsz)zH>n$Q7Ylkj5lf*yQnP(SeS(#$&5v zWDM3qf1WlW_8YzI=z5cPl~Q)~`cotWxUW^092*}UhcL33q0U?w3M1n@r=IRW?xk-h zX-$j(A6@-3hB;PVThbYFJaJN9=*)oIEhPwa_pA23-garq%oy!cyRvda(A$KXXG_Fa z45kP=ggrl>(KNH*UuU`2J6_N;YHQ>iHYMWKIeF)80Ww@z@LiuApja~C2t{wn=(U)7 zAJw$RnKi9^B(b(2W|v)}DjC8jMXHTf{Fz=DX`rA9eSP#T3~Xf#zer6>Wp0ftGs2SJ zp>|ux>)180Q@F6_G;J+-Cyd*T(`8PccnD8@rD|uew^mKZ|GiSz-0=w_CFCWeM>RA| zIHz~k@+AqNH5I=d$+05vH=g%q2xXtvTWeOfB(S(M8jd*yh@)9AGhTCHk{DUycA^71 zp)Q8X;%t0h3m<3U8N_nhvOzVhwO6Z_n>KsS%ltRUTVE;w8}%FhfLwP|zZ;HEZWd2p z)2!Ou7hl<0gE7K~&JLB7c&?}gmiAg~*iosyq=@9EVF?nSadSd{3Co`SmRdH)o;aTa zdG7&$3T6b?2-m{SLQ20qZ;^GJkweGge$J;%iyDQdO+*fYa$wG`D~Kjaavg7n^A_~% zCUF+;zz{G_#KR_5rgSEv|L|L1*XS$?Fq!Y#{2_yx4q8X;$!<1Fx+Jp?jj$v2ndVeN z_R9&@#Jj~Ih)nX?9Ik_u;1L=CQXq#H0L@ztW``}4XimsFvIBP`Zl|ed8YRh?$N(BQ zVf0-^30p$YZ$VT3OqpZ-7dc94flY8RuDZ%;tf^JstS}`0zHcW@-u&?sc~s69l_E^q z_<9)UzBS_|MX{Djc>?{jXQ_@GO;vJmoy}enUi2a&Fv#Ks#OPe|LX`a|3WQqsPFAg| ztwWwTQ`x5sXj;IIlz8LiT%2KLcq^5muyrePBj|l#D7Nl^t#>1i zN~?8P3DD$|t7ATx?~nC7lgxv8{(IWIBI0!SuD>d0a5h;0%PnD*>Z=hj6fiig3KXS5 zXSsVQ1!uM*>=2c(?e-LJG{rs^MvvCi)2PP$t3u(w$Z`?5rZO9H2IIx-u~^$BWYk&& zUvHk1V`wJ_XTDVR!iw=6v2j7UTgC5~mMDUre&2W#u%mUb+UpR3CeC$NrvY)3%siw# z4xw;z*F2mi6^`^sYJSr)1uhwgxrh}Bp6=(=A_EVp)Aptfjvj1qII7jxm{)5OC#f^&K+u z2I2PbxVxJzPR1lVt^h=nQHHSNBMefaXvD8Y`DJJnR)?Po!5T^Z+I zzm*1_epsoU`g4Zuf5Ws?WrrzBh5!Fduk#y{>ybPQLgn{%g8~UBh+IF*-A@?6xOj1he%kPge!^r#iz-}Zvn5xCVHCN0k`v<|D z!WC@=unu>#aNqrkv?X6qpaV_{tcel(c9XehLW_h4I}$zTJ7PC9fmL=HI*xyX06>;F zdvnT~(iiO$|I9XsM=zWpi&AYS6TsFE^>CfbKgY*exPDlH zCN_UPOftQHaXx(~_S9Alqaod{Mh28Xi}9?4m4o!Fr8oj^hMImK3&TOq>bV*YA%G@X zaQWU7%W$h;wK#-G`vrg$VK~Q0rtXL#SXP)X+Qhey zi#6Wwmqc+s6g9}@ziC&HETS>e^!)i({()p`6^7is7}k`KN=2xsCN-r-zDQ~Rnkj$E z4R#rgj?tcXmLY&JRLz|PM;U>@dv(E`)LzPoW48I7xI>lt`Wy-v&L<$lv>oM@0t(D0uiCD2mYEOlV7PhTd#|(oCj(iHeKhN6xUK?aiE1VWnbSQ1+dj zLgNp#y%=1pKf2$FVdQ9`d{2CQr^~OMHnw#Ar=ndFary2ywYlb3l5q?R00g0^Y5Q=& zZI8cDeOX z&6(!!gR3wnibp4Y11edV0=$7oW_fEKy(sowN@37aBbGVtot$1*4xe z2T^UHg*Z!GxDxj)sdO039A^C)$kQLri-Crn%5=vq>%XkM-!PW1dIS<(Y=G1&{Hn|` z*RteaLri%NJq?a0dNF2Vj`OD%JRBZh;xCeNHwgPeurg11Rgo)}@TF94XS3vxv|Lr4 z;m&dV3vlwuakR*ub`3df#scWdPzN~?k&C#lyA#88AeCfc6e{N@MP94*PMR~_Rr6{m zSE{6nT^p_qFnrg<>QlYO9Qj4)R70bgPGI=qq1ZPG{-t%Hf|JLB_)XGj!RxN!*#P5IL0S=iDnct(*#O-Dhb}` zB3dbWDC|UnXs}9W;8k)IQ0nS!zpvK7hM4;yEM!k0m+`f1?Fc6c(tk-#4_Yay02SUv z)oV1Pa?~YB>`q>?KurCLBX+QwHrY9j$qy7VpKqYix+pC7Ml*GD=whlV2#1-f`iGX| z4-rd7`*x=T3$1@9(iE6G%Ot_Vsbj6tcUwj4MTR@OH>vsbeSG_1-qIeZcYjT;@OP!| zCKyeElvApxrwt;+E8|yu8Y^lrA8Q+$8)Hg9;JCCLNB-7q0fp^KOht}()a3qf@rNGC zk~+uz+>w5lty?Q9NHDc8+s|el%AKdL# zq8%66(@UO9=v2U;yjsKGw|92P2O(H$jKEU13hz7$F5r&QIzl~i?L?*wj>o<6_5j}l}xo6U<_k&RUh1KH9qV3 zpe9J>VjONF;3i2woQ>BTn|-Su&N+Mw<>85rcvK}nX&4cX*)P1m=A4xIocIEIX!njR zDzI!W&d=@lnSG)U2m(CpfrDX64UF_k9Xa%6U9cVupVD83+y4d02##}7Ogf_i0-o zR!rCSP574l-9;8~WJ`vtxBXI%_|@$rzWxoRO}*xm;^adj{zje6(cXKb7<-ky`=mkR z_rUEPmtcP%2)JRN`TU+cz)6!SqZ}xrnzZ@_aT97(fy>jXvX#aMq{IA8I22eb?#RPZ zOrYE6qS{>Vf2ZAd4I1%_GR8u?r|w87-#m=G^WOzpoytjydMe{JuP%+m@@9A zQd0DEh_!_f(3MFyxXr}rj*559-sV)I3flLVk}V)0LvG3?pnJ;*bFF21a)LGD?+fZQ zVCYP@hYxEAO~gRTpWvv#YT=#8ry zYt0w0t+3YR&nUr-QaW#LIHNF=I(_Rs2^+WhpS13t3vY|=`r?x+k04K&wLGq2pVAK8 zY{5D5Gww34o(G1miccT<_!=xKCNDgy4~X+bse%O{8~Cu@Gt z9~{vRsqXTm>4Na!=j2sxVqj^1{qE zOP?p;;RL|-wbV>s{jKsTM^=3Nk0hRb_TEVjKQ={LtDH02{Xd(2s7+VA`RLPK)Zj8O z8ryQ|K7(fLbxXYAeIiMH4RY-Fd$P7aoYm8~@4~48HCvIvmIIykd8dI5_XJfk9z130 zk1UxN9W7d~ZlPSEAOW7~?UDab^I(kVV3jOXXQ^dAcrf&cP}-od4Ev{IOdUm3iRuO$ zJ;9_68l#oXq=s{8L)r7mBB>cc*HBhesW|Cvb`{X6JTi^%qPbO!kurl4gMAxNs&bjWV#X!ztN!?Q$)C~w74Q1oTo7D@V;e29%ZJbdGzC$4tFXL`%D>$yprIs$B+ zO%DBLs-|Bos#*pm`t@lO^kEFQ=-vknIH zBZI!dAWqkwl?VC&XP5u-X9JNb#}YEZ6P%*FaXGY7oL<~^EHnMQNH+E`q)U20M&X`PC&MecG9G4|9=!`!#@tTrVs_EcC zRXI-wGjk|~R4Qdu^Mr?Cif1!h5TBMSg0dDqfrq#Iosu=&-(M>%4H=(4ZchLUMhN)W ziuEmF_{PG@Jg?>t@6_p0^2624Eok)Aw({|6LtAI+$(-7oBIlQ%f}B?9z|WosvSYG( zmckZt?@d+bG57ner}`82)yb(To_ss6Lh5pD#{*6BxqcXIYi(mKEmI`cL=SLKcI9tC z_(GP`>HAbbD0cFsO6kt_h7QoF04qmxw485FW2*BX*}ptZFhpftaI<5h z!h=?$g`fSc5f8eSU#`8;0Jm}ymmmL3QKY>jL1U36+T?3K@-A~9>!;39jxmXL}X z?0gWvXd}eH; z*JMRYS?_n8g)(9}-RGS^QySW0|2ctwO&osF(?-rwy`8q5dpSSFtlT&F?R67%^+?|o z&iQ}p%YsPii|zYyICXg}$BDY>=`7e+;Cnf5-{Fe zzutlxeP$GmAlleSVn`4yp58R%&`0$#mrubPC6kw?mLYOQc@D9FGx89qIN|i$$e}7nA)zj%^WqUg zxL&w6^T8GI5DO&w$E_WWdujg)&!Kavasy+-4vKfbxQiA-c}}hBn3F^4>z{GRUUKa- zsZiu@a=%F9ieV*Qonu0~D#`BF?sMn?D+ zBVIsVn`59IYWV#~Y;N8}^3o$@F|n~^TBLKt&(fI;#9?E8>S&4@YR0#XZjo8bSd-S) z41pS=yY#1rzP@3YRPvlk$bb7y4c>oX%a}F5$ZL4W{gTO}U&44@=wcq5l+w%NCgQnR zPc-v#Lv>o{2s?8`%}xuy;iJ>s%XNwxjZ7ko*Jf71+TI7GId z3w|w}6)Kf3&WJT&m|EDJi467y&C^DX!N>|;!r#n0aN zc`8~tw3PDAV%Xu;3l~cUIt8!b9n%I#7Aed`b9!&8ESv9~Zl$Ed*x*MdIrv1%tFyFY zP_Vl~&XAL?s9szLPhgEigxqmsRF#JEZjI`YS^2$W5;@*F{y^Uwi|Tbm4q(oMRU=jm zz91$o;9KD|LG#UI?O#pMiwC;rlS;(o)`=U|l{hC3nqr@}8&@gZaX5Z1d!_R*C$6aelVK z?YZynobX3VvIH&G@44BXFO!0#IMTExO%qcz6tIba!U4k6`TV2)U>Y!taM%@O!?sAl zf-D;Tz$4Y8p)%k($OEU1Q?k2Nqn7t$JY5b14AgECYZdpC&L{B&sRX2gM^KMty|V&N z0U@Z(Srt3>N~U899^m2F1N*>}yaX#qf;7({<ji_% zZ{Zo#%{M!03jboGx;}`NUINDZ!|5fczAa^@j=y=%i$iX7`6GCH13``sCQFuwt;yJw zhplFp*kh?S5c1)aOrDRQx; z{iIf8RYa;+v*8-@9@0qe=4ZJA^<>mHxibt4E|i;Cvhyy)AoTcdtR!r{$u-FZSSOt= z z{Imk-cy%X@milPi4->ZjSp5%FgJzsp&vQ!kSp(Jo58@m0XwphZx2sa>n=r7GTK=!P z<@~?umh%?G*5Y%5Aoq1X-E_T(3oFG~N8ImHPlP8Jje<{mtD3H*xaf#*pJgqd_f2L( z0EzoHm-@-(h^&uh2Ma-Qx@KOhSVfFIF=aPCP`DJJ_IIcnIEpEPR!gE-ki1O^_Cx#J zT23y|{a+%b(02w)YSuQWa9`sf7SL?$W2PYXnUIsB6+#HT( z^hxJcx-s6CoKGgNQmnnIV>EkeQ~r_A=sqI$QOy)TA`Jyt(5Sd&dX!sEG%Pp)pcQ}+ zX@J#&x>wKPeR&i(EGDp(G8K94P-k)>gAENy8#t}t73#$kp$v6Foch+ZNzNSR4N=mj+q%fVTq=7 zd;L3PxQlnOVPG&sF`b;55HG-EtiS?mp!7hEsU6SUUCrsgHVOH7p)x;9_;E6YgEYEP zG~*;NYVDnRUn=C0#i*<|w|-oiD6e6g*gt1K;Tc$Avu zU7N-#vb2(p*;byY5_HU^jFWax9Lt~wj9I|TMgUlaICGV(axL5v^LZ3To(S51gICJ+#Ma z1su)+azadlb~`D`pqc7R3~r1KjP7kDF)0XH|DACuRfDXfk}MYLiG#@!cCbFwJVMf=<}hp{ 7l2IgVQ66Ur(VQ9KDuhPCAne{Wo^-2-rUClZFcNiRq12bl5_Xt&gik^yy z_=-YboW{p4Wr2QGiE6V_V2sh=Gym-RcIkEQ|FXrehcmq8p5d2l^8^06dedb1c}lL+ z${%^4%98jfz2vnpB5Ar$X|rv0w8$%I-L}?LNsjFtf}4(tup{^-COu&`EtF;kr)lKI zDsj8)z;7Y~UhC}w&()?t;j%lSS5$j|Wcr#0j|gj2Nm->-)7`Dm#j>#vA&#CuGP$mX zNXkLs^NyUo%o3S#h<0{=Xq-{JpdN`D2PeTjh$OZyPwRx=^!YZ$dNB^|XM1e20l@J5 zd@t4+6o5dhS-WXYOvUF$?fKx5%B66|_7yXaL&5LNgWH}`wY!p3vYP8498Ay>-GU-)4@SgWg9*J@4Bfth z)f%@@PfSBJNgET*_PkbD+^&uj9!(_Cv6aEutA3?mmUK0gg>oa)1&?iVbW(XXXkQN=ZmsC9~W!SRT1FEb=prX+)-^AoDqQDxP@rv z#(quL1zsQ0Iba@9j2kW}1W^d)&{}jVVls_oC+29FyA#f^gQ%=kEToiKLr-V7gBu^= zKQyC~@$CVb#ra9Y$)46Ip`lt`3=SfqawX2A>a5WT*KH^dHUXNBJjT-LXBx7Qeb-sC znD+0Zq{;aD?|=(4UwqANvM(mE3fdtWp7nb>(pQ3!oOZu_h!yz{TkIi#-v|26_iyHRST}?JRTTS`p>*Lz@4v4r zf%T+K?xfjwEcjk8!ph0Tn?(XOMj`{2o&gO30=$bj=9th*?ow$En)MZV`JsP<|Mq^3 zld?G{rGN*5m$8gGX01WCroI3PIRLDdOZF37<5neKi&5m+;D&2)5$5Q!)Ez1 zo)1C-fE9;t-OUOK_{`obj8G-+tHtXd1h`Rg;@=dq&9M$P+{ z|5kE4`=R8fB~4PB{COV0`0w}5*Z3Tj7FD#au*D4Bk4AP(wSS;MQroHXWSNi=yTYGL zHu+-PN!i_z3K&Gkji$5bHLe??q`ud{OjPZ=*QJalwf$#7`!x#o)eBX(mLIE_L31)}DLf^jixKcRTeFud9h_12p7D%&Gw*Cd+JdgUgGCxesS7X2 zMhJjdo-ao$BZVd@dKt+^`6hw)>`9BoHj)n+Y-!H^U7y3VlkdcE89m1Wj5Gd=A?|6`g5^ zx&X3|EQ(@H_3k<9Bn1~`-OK70}Rc3>SG>P;XFpJI^;=YHL3Vl6Q zhBrN_j&NMI=iOR*pwENwr=J%{@tX^=CmE%drN&J>PWi-mTq~3-?p#xFjt&;WZDs%z zyTZt*JvPp$c0n#ixgvl|ipBEpppbU*NM;I|G!7gMfkfZR7?NfyqdNZZAL_K>PHazn zA`@gc$$#i;U}{V zl;+qasH#}kXhEzF4=!^~Yh>j3 zn*4!{`YpNbUgPl+yC_>pQ*o{0{vvNFw;YG`PF#xr$itscYKu zqxW}@wFq|J1P3#H@aKqf7tM_D%uq5Je1s(vzCQJ=b3Ts`*(Bvqp&bV~-XRi0J8xc$ zRbD74V#xu?)r4cF&ZaHAzmMgM4SXn#O9}&u3^ad)Jez004YjCPpt`zl8YhV=9#CP! z`Q z+Sk>0jXzzdw)ch7-Zh&?$-pZRat`@pA!3YYrW|))&v-(f;e2=xB~Ca^Wv}I@LX-<* zIJhVsxMl>v%hMq?ZJ z>iT+93MuvGWUV3OKM2gqs&Z00NbsA z`@{7pDxStbBGBRsN_hKwtdgdlJ7cjlq9Df8x<+;ae?)}*EgXSYKhB z$R|G21=j;}OFHcNb7@ik$DQJ+>P)YPprEwH@-FWin~AEc@}y4bXe}hF^NEx+E3g3J zkVhROkwb3_U0z?eSu?Z1V-Un%I#Kn-l%iv8Nh6p0LL;o>$z#1F_Czz>*Q&y3kT8gehmyQHP zw7%Xk578x(NA7mhu_}Qjt@Gjd;S7sG-<8a)kNj;;il4mdX`qgkiMczUH7jWwUFD@YJr?2Z0UF- zTe)kpYe*f~wroPfPXopprS!tx9I^!K8{Yc)M>y|wMFI`;gvw(G2=j$zF8dxzhT?HE zq}?s2!c=>5^RCFKzXn%np!OqD$Pk%=JHf&}$QkbC>Se_ltXqktuTZU$e}UX2$>!We zkJ zW_~daOPqL;LKaVf+OFUc;WqQ}yTc-p4R80Y&b`hzcSYgpA}P;reetmcH@DF+fdZi7*PiW}n82;Og{Vrk59^HUCc8C2g zx3RE~mBNXfIQ(K=g$Tz>8eksUk34p8XDF^+XmZkZG?s5U#LTY{XPD4S|F4He(WcEB zT=Ey7D+8+R)HmSWu&p~sk#u51%u)*s2610isiiB2yKdB}1O;rES!!yr5&QF}S{iqk zfbT-j}?s<-m{FwL>Gb!uDuRXgJrS zY$OMzSX2C!7RFlRVON@N9BHMO7FbFgHcn5TyjtDNNfc}`eu#o?&Q%bKK= z;D6*fyAgQB$cn6Ou^J<(5nM*2@t9k(22Dp+v*ph+=i zK7N0M4-8rD=L(5-;afZwc?`XpHPb?gc7A35oZ@NcTSpXVA0$+fNvPif6OzgvGAO-f z{+Teg4l`{_R2Do#?PPuuCiANs`(TO~%qNZfuSt>;wYr-yp_!<})p;X{NPZChQPY*9 z-Fu;f@rIAv=>5byWBv`RTgY*;JM~?*|8SLL)^*;RW{Q2Fu%op%MJ#bBGZtkv^eZJX zcpj{TE1V2Glawb-d60DU#hhTg3hIj|^ew4Y2^3jmf*6qwP~AKVDpH|#H{o*37}|Ae zzOlvC<~WBv-D0cJ;}ci6z`be)GR=Pqy4azPlVjBg9RUhy89t2;TW#g`2<->c-$l(w zj}VS|dj1dbKZ>wJ3ab;*I-;_f>9C)Gg;dji%d=8gdRMesf2{}C9lKV;sw$Adm6s2 zZ9PobZXR8?^eV6e=<~bun-1tJY_-tcx|1mLPicNC9p`>JIU%aez7+HP!0TygCCXi1 zhm>bOe1eh-e(mECwpk^<<-_3MR)v6CsUxFiW+2 zwn~Rzd{xay9OHyDp#OK2Q0m~?qK{hSK5hct#c54Jpq*mRaVB`MOoAa)lc5(ef&iD& zY4%l=i6|+M1Cbq};s}B`zsvmMowux651f16UiC*?S)TI25$T4EcLwOY$5?V&@~gSN(;tuod#6y0 zKm1swBsylF%#s*0H|b9tC=k~FT4}o{eiIf3>h*F!@nFI98e@f@LBHxZ58ICqt(RpE zE$(luNlzR#EU`JK2N@&n?O=?wlKG1DDqPCF}%S0)I+WcI* z871ZTK!j*grB(EfB3kbBVg3W~3K zBwH5Ho+YDum0m_%Iny>5_{vKCVE&sKhpZRv@9U`%N`*1C0Lw(#VV#+#J{PCXVF}k% z@IXc~B2_R<&qzv!W`MZo!&!q5PFO|~A;{{i#T2=X+wigUvOUL{tCV7|Yz*f_R0x44>nPLo0f`NoLB@zf_i zI?Il4MBl8moF_#~8hlw=h(cBkZtqrP+~>YZ5bw=kh6uB$|TFI}ulE*qNrFF<|s{?MOT|rp)Z@9UeQbV{km1g{N;6 zy9Qv)v$~HX-))K4M9r|y4-a*b1*@36HnVc-?2>;4)rR)SyEf~O`GAk*rl`VQ zU}>jv0vfOh;}APH6~2xJSFq9i!7Yvu!k1jU3#EnN+9se#pMW6Vk3}Pu0t~-TJGnBf z10J|FtMcI4?^6|IXlE5JdmU252%j;gXB6}w#Bc)o;VK_fK=YoT zv^Nr<5HLBhu+oB#Sx_1HleCBRB3QN#9@~UkwJZzoKivlr=fLF=FMFfHPbg5f6CUfW z<8dl13{rUhrmkGcd{fgJs;1kVczUJVT#Fn%w>@Jr9AA{Rv)2KiogKrgYR&GPr>}T= zb}WUd;fSSpdUh;Dl9L;f^ziIBUceQxYf%!sPM#Y>ut;3jAE>M}I|nOg{#Da)&!w2C z=;9)_Lq{a#GWQ+`@Ek-kwU z8l$l^Zp^X}mo$+=l3!g4$#?ku8sE1b3vOvn%cQ_)WRGV7MZlb;v2uqqRA@gunNr@f zX1$bDWJ^Rc5*xPn5VC*?~9v0cKgPhP7RyL4%2t+Ls-#gh{ z-kS%R2BKTk>-=5XF8D@Q)zuI34%K)k&bjmu$Sq8Q_8h z;}nTCJVvZ;A+o~wck9jO#0gn%9T7bQ>+KL(@7Y2Ga$uobzE^%OavygdRs@ChO$0*i zRzN+JFc7b*MXd|fH2UWm^lS&+wz3Ukd=%~5C8jYdxYR;0t>c1!5u-21E{6F6SsU{gdOMryUPH^gqDkvcEIT`(O zkkQ^PPbOyVoyA(0uocD8soF@`?0Z{bap((aXZbWuN>{70APXcFm8;H_cf8dp^P;E~ zxBs%VEM+@1=;{JPCv}!>nzmCXe8TD=eGU3`U6chLO`dJ}GeyR==Iiz~H!4U=KK^)q z$uWJ6c>h+c@87eQTl&MjQUnP3zlQR(fE`Xg_Nu6UKY#ueqKR858*cplU;o{^jy{Cp zzdru?-{&tlj<;#{Y24ecQ{op^@&la|CTx7-DiQ^jXy~Gz8OWON1vU_&9hn5fmj{8O zEV3mFg*C|Xj&7|{P0q#U7xRf*a!kmB^wk)_=A*BV3xnB zPkWAk7jm$W`CiUt%jJnyf~!kNmn<}2mfloiUO`VN#vnKh~sqTKgYJy-(PdhOu&Jy31hPdASYf1(Or zB2Nc5h1BEYSQ6M)S2qV4=%ss#eL=c(`oujvqXrm4*^#94H_vYj();ag9W!sHpoH|; zby{C}P=Uo+MKcO{i-PLCX(HXh_K3qv>DaVUBK7Q~IbVEVlwUX#d=zjl5;p64BH65E zgr-#-F}Y<}nP0aa=Z7emj2I6GFQ?G$xlMAGm1*N1Cpv1Uy`;YK@P+y??9X^v*0*}c zx#U&=*DvtFoCP>I#Yo1vT((#pA0}In`|9rlUW|-}b?Pih1QG!8!D_Z3U{M$DgW$+* zpgpE)6C@}WA6(oB;=PF@uXpIhO|u=Z8n$2TuirH#qNdm_QiY}%WNPgZm*NZQuIFFF z5hwY=7o&EQW&Fgm*p!Jdf2>qf%%9ADzR|^Zl0{mSgN4d1{k6aDCc^WNrd;rAz((V& z@hZ3OS@AI^i1_ffxiowWr?7k`R}14AzTs@DR8&sBHPqm&e|xLm$nIJ8i5z{R&=lXO z+Tu(qBzk7@ z!;*d@^TJerC=;QTpGi>i@}oE8qCVKUW}=G^_~)knNW8463E zBf5;dQFGWe;z4&PgIRAr-&axnJoXoWmxS}@KBZI1ErZn(?|9CW$lST+E7IC42K}Pa zr}z|%qB(?!XnKXASL!@IFOvR&N*7iz(v0|u7{@KFj^4sowS8cm*qC0{%cXno2Vf{Z z9~-UrscUT={-kSnx=|SUW#(W5S$rWjUOqWZP@uVXs+=-%wtA$3U5JKlv61r2S-MDW z>G|k;sC#cI}+P0M90Qx}Kz2c;8UgXER!QpKcZl=dJ4LrYNzwu~>(bU#qhC#1aXL|BC4( z;5C8R#-xPP+P2RSWCr+vfRlwcZ+sQ2ks> zRW^$3{7QfMua6)9{BPGo>NCi+Sn>tV&hIfwuff#^tk5tm0FjW>sRk#Vn)35F2jl@% zkLYos^lbZ!!-!2Zxvm>c9{?C5NLjRCr zz2)Z@jy`L=)?Dq|Ry4{N4c(d|e50&76lIwcY zWTsPAU}b7yi_h$cFX?Fl=ngb|RTOY~L^IbqDeH`??8xX{pBQQx_M*TPm8gM2BRQ!l z@rxr^Q9l^Y#6*5e9%=krc;Z}c5dX=V`iI*Ta%%PqR`$xnU?+h)^m=bJ31_fwE^2Pq zTC3y#{m=jYIQ`Y6juKa{Rjv1srV1|0VBc!@@*e&+*D%<@eL5!WF5u)MBqvPf;4o#8 z{A%U?OpO|ZoA1u;RzyUa)=AFyID+v?+QR2{0kB-U#3teI4qHs7%wTk1 zLE|cS+B_^jY=!Mb@@RHgh}`5)6G+aiXFiea)G(m1Q(I?ZUFV z`iq>*#|lXF4V!fb@|gq*4y)u|5~7RhI#g66)AEL?wwZTC`GutQO?{l{is~}OD@I>& zc^2o~u}bPghaLetD&8{ee?C@N22^f+=Mo8pgE`c&Y@R%MVuP>h>fPqHEV4&G^Yyc( zBtvsmU1O>pwKLGWBZczZ)$28@u$ILNfs_-h--noZG7C6YwSa{|Xxe;=$7MQ`-nDK^ z!YGx4$6fTzI>@4+U|D!umD|u!`CFiVKh#xhE$5>hP07itEN#r+?)hQwdX;9(PHP*h zu2f#Kz)GLs@K^&w_$cQIdWhu%SPqv6OppU1irkV83y|OpWbN7vEF3^%ym)s}coKpI zXFM{Rz6_Hs06`0z86q1kphK+38iqELAyyHb@P&iohH`vFy}}t}|I;p((e-3xNW<(1zf+znM{G?O)V!!-Af_{(fEC*p zgX@j1{0Lj@U!LT3#{d6+P)h>@6aWGM2mp?fheC=JsfMM00ssI`1^^uZ8~|)-VlQrG zbTlB3yty&&D5BqWV?_fFx2IOzx?2#`!RU>znWg9rn=lCe2X1{?vA zlK}$;49?lu#yMbc!pIr>eUUL3oHI5C!|AK1s(W^J?T^;Ap zKsrS!BGztC!ZCjHo)&nFIfY|hbVon0Hepc=lRddhi& zr=4>C`QgUFQ_mQzZaRPP?DGc?IQ+GP=Y^-AG2GIU*-g_pVvS`TlCZ58+fF&s(0$5M zbFzu7WgXyJR!U%-Pb2pr5_REiXSb4kTTNWPm$oIG5u zRZk-~=M7~?K@W5r@K)3R;p!RZhJ={Yd1hLNOvBr+Ih!Y+COF8OvXa(y*C^}wAKO-1 zhmUSi)_S6K#GusouKq4M{@CZrmw&Q)&`Tc;FZ<3_$K5=2MdfwNANu+47ye+u;eSyZ zK6KAb*Z=H>EgyW>l06D{q1IqZ!j^(rIzalI*|YFGIfzbl+1Kvqz^ z@CKkDOW|ge(hIMHn`+A4_(jUG_Fqmv9oFq#zM-0i+NL~!-oj`h*AhiN1rTkQ#z2pXKec?yncJuZeb+bkqfQ@b93bmf%S}}3ATk{el8!Jpr{tI z<#{Ila>Q@xXbG++6nb5QyuF^0bf&VV{B6ietKTXmn@g3_*`{&Yt~r}oslBb?JGFor zNLzSqtUT?0dyI&$aeRZ*4xA3lSLLD!7egu13uvb1}8)#4PB$&DN<;iON(~f8y8+6YTy*n;l$Fc$E&x zK6!625~XY>NF!HqQKUGXOI&LM(;*#EIa5tgLw1JR)gZLS)nBCqCjoKTzhrnb(Qxd% z9p1={%rdQ;$h|-aYmgJ(4Ell{-a_t3H!wpx?85pIrLDLSq(FRU$S#x<{TbI@U+Q1t zSi{ms8ofnzto7D!>G{1Sdh0BD_M?35P0xAs>`BjR?Z1GYPc%KxSn_@r9mIzdk>2Xd zYDLvnu8>?nQRNCPX_aCv#A2&%!lle}UR0}Je_VRKPI958IpDe8JO!`UXyR2V=3=$BCC#jLgB_x;PaDv~Y1luXW zc1ciEfHFa%ln9!2sjoCZ|BM2NxBt$xpYqc~cD|hBI-+KNDuRT)TP<()c>jw68h4 zm>X`do`RGCt=)!1sDo`oj);PK)A)oXl$)t@_=D_i^$bQe7o+g?F$PKpGX@4%I{- z0^Y+-HXJ~Wkon~fwWv!vDPZD%n1EX%aiqN2*7+8jc78nA-FzqL3VZs8d&E&p54Vb| zcPf#eN>J7_Ze^h)Sh)I7^wO#PwRo!u5W5V{6uOLZ*%h>`7kq;{0y1_cy2v|!$X&qF zzi0}bkZ4=bnQ%)8{z%DOEV|uc(=OFmulc3>NWL=4eo%9LKk&LKA8tKiS0`63CroWJ?N~+XWLwFQN@~(cig0y30>ZZ(YZRfx z;<`T-odbB+6X#u8^R6r6*>frwB}b)Kg+uht2;u@&qz;L5SucB~q3mo0R8n5>0o1CS zXL}(>@lu+tnv2S$RrE)4ngV(Y4eeP?MuAoPAQ5RP*93;{uYY_EhWJ!8Yj+W2%TE?t zhx^J@2;mbOyB|W=^~w5MQBN0KMtfWHQ?40b#+qJpQ=|Ut_zH~F0x+*|1hk~fq#V^@o(@|^6yK+ zzu9sAVQ{tOOHKTPp9eop{2OfK-&woj-=OB-?1+7z5cbV>>uI_=rRv-5SI53V!@gha zihaz#Z_>L3{OjFSdpG6E#mZHh-duxypcW1kq{`l!x&2V6eL5yQT~g@qlQ0^}nr8SZ zHX(}XCLN+1)b7r%^;ZYULo3SDzax2AxC7nq$94Uur&sU7#_GLzSJk_4MveX%;LUYa zkO!}hQc#^x?<4gJm$a+bIQVsFvI7qBlM561TgP(9tqYglF8Ww+6Gg{W47elfuGCygZjW zI*vugnY@b`5MCDI~5S0#nocTK$8>+yCGh3lu=^eHOXK=CI>SVB)>xu84;BNmT@gXQ|Y zyMC|G?>+Q;8Q!ZRO$BAb^E}szFwyvAImQa9HECTV+1S%H!&B~8!RwKY@`wtKV@F8^ zqYv;2*aDx+|4}{|60h$09m-Q-I z6Bk=Z6%TMUkF^-n$?N25Uoc~_e+lb-$w0>K8DE2%A`-mp;tmXN7=1{}^p~hiJto)8 zke-qD#!{Jp-jNQn*-38%=f;An{~Sh^z~bh^H~rbX8;)~JZV)=~6K#oqgAx07gmMqdQ4SPfL{o^qm) zF`mA1qBl!bhm3n%kvWy(icB?BWS;tu3AD)IB+W`{eojkzNaaiE3C0=kbkY-REG%j) z9!gJ;-g5egXTjktV2!c+1gx2FqK&Lo!HE!hGA2&+B4Z*r9$e)FDMV5W&LNm2(mU)F zTg$}#&ZP2_ToUm90}%lcE0_js%N$~CnF-cJ{2P8rCLO-a%{YP#rAVvpF1_ar*k6G< zn>$m~fEE!5Doz6rU2>TX1rnB(=R&#(_rILI`Oc#u5;GU5~9Z zzO&^k^{fSFTQXn|PQoe;DVwzbBp8?XQ&35bw)o)mXcLqy>J#+F*7Xd^^CMh&p+gu5SN*2)?P5i z>EU>160|Fm&*pQfmU63_pf1u$&&Q&o^PV&hITrgdp`G99B4w$I=JgKL?`qH0x9Y_c`c~+ zD8_dYnN;{~tOEI1%@|+2o1gT(@xpjc$OsiCm)hkalaUvk#-d;6$O5kj%i&ibtHq}C(E9w|4l%4uMf;k%#I4E7zvVb>ktW7kI(0bb5T!s$2ehFFD_T~x_zkXRxT!8iv zbSQ!jX=pD&ha>2)hW2S2elN?cK_FvTghbWIBIHu88*pQ27Bh{*!te7WgM0P2fwN5X z`#@a3KZfETruyQr9|)`g?{R@O^bK19J4*Vv`P>`Y>nGPp&tk_A?eK?@{fD(w8jJWn zoNZ!c@h$IhF9ojzlJ)X~r2ee;c!j}V@%z$B6qrlp2cH5kRT%s$zb_q%0$bAg!M_2R zE(|`;?@PfzGOA@c!=BtjFgK?O~=rBrA3{LIGB0Dg*T{N77VOQKV&>A5Rapa+pth@9#pUq3yw=$TCqBBnTE>Rz`;N2C_j zcUQVV473L2<@Mrbr&gP{2;RL^zv^X0R8xxg`e5@ z8Q>76;XC)beTE3tMZRzs^_K`p_Q2VTpFZ~Y^Y1MFoz1^YCn&`NUzec7V_8bx(SyoQQU6aw)W=_xQ;7RExqaQPkRBp|eWX`9r z)L)uKW0d!%Fg^sSEnUXY>k5V(8nkRymyp_TUgk#bWL;YFbDkvW&xj1VeZvKD%)*j5 z96gOo;-J{PBo10lOX5H?OX9@B^9&2m(>y)j0M6Hd&;UXWxIlUkdlC*6-Va5^v@SH5 z7i!F^0aQgpPSmXC1$aP8U(wx>URFmIY3zNjypS;(qa$_dYTs?iJSTI>%yXV&HP3T? zEXK!*76xHQ!@~MGmYKh#L4q}h_?8f~3&Gc-@rJ`=Q?#krM4-)+KtoP3>?Adx&-gX^~0$twwv6T;8LFNVyabm|xL*O54TQo{q4cb$=QMiGr{~S|JdOeLlNd0EpC-zqe`e=r;d~mqwqgrRZuM)_T>FAwVI3kz zEcynpc(5Hq3qKF&1I1XX6M{KnUvyu^pJdK+w@qZn7RP+LC;FyeJz! zgK*3Yc$*$E0dSx%c1Qa;;Cm(j4s_V=s6t|1Y!fG=|H*2~`A-4;nbnlBrx5fcg1(3# z7`pE0C)l|a&imQCtr6j~8CUMQsE@MU&QlrLolq;b zf!qr_CZ{}Rj9&X98{4c;#Md1f7bq;jeRXRYwzWo@nQu4XrFG*gcS}{5q?$`o#nivu zl))UvAx+s`M;!|0&RiATM!)$bf9Et-&X`70cc$fZv87aOEfw2{?k{JgYf1g&Nv?Mz zI{8dYXWAo9f#>g$V$XQi%a!MPJQRoiO|x3oh;FKf^iV2Aquvw^OSw*3vr(PoJDt&w zA#)1*7Tn-bjI)!{w-!cRX$sOq7Djq>pF7-Ux?@84E)e`=_#I}!CoGxVg?Yq_U$bN8 zF)u&tM*SEfmzS%4ag>c?uI}*4y{fvL^60zMxI(5Q&mp+`tfNtS$<_bFPX4;KXEwt& zvTv76-ju;g^)gjGF59p$#f>axuCSk1`HUQLSnqI$IQoav;+Q>>vHMZ-@5NZNCdRVw zGhE^(ED{0y+wxJOEb{> z?@sBx40=zS%6g?acnZPKnBeWr!B#@|;2fMtGzBXJKWl>R=3ocG&zaz4bFhox-@|fTg;jeWFcFR=v2(VkiKWgk~te~;suXPG`>s0r0 zV7G>U(%8|ELu12V>k{m?sqWo@-4^~?V`J@2l!0JJ`{xL|U2jio5C5gHqd|ejj`mLz zwy*ap`{BPeb~Gx|*wNNi!tT&pMLWXhHTEd5pQ~fTU+b29cTRQh3GB}B1&zHD*uSk~ z!(Yn_cGpz*Ucl}O|D&mX;-07gy2&c*>5M7)bM5{?30mevEN@K|VZ8XCNnASuyRs=6enO*%P|!TVISR$8Ve zF2!5~4$jfoo;`MmBcY{hRPYh2c`Hy46{ALt-kk(y>0*QP$6Ot!9&D&Ppm!IkNU?rN zKJ+kP$QKMXaT)Mj$wl?WT%r{XtysB-c-=GskC(x%E^yUb(H|64s zY}rk|6+MlR$;QtxnC9DUe=_q~=K z99J^7x#XB$m&vSJz~huIGE2LK8NpTt%o6{VR8mNvJ(Q^fUpLaxSR3(J_gy23N!v%?72pEd1*dgGr*mJhaACt+p#mW3q@VCbB zk0tQ`2pBr5P>24nKp$y@J}FT2HUssHY!m2XP5JwkfPWAJ^Eead^Lf9TjoA>lE7PWT zS5ViBmBMCL{aWaJwTb-G0{(ssj4VDQ;AQoU-#}0(Oj`x_Sb7(5dxCJFI?0@gC_XDu zm&d@M_@X6?Mps0+I-j6We6V!-DARqhuy;_{ZzXIh&q@!Yy?B{65XMVPb6OAx|5p?4 zC&KYWe>v^g8`bb5u^Mg~j?I=5++|l)yHPAnC{FE~hwUSj}@7{DU zfP%SOQBGO?E5eS>d9^`$ZvnVuS1qvNe5d)RAxSPlPRAnImmkY%*{bE1jA7` z%i|+AMK?b0S3hzSxP0V>lKZ*8)6(dcNJ~-G`FC))> zVPk2+GIMJr8(7EoosAAo^V*xbc~P;_;<;ff_&&_ip*RI(AS7 zk(bycX2z|xgVKTaRwr76MGm9P4OdSgYPC5D985)e*z3Hwo}L`EaKgEeGKcfpb`-Z>Eb@9^%`KfaTd?CGPEn~hs(aaZ{R~Ou{ zROblKmK&!05{V1jQehcLl?XFgUQY#PwEqR~lA&kg=7R!pa0nv1Qad)29A?NqVBRh^ zyj|SD+oY|L!%-qabeX|-6N8h&VApqv!ET(vx*Ap;PF-`oCOqFGM9(08PV}jqk3PaW z<3XtlMa}&4+f2PU)(>Sgt7Wurq|dG&jj1gWohY^B)|SS+qgdNX3&1s;^ zj7x!U`vN?RYPJHJ?Wex>dliJY?2^}v`+ zH_4_=`8rJ7qINxEqyZOB(}4EY<e<-YPrkS zDZc`rD^`Hk8qcXnN!1NK)bmQw+M<-0NV;C`ntQYJ>q;gX3I2BUhBLhK;I@Y9?RbrDAh|>5{r|COwed_HQaq#+#StEj6m)nWhDKbC^ zPUapkcBs#j5>U6@(Y4cVTelmEg#CklZErOC@;tNV+dtfsBKyGC8OLCEA80m(0-<9^78UHt7qbaPC4g#sc_%Mq#uamQ3Kr8 z*Z^Za=YX2H(rj?JQg3j$N^fwGof|7Cox6xDlUM2BEoT42ehIz*VGHj-khX@in4^$0 zIe&hz%%x-{nPU4%#dfl=#k2aP;_8tUS*y4vhpg6m%GHaza2(-m%3-iS^XeQ&7G@8Y z*_PZ+=&9g<1kV`HOm7X->#u&hD>4#K$mpYq+SrjMFS3Z)%9W9goQYe>*|?Q_`m3>$ zi|r$ey(Se_$=frX&o3D{)wc97na#ECT^O2iW1A0iCds<&Dosmre_;*d3=O2jC;Sm! z1_vfgK2iH1xM-judH(jxT-EgJz9peq)^$8$C12UZ8C5@J?KHF`yq0PG{cvl3~@-JBFKBVh9Y0(%04eGh}w8MikL8y1))e5(EjW{5Ve`gzKgR5OK67U=f7X};^;nW0d<0D?gYtBF8NXdjnZ95A-*vV8v!d> z9viH@Tf80~{$j&n-cR1^rwYDHzcLWkeH677Yj4=DT5fG3CUWZr4`PHl;07PXJMV^v z5_oHOV}H?Nx+B{* zQwZLezyT_^`cE+YaGr{ipq?n`h324QdldHHD9o*HZ^rA3(Ci))WIJ3bE=Ct_=`Y5n z^LmW&=G6BQ+0{Y}42ryn5{XeXSF;+t-Q;16?N(CC4KCK!#Y7^Kx4SJqL+!^*|BPE) z93H_fq2Lw9!y_SCu2)ze9tGLTcRJ}#H{a=%kM&&|ue_GWRDKdwT|93|EB&55oQHe3 zr#wXO+Hep3zG=9>T=bp7$uxE?_)ZVrZ9a8{aL|ybkKQN*2c6Gn@EiUR-C)i|b_K9d>UfxG$si2ktN3 zzhN%S*_dGFRTrXmj^$RFXYK^AgV}9-#i5ZD)!QpPe%h<~T;D*JGcm-!=h5$IBY7#<|apbT94>2#`P z$`C1(6Ht59xYs2Ds>I-O}!Rt3LRERCVFPoeV5~R`)pJmdfNW z@!~=*Yhl>K%xG)5$KJR+qlT$8*72!N}LI34?7}p2_j)_@n%_Dyh+v;CvIYrlW2T5%Oa)*ZJrK#%XHAC z(?OR-prbU%Nrsn4z{3nMeCzbMZv*Hnjc9L=U=3w9QQl#wWLzh_3zHIJx6Eq9bHaDl z5tAD6atRFI71eI!l@wzPyEz&UE53)Nf$s=(!&@-3%T;*=n2#E}ne%vM6Z3D;vW|Cn zm6mn(Y|%A+3&*=U9&}AZ(6#W@ThXn$72T>S;~ied^8#I^zS{NLCI9*=-6)w7&rOmk_SoUg@t|88f^OA8kAX)AVZebl z_I@&mUHgyVtwKdq{6 zXZPx{gB={pHk1?G--x$PVmh@40Ajuv`+R!5WDM(aUC{SO^&WY34nSu<(RmHq`Afyl z?-V>YWC{HM^9IY=qHKlhYa4`y6nBsD0_zDx@L+m1MkC{ z;>%3&BbwsNjTB#=nc{1jDJH1Q;YW2FW6#Gld3fyb7Xmw}x;Y%sy>zTEl9^-iWtw+upRVhT$#UYxS*t4Oi-tooHL%qx>Ak<9a(=?)A_O zxrLE-BG0`=#`Qw#0y7?Z8h3tn=t+0w9lR>`RkWJ$YYARxt#&xU*I}1C;WrXk3cCh% z_ss;aB<@Xvv4>%7r_pJ+)i3v%JJxnfqo;GLF9O2LA03W>(&)9^@LRCC^?Kn$+Pv25 zu$1B>khQmOYwd8R@<(7znFC6CJ@7c|HTRqQlJ~OS@+Ce!$-46dqgOaTm1TA;7o4vS zyD6tbt&V`gM`5oey2w)J+0hQSn(W7M8Bhqm4apFKK}hN|Ne@9U*I%Qo-L~(aeQkC4?S*C!phgpigKiy@)$ekb2#$_qJs6d zK%ATJH|=@^?fN@t*8njbH&vB0m=|LC2)>tKf|h(20!Q$Uz#7c=A-VZ%c`paH6N&I+ zkWH0J26GfvWijac0feWWg}l>o)4mfv4qTpXguci1uL;O^$ zQ%Tu=N@lEh;hx65G}bt=}&TRSpS`D0@(!qVf= z6Ri7Hg4==Fv~;2fi<lDDLd2Ai?5U+UM1=Y@8Xm6k!RtFBaeE!D`wtOlD^*J8Ixbq#qunNxNpAS)7@ zOL{5MVyXI9G*YC+Qc^Wk?OnDhn}{cifQsiPSb{d$MFkoP2$>A*x|gnB>}p-Dw0N;|5B#?1UQ zmYI#id}YFnk(fuMPreTRaWBzhS5KQ|rlWNTlk>U1tYdA8V|^or^>7^Pia6H821}a* z)q7^)bY8uEHtT3JC-tIr?BQlk%C$&@u_v)%zNl`SWV*6lxvgu=B#y(ov?_Z$TMv%r zb$C<6Y-j7CjgV|LG22W`)&7UA03L8=I_p{ytc-uD@4Av2&AinpSoMe3fBRzL}! z3>L9I7Mvt=uq6F2alv{mmt9tTIjSwu#)udt|Fq;H8sX zETb(c#zdV9!3-|3q9GDhnUiWwlJsw*C~1s%+|FcjV}<0Js^v>O*lu+kkJ23C>)VpP zF0mW_io5ahiPU301*g~HVJwo7v{JraUe7xkPOqn-H#yze21==?ICT@uc}R0_jr587 zGtj2DNoPDBb;i-6f3*BNTO0$!T{Tfv)8=Ea8`!E5U57h} zj$ymTsXd&LYyOgx!19xV3{l7^?Q>i$MkKPH@IRj`=Y`FJ;spyRJXKh)m*p#_0$WF( zP(d$DmXz|Gpu|`sD>Q7_<9-)+ZIeWk6_cEDzXdDi4_eg)WKoq{R9a%ny^_i3UP;@j zZY5T57gv3bTr7kve)gtOocIWA4h+8x8@r$I{|0>Yp#qQadA*L*Gd@h<*Zw5-b3SJz zW9%DzDTGwQ*n@RXX6yrzXZF~8BKN@9b#+E`dz&mS4pHrf3!rpoZC!il1%$#_-8bWbcY)( zCfLf~5IUK#1czld`qSyL<9h&-j_~Tyglq^H+JIwvgVdnQ?H#F(6n_V#us*<{Jg4do z;uc5watZn*))7NLp9b&r+-f^u9uKx831rjpJ@FuKE_pD%O!LrE7o@zfkS))nr&!39 z`>O+k)30j~o$C#?riRSD64y-ej?qrNXZUrjr+J9SO=IQ51nlB|e)M{)p$6u6CM)Oo zNj71mgBl>;rpPy+d{;!iN_n5@Ow8cmKr=8~E>8zi!>S&_C1R}*@7B3twHS4``ZyZt zIM^UZ66m%h(^@k+rYDK_cprpvcFmJ!ncM_%k3avRSY- zA9!!`(YtG^yJ-Krn&*e8*LhD|0tBj@Hbtg5K&oI&b+p{j5L&U97f z7FK@>6BDeRR=(fj)FTa*9%}WSDfdyMpr~a+J!OqzE5CVqI^{DO>NW?Aln&GB?{Bs+ zjXYi6gF5Zl+GKcN)Z>+Bm8$#A-I1j0EdXXfnZGq-H;|BPd4J~=-=hM3xxdkuJX-4u z{|bw4iG1&^e*fUV4R`?n5j*uD9PnLd0(&nG@=0FP?Gw+-Oi8t@$h_)fG= zmEd{w<9H418wACHe7^laDEX2&Kk2-`rK4Z^q-ip5r{M<2;{;;{40R z`8VP`9FKE6$N83y^Flq&e@vVg5$9V{#^9xdta-h}wob58-xT&;Q}pj@yn~gjFyn2& zn0Q_*5robHmG2FXtlO}dpFKh5XZhn7#nr*xuvWd|-0;7c7@|SLooUP1D0c8V!ioY# z%(rE{imMMPnDuaFwOhk`^Co82J?O(vlsjnFm}}c|ylT$pIjr)06`YK7cUF0U3QiH% ztTwC7!eT%sAG`uZm94&)+C*(CfiI*{;qt-J%AA==@`mG+C=FePjH|Qh;;R#EZyf_w zV4$Luw`JUltB+!MW~`X97A}^&|3j2zWu9^>>9z!K#w>fdgn>xV3m>-ZahNN(*8sx^ z?8*&^NT&1^9hnr8&0NH#9_aHL@b{1KwVnELnee3ksxY#_cKExQ8CCra6`k=EWtU#b ztQTG8gU`z?1RIC#&5FVTn|>;D?9EQ(=~7Tq>!GC5kyBNlH&l_G>dSMrsaeleGMCc3 z(s6GN@yRMh(Mzg&@H`Wr>-lU;?x)28#Uw%V8y0)jLkOpwtR7)dajOLKLWrHZS#mT*;sK_#J#p?dr(ZEh3EER3YItl)zjV0Lg^Y)y{Z9By{-4fb%K z5=Ld{XQ)L9qu{ATbo5)7WIW@}*}l&n&u$<{wd89v^I{8s6~wOtdE2qsKEHmXfgJ z7;$}p8;j%zeg3KSa#QOwB7;pUpiu77ndrf)EteV>dY2UatAF!l$22)93p57W)TGeLhcA8TS-j+shYooWV(c9kW^&7n% z@Sds8ZL_ND=NVb=M1C$rey&mH?kJ3U^5A^n{M#uEx2vEFf|F4}H{QxF;kyW}PQ~5) z7)n_^o+y-(Td+ybmRFER+NY`p@`Whrcc>kNL3vR{@8 zadcFOS!m%l7vHsGT;S+$M)afFtk^MVJD3FURHbi~(cA>~1Ois5I2u!7*EM!=?r^tV zTsYib-9V{VzcH`=CCx&xGGpoeG59R@X=qbJhBRL}gAe5B`(V)Ou$6DNelODR-SvB4 z{XSH`$MyRR{k~AYC-wUZ{k~bh@6qqC>i0+W`+NHRjDG)BzhN^cwHsgN82vXIAKQ!4 zh7?}~6PzY)KE8IUxN-D7*eGrsz7Nh6H%{CKZxAEce58R;O&Sh=_vQ`Y-z>??fQ$t)g{)gF7s5FTTX?%i zsK*}CzRhzLrY*aNdwQ~Niie@WTY1SbpOU!lY*7UBl%CBt-l)axSq<30y&N~+qz?sy!m~F{mYBvB$dNI@g??Ut)KaTWcF_Slv!|Fugro(i)4)u9E5^Tky)r z-gS8I`vxA*S13|uF#4oJRxTf{mAS@hG(L4((oT36jT7CpvcnYw*p^9G+_W~@Wd>Ai z-}zR@9%B1)S+0)CaoPe?0=?G+Q>&A|2d^a31)#jBR8!IRa+clgojp8MiyVYAe9F zfrxQ;G*!}rTs@!V-_L>Rx7Otlb#y-OAJBF5pw!W4rH(!qtE0zIM|&Wtq9jH2aVIEY zPtAcuCj?I#7$F7E;Q%=9K1j*zM^{Q8dCgXL+s(}CY|Er7ZYo;57dh;<7L17;#)|WK zF33at`vv6h&L)|=0Ok3CF3;zsJP%2Ez7Q+V<0#K4%Cl1OHtT%wUS;XCbA8f_Gw*R< za^dP8x#8Zu*Q>YVB%dv+8a&9$EG6n{0vb}LX*;kei9*D@kKjOvzId30~hu z093z7^?oS^1l333f>lucAzVLz>sh!ShwBBnw!)R2Pp%)5YmRm4gD?E+EqA9b{gIvk z`mrVVOJQ<@WU?r$sGSs{wo1u&)ENbG3hS=M_5sd~Z{%EW>&a9X&o@>D8x(HsGd!DI zGT)DDZMAyj3`j7hWH8E6eYcRTBnzO6N5c|Rd753e$2~ZIa4L!!= zAxI`Xh&|O4qJYw{>KRU|Ub3(X(yuALtzi@7?qJ1VuwRRAtlX9g*C{?+?FL^{P$;~? zyQ@G`=UcIFM5ZTMJIR-TK*wm=3<8raZ#N}IT+X?9v&MZ{t%xtd?VM#ue2N- zT9<>vj2s*eIrvpP&P5#ODIMpCdYmIooTCuusp<2Xzuwh+=C9*%-o$a9)^T22Pv>Zp z&M`>m>FINz&+KXr^qJ}Nv%lHZ{OoVyagrS8Ssmy4dK|1`aU85;O+FisBW>=vUA4LA zvw@-%aPs?{~$Q-%sbuZ+FF)-_AUr{Bu2@{3lb4Kk0J)*#Q2m z0e>-ozi3LIGV0~iy8Cc~&qS^V6>nJAFqI6R#jDi`e$DS>@JwXc{fQ?66!!2c70%^D ztihk7{&=~i=M*Cas_>0rZf)(-#4^&nvSlZq$!DFU?RvF8XdS!jTyiGeE&(*<1%teY(;NAfu~TM>w|-~wHmHf0 zu;!9gwc9;X-0%pfbiO^*&ZcPfqv-R-b)WZ=uCkXKasC;{d0FH9*Hr6&HQ=ujDZk9I z`<7;92la6}(qA>s-|9GpW}LrioWIv`dYf_nu5tcR$LVRt`G>~&=T6f4r^fl$PH_IE zasIuN{QO(vJin9tJg;$H*hyL(M)ma{U0)wZNBbYHum9+v7bPfo9jfw04tmj4!HYVH zR}A2lCY^FI%gvN->#witrsIunIsv+ADy|w*=frxPlT4hG5odcm&LtejN=Tej zI8HC(oND5nhB!co;!JX!gpPAM$0;Dr879t|h?9uN+01cl9p?@8yq#s@oQ*hkJkDD< zj?!^9)Z?6E;+%^(Djw%jj^pS!=hfq!Z{mcA0|Zw*~*xTP%CfY&%GQ(o?s3(^7?MrX5%I(2F=A+x>fiZ+^aN&L4^trh1;^(y%ugI z?!Dl4#JvyPuDJJwJ16e_;ZBKr4cr-V9}ah`xL*%*Hu# z8hN?Z@O>ety4Qkey5rUq4+ov_-6_*~^6W;PE_+W@c75iBK{D~e=`D}abF2l*vfkR5 zUROq%SY?5{?QkA;Ra}5}+bN!mEkWUKI1Z4Q>OPlF@*yM__Q&>n)73YJLouGET06OC-?EFTe zzDU`}S;}xxP6<16li^A@_ckHPV1)_lk|4Q9hve*SEN8DV!rWm^b#GwqLj`bu3hv)& z@u!NppY2Thsg5-Fuf+W{<3!xI1Q%<&;64-Ch|J%mh4LIG4xPdsFNog_;u-0XJF|YK zBg-8z5zjJCTquEyeGwqeL^gr=d$mx`An~}sxHG3EzQxZ`jcSQ+X_R;+xYH&6UM-X% z6Ng6QE*8We0P$AodOO?v){Zvra*22wHF;+KKIQ;+-IDKxFfh&Yyxp6auJBXkDy(+fP*#1LZdl86lsnw@pLAQ>i96n zASugm3_JV)%N*3ZoX_hLP^W7PH2fe-{v#c67!PBiMuf$(sRNoXV?ISHDIv; zEY^S}2Czf}mKwlP4OnIX%QRrb07f)mxdANKfZYvXcMVu!04p?L4+Gdk14a#CR0CET zz)B5RWdN%*V9Wro92pDD-PKrN?)0(1yj_h2=1sTjciWX+zuWZj!~9*1ALdUV3oO{x zSYUy!*oD(f{e@f&P4;=PEBhP>rQ_ZLD|)K?wU`IQ6yc>zbw)cq*c+x^K3FZU{p59k zybhGtI(Z!;ufyufb~&v!?PL?t_r4 z&#H+-={?k;1~DOAy9#$_0#eRNNItv*79qP!r>glAAX8W`)a=6e@LvKQY;=H-;1TJ<%WHPGg zyTKSVq0s9cnI||?`6tb%)v~IX_85uuSvTW0qfi0KW^*cg36=g4r_fUF63?s=r>CXt z2}VmQt*~7fy82SgND=XN-_cnprc({+tW$Q+aZa-5xK^jOk9!SZgHdYQ;fppe4A}qS8+K(CL^z`ymDPF zl7>58&>Gjk3;bC%S#=eR#5a2-1?c^x`n4ELR9ue5Wu`i3`_~E_E4@o_` zh4GP((N9Jdf(dLExJS7nfz??HqYpzi6~v(A3(Tycd9NalE5gfJzme}_#3`cVmn^5> zg-Z(bJ9i9U+=O=wSLKghnPA`Iv0DXv{1^^RkJbcy<`SQNPaR$Y_wW&;#|!xU;Zgdn zj`PND-0rYvLblPJ1pglR>=E&8pwk^aLA#4-@*H728S?CJJUQ~LFrF6jEHa+s$uo-& zj&$;Qj?p$9VmJ|8VauWY;C}4x$_>6ky$(hC2+HCH?<3$!vcRo;r>A;^jVmu_#S<5@ z<3}!x0}AVJEN&V((Z_gD`mUb!GbJ}PODAE{O%*!5vZvi?QVYQwu@6Vla56>x!@Ic0 zWAQRruJ5fnnJ?L687wc07q0pyQ_a=SlFQe7O225f!AXrbq~n@&+}!BcD@2#%L5LNC z8>8eiqs4}>;D%U`gCG&0!uXB$>gQkHz8#Y5rA7)$0z6VjwOe5spbIUpsAs`VEp1N= zQp!z@hgYM&PKP(pE1wSEg)JCSyjW377q>derM@jOap+c}+D^D7+Q&)uleGoywNEOt zG8V72zS<+a4QkM)#)qwRvV991@G`knMptB?R3sTQ)h~d#(q=>#CrGxgj_ZSZ`_FpC z1NVa5czJF;Ua>sB2KTPvg2dPBce8s}&+BEqaK>jxamwRfasAjSR`LnrI9dEMyq^$%r+8-(mTYut2A1CVlH*VToQg=lHgB+`weXg zOIyW7OICZNE*E(D;gh{$dVCEwvpz)+OhTOa!t+mP3Y-e_ii2Z6W~MG0!;aa}zp-cW zl5Ve98M{wBW4PIjKb`FrPZ%aHOb+ik`e>60F_Ne5giCZ5+Eg(&i5`slg9Zz9^fd@< zG)jvt+-DX_&G6P8z}pPmbWTl1?%v!3HzoX|DM~oc4RQ1lxVhntei7#uv57KM>1>Me zUSL)G0<8z!W_6Et@oQ^G^&nL+5>>$)E#9HW`;)IQ%KB~0)4}0$iOa(WgR$jut%0jq z&DEhhn@d!_%5bg`9^;EH?n&FD;vPMX{iFMC-ysJUaKvk3HY&v9+Ueyj&K*v=#f2lq zMgneDk2pLYag_H}Zg4HMM|<9c1lJ)TP}Tc_S7TqyFmQ;Bn0T+UYM4m=_tlYXl%764 zg7A0*p@OTJmB-q_+c0p=+QpNGUAwrO-arGMe1mv$U9;}eiRDuHk-Zx#wA)xAKUdZ3 z78y0DmAmc;+?a-Mw8^r>O5tFWFkInr6%Hl6;;NDUosp})v`DkXYi5O%=bNO&ub*DW zxm0oOlF1Ya_M%jN>}yo$l#%T@6eCa1a{Xj*(avH8j6vDVMKb?KTUi54Z6S$-X!fRxI@41l6OIOibpkB zGNcAJ!G?Yh3%^%91D>1VS+1&Qm0p!}@&{SOjTGatq z+ewd%w3}#RAD2%^5r^9hP|CSh7qKv766I2=7>uNKSb3JJt}1I;NKI==S|@sObvUg* zX_>h{3DBQJwEr*t33ni>H!U+%sD~set($mXEcbv7S~e>Dl?c)nzX0QAzbnUC+GEpk z1+3TPI~}*UWMo4ezV!H+r}CgBhKKjrao`!lb9WrLMz2=#4eXc!DXhjf^n9{hDF@@c z@iJGw&`(zOoyKDf;;Qc>X7=;houQ2H4g_zf0+neHRcvP`mU}dj%C4s(Z%*sIp1IjA zqqnnaN1pmt-zItLbAxvf(c+TYJ25VK7ya-TNpt0ml*0q3=P>1`8grN$z1qp`^QHh`0r{if5(`q{=D zWuqKrb&et`?}kR3Mj_|tq63UQZpW z@zUqj5Xy|-A{nWpUIWxI$((KwdZO0oCVaTz=IQg*1wB>OXp0m}XpJBGe`$@P;_}(i zr<*4t$h^rc@l*NXB00uzN^tZOY-P0Y&W*hZP zB$ldF10#alZTXOP43;;0)QU z6jWuH6wTt{*75-^jcCc9m>gLJYbqa=y4jv8QR*_EiTks(D?QR$pgh^qMe+R__bNVi z&An@-O%*c*{yMW>pQs)Y3CNX-4`>QvS{1WwEfLC#RG;SijDLhpNZZLL(}QKrGefP zJEHf)ndmJTo<{FKjrluu*wFi#3Jzc)@37=6=vY+1SJ3eeuT@YShiVYs;We1;$`ndx zO6}sX`TdbJV2Q1?$}DhT8Dkt5`yY|O-7F-$hm)gr7B8sg@*K zaW0@+>d?(sMQ-qXt!36sL0JyA!+Y>5?vo;4%%>=~iw)S*|Z0S#5Sw1yhj2ML_V z_6RbD8RhA=MDRQ8Zt#@;)Vq#C@Za%1 z-k#V|Yf{18Tw>mmhL5$oI9%dRLzjCAj?ih?bp{rF$;lMzg8<0o`_*rO~GxmC%RqqExoZtR*uTqX}kILqNP;*LdO*6mCO@S(oK)thmnG!4A-YT{f1 z-Rrxx+oT(eVpck0p73@g=WY(AgJAf8Bl|FU0PL1NuR6iBo$r~lZj7OQ7BkvfM4i(-7L)&vx;oS=Nq2+*h zw7kRj@}Rst?5D$f6lQW_G40@94E*oo-JS5h54{nH5H=rd{m!ZM?H7kcl{2xc_Q$384fn3QB`##A6E9_E6!*#a87?JX@Z3R^hL)2fMGpS( zg?4k|`Ms~;NdgVahxeO2munhUS=SI@=~&#W%ilreFN`l8j0iQr>qIFu50V9Pw8PQL zG1{ZjW~8)ZQd+78f^cblrzB!h{cg&-pt^QRG%$~(X3P0z6G-hk?6FJ)FxdWKjSVIA zH#FXFJ$#OFU!C~=xQgx$$BjRCSp5BYK7@!b+Li6z;sefbB zL=>*-;X^Zp-(3$Mo+-Sg9$uL#{Jr(?#WRK9Qx9Jf55G$Taj}LB3L}2@k6;Re@d|wR z!NW8nxtHmnqKEdZE%HFg71;>q;4I>~+)YO`f`>u3L*-TQ9MP#2so4b2@ClKTjcBzAEqt^icp0?X3@u!9 z?Y9xFwpT-|ooKZSEl>Gg@L$ksH?+DztDR`IzZzOT(ei~>O8KeaCD8H>t?!`U@`;wO zY3-mIJBUh$P)RF49sCDWIy4pPV>*aLhsn-wuqv}diRdI!okA+3{7mp7NOjgpbrPx0 zoso)QQF%+XFQBU`B~FJ z@ha!LVGlV{!2wVS3-N)Nb*j2D>gBZIBAq;6Aj9V7<_k?}vQcROVt5ch8KFc2o_4TtomMh6_8;liDJ0ZuunN6%CZ;N~#<#Z=LT&IEA~X+za*zRx9|BHjc~X z`Tm~pR4}W0nJJbpU)$vZr8%cWo~8HQB)x70ALM4~rFteMo>`Tf;x92Jr}CG^zQnZe za_Q5d`|vzzUjr1f>m+x?AsgJ@*z(4l(Bb|m8 z>Y`m8Nj{w9dU)xMs%|N+yDwn`6 zt`1y?BHY2Bd7?xD2Abh=|1y~?)&r*ecA*I=HfEJO^6l{7XlETt@_&$g;Jrn_olcqx zrkUeJMVPCq+oK`~=5)S1kNEghndZy?$J%$m$5CAW@9pmGUXf&<%AG9PmJ8U+-AUMz zi!5Vf8%!}^Fx57_cNXq!AP5z5TF&8k8}jIYAUM#X`Dv*WNKaOl(2PSaI|#>S~qQA@^(t?uQ&Bq8tY*#zN)On zrj*axNIqW;n$KEC*W#-Iwb*Ow`ci*^S~x`XsKpGt_~IM>>Y#{YmDd+GH`E$R6SS8695OHldQI>QkJ&d?#jyyAW5$ z**Nl&%uyu_^MHKw|Wd9nTY8>-Z`fjni#wMHQ7;MI1{ zWdUGgS)UgB4R!^Gk}e$J@_IpY=VFJq{>7af-g38Z?1?TCcW&ZXC6)$IRD)L>mUAG|p**%-4(#=~rj6%eep zF+2?Nfq%I8zq0&~93_0QS?tojiCMaCM(|1$LRXzencDm}g8!`CHH)$3_ZtJb0vo-e zdB7Ec7Qb1#jyMoBh}ddp8_1Oz9*>fa(q)}K9vo2GC0@xmF7eBbMlC1+I`3K$6V`-0h9Ouru25O zh8^G_S7;7$ECQF}@e_a;zTy-eI1Yh-L(5OmaBove-iIn#&0W*&6)Sbz@d0-a5W|_f zCwk6#O_;RHe@7igpzo&(<#sU6Wc)${*+U|IhV6IhsE555s z+z2H;j1mE2xHlP%J5|Tn7%?6}41gGpOMx(4+k2Wu_i2LO4KT1aFJcC6qRpmaV89y| z);i!_*hs0_!dlF-&2o{Wz%V=v#`wFzdx2T{a)uUi;#&iLu?Z_ii42U zqiy?|EWf;o^POliD-u^|0P6XsgX-hbmbYb`Ei z^ucMS3U0Ri6ff##@6!+gKV#wnl-_6IehzL_W)0H}w$T`vi0r=0OpcfD!$ML$;NMrT_J?feQ5q z?*hQ`!|{mQBvX9L;PW=asCgN&n>oK+>ba+pK;;g-I2GUD+ZJx%6;$C>BpJbx3R5Ts z{QheQc^x5UFFxL^AomuP`Ep>FB}OAiuos=Mi!ZLH`O#l#ez(3kRx1eA-BPOWfRCiZ_jojE%Mtcc;{2)em6N z>5yOsDMF3F=in0c>750nCvh8Q5yOH5^|bsPXk-IKDm%#@9z`e0_{& zexk?Jr)o@@kO3ICaesU$V@hiSK`;*Ex`jSM3+LDSN%bK5Bp5`W$sj_!!VC)eOpl+Zh^<`E+mC-NeM>aF5{vTlM%-UZ;o{KLZ0+{x6W}_-kpok($(qNAe7dCZ3vKrx+o@)DBD9k<7dNN<~@% z#K^z5ma>&BhzRF`q)#>5&BnaB{BjiHn#(TdI+wpeA6&sE@mHLU1uj*dKup9+xEX-O z{S3XhpP|nIWBd}z@A!Ved=|B}Crx7S#Lb`f51sr{)9M&*7SqIhn3lh-&0Hjm4)mU- zvph?cai#{G8J;!1PG$T)D5KrsH|p}Hhqd3EhtawPt3Q}5C}qpg>1<6m9#bJ+x(0%y zL~b!#4NP@fjfEs$CuKNZohY7|^cN^yfo9Rp+f@B{_FIx%b_moF;;uGp?MBR6yP3Fu zDd> zomhb7J;C`bgG~QLAX_}NmAA6~2X<&bZ_{s=K1i+Sy+4HWUcbdxYI+}`ubTJZqi7N=T6p-w^WMuTo!4POJ&-2l1S{_7!#T(tgQkV^$RA`LQB6{G3~};=!pY+y zP96_%@{z*Hzfk{wX`H+r;ADA#lgBG@G8;JAiyFy!ae8iJaT`SsQ^D; zDf~Qx>OZ6L^KpQma)6(wD)ECu|H4vg<5SYcXEcKRJ<-r-HD2K8`?uibDUBDE=Gg!* z&oW-*FLLU-kFoRbYV7>G5<5?Y*m>FtbfPk<{e&OYJk_#eN3xC4oMp;^zIb6hxvo2`Wranv4o%DV2W-v-*LA27|PM_N`_A}hVM$Ijkdg&8^(+x zeg6cUwJSr+qFKHi(|NJh?>9>u&kQzRgT>^nfMy8fLdAa5(e zUsKmeyO5HYNX`89a35cMG6~P%LhD@DTO5l;7a15ZU+p4 zuT@ce-L*m0$waG@sK&?{MsP;}XP0+|xR^Kq7nekF@%09E)`&=FVegA)Nz1nxQA}7; zRB~WP-4@mjhD`1X>$cI*bz2`H3H~>V;J=cz5K=)}t%H(Q`D$Zb^d&)3cZezO4(mQ) zK;2hG>pp9vhMsuU8uNN>$fu#(;X&1o4aw8jqiDP*pP3(?dm>r-yX2-ts2T z`qt&uR+m?2ZFqS{fBW*%)#VKvy1a{{$PD-maQhTa&7hanm(XjbwRwKUiXFd z>K?jY8%B%+$9-LOy}Ad~YgiC3sMq~ry?TbO*M<>Mwwj2_!>a4mGoW6eEs4kVf~f9+ zq4=o{TcR5yOEi>#zKIR8sA+x)xOgzcMd#4C*f0jA0vBLV%9(0hbPm7;_!fy5)a!r3 zdQBO+Uax-pKFXk84b}CUGN4}dLA(u{b2e(w=Mz4rh1^=d+S_0{$28c?rn5RdD1;QIP!!`PnsYPRR7 z0SwLtmbYP~Szk?>M-CuDDGz!!e`mZy`G5^0zf3jx4WKhs-Yx6ugYQQReQte) zM)$ZO3UQmU68();=x+@Nh4fxcr1$bel#9Br90XSvR`kv0>#6ntf+;sg2nG*qw-0Dk zc|;h6-{9u`FfD(^Kf*a=vjKC+g%xw#dMYLp#AeYwAXhb8UDa|^tg61bLF-#cM=C6d z)=h60MRBnYk>mDILf zcc;7_86>aVhUO*xGMoD)l6yHPmIuo3#Q6p+KQvzcP8%X?FO-%{Uq zE2>F=H`G_Bo*5KR!1vYn0~I(cn)Q1MxLE|~TL#P7Vl3D0M}M*)8utaEp@9=XmUAP6 ziH?#Hqk_7>_~+&^t2;T1?~o5D#SG(l!o8aTow?3nBq# zKE6*s7#@Ri*-vF7$VMh%bmLh1JuApCU@`Iy`qii-^o{7(91}g8$@Dvheh1L+O!}Qf zzuoD#fPPog???2zmwtbs-?Q}Vr{AyXcQJHyUWUGncLW63)A-=mI}C1E;UV|2aL*9< zGPoZU_zAY?&b(*9s3>HHGa)l9)DrA{f*o3>in7ftq%2YFLs$J>l70u-^hm&RxbF(H zWU5sOR{cZZC&Jw=@G{&F3;cLnsoazMI9urwlY0f+lLdYn+>Z#n7w%4h9|`vZ0zU=r zE`gs8cfY_-hI@*@zf0~TS3M*FzO58h$-R=?N3j7P@*IPJ2@=q!N(1~TxF-tyBvl&V zN5j35zzx=!cdLGG_H(nOn@#d2@mX zmJvrRyN4-X0J{vPXEs67|{lMn>c)5 zM&g~jj(9v_-D?|SHw{lOJc0SDd}ExCCT;%~;H<|o%dNC_=gK23HTT{pbFcTHeEn^7 z9x#9VFUn)&`N!~qS$5=VCpT)f(>!{$Gop31)6!PE+G%Y|u69=9^hTnkU5e&XG?${e z6wO667t!36;QmK(w3-A(OHi}~MN3e$1fnGnEitmKZgpZMR{FLyN3Km~+iF%Pb0b$L zn@6oqju^c<+0wc?*-9yrBPm646s1UxZX32b*_Ld}(BD+s@YTtc*n72d4p9Ecj$WOy zbFK8JnG$B~5fndTw@}iIy%H>Ki$slQ;)ohY)Hp|tkDyF5@s$^akzlZbA~}fUa3p60 zm6>r?elIN4%>Wr0U?T%`WPpzhBP8Rlyg1A)kx8J1nM95vC7LNxVgw>3R$db3mdp?u zsIo~!N+ME{BPCm?jO0pea`^3?A3(KO42~?N0o?b4%7DcK11=3y?1_L&D+3k}47e;z zu@?d^s|;9N89>Cfvn_fm&>^F_&3Kaex_{bO)_dpb6`py8bfL~=4b7D4`0v`m<&n24 zE{_CrQ?t?1DRa}sW-qOXcCoc|%G`AwY3Ey5i8`;}HTyS@DYQ$!Yc|T#I|90csjAX#J0`Q~HhtOlym-B+{f^ z)?CF8hTWH_@7?t4e%oN(<29n%fvf~mAf3KfL;(bW{M-k{07w*mUz8;H^gU;>WjRF5 zrJlRWU`^sRVT9#-6Qu7YRusYC;{K*MSfyMFdljK0I8|X&s1^q$y(}5M9F)|eN?J2h zB~Y=MuFCH6j>Or+Z$RZcn#~- z4NMQg>!es5=7+Vf9YI0GbQ+ zPHuLf3LIjGRe^)BQ0L}Z(YaA1rKoAOwLA`~%qWWmIPFaqtJ1gES}bm8Tx;PPaW?<7 z)$TS5|6mtQD{qPBVv}WdWGsI>n~l19TVrDCqBS3j;qaK1Um)aft+*Tu_yVPmZ$s8< zJjY`)9IumymtLQXSJvr|Sd}ro$0*RWnr#`rxXL?Joqt<&Rr*U7Lec2DYCjQ;*#;!cx^U`?ok$s|N*6`9mh%E7U# zG1@W^qr=Q*+B=jt4p549?>oWz9#Vo@*+;6Ceb9o`I{$2RomZ)cMSC{eG@u?eW=nZO zv|shU#p}^JVwN#l^|Mt>%BVLx_-3gn#nL!>&1Qu)fi#J63q$VNLTBfBzK57DJv2}2 zm)Yq3C&^oSH|Ss6@+YF>>uCNejo%_Ln(EcZ(d`JcmrPEVt_Xs%sR)j03QY;dQQC5C zXE7dBPQjM3x;6N6^wwaY3wMAq_B7p2(-^O1a7xjwm~)hpT34K}5K=Yp4ld7z5%~&7 zYUvtVx^~Op3gHzY6LonYUCZxmMhK9$9jr%O3CsyFZ)SBk;}N2f7f?6bdmeys4SD0=d;@j@(6i9YkR<(}|tX>$bA#V6$DyUt`vGJ5`yNto9gN62^)<&{pHulq-C zRniVibQMRqp{`=F#x=WQd6&sLZHY~$R3^nXnedp~WW`SH4RKYB^)HPhVrm(7gn4_ocYCNfkHAag*up+0}8| zV=!M5ScE8V7st)*3|?2{l=MZ?jGgW_tJ8jH=(OCMAPQ9;Q3g_VKVnqm?tM9UG+aMx zY)h4289ewL4oY4-jw#?R-TjBgo?aig~hg-(!=yvSQ{ zcJngfxtzCT^ZNwWM!!J5_SRC%R)g$mZ{w%xIEt{lZKV@+ynX;gtX&7GtRQTB5w;VY$+|j9iEQz08K!$zXU?Z%FETBpKrF%hTsbL zQ_aLf^WM7;e%bry7e+yr_o%|K*B)o7T6KI)II_;cCf+NUBbVs-Qgyr*owaYU1P zA|mnhrqL%ayNiaFH*9yH+PIFy{)V1gj(y-6R~AL z64Ti<%?J6vGqAxdqruXCwZ62GX=C6_GW5*zZKfHb*w5wLd!@Re_G5iRjUA~G0SR9j zlJJTsNJyA++>&}sQt|Eg1#y`%JS=UdENA(P2V`cIF58xnahDkI{IOh%3+{@)#PzV$46hAs?}(nCTqo@6!Eid|MwKJbisyE#6r~|Og_?i`|G=KCo6mn9P`QTh92`H zFy{B)Zpbk&rx2{A&dkc-!+#;MdfSKgSSN`XtruUu*$axB4B$QjB8!QX@S**e?^?|rFV4e(U z!u56-%r13xy2Trq?oCd2Rb_bxNxG{f-NFq?w|J;@G%8=hc>8I^!V-ca3(Em&VX2BA zEG!sn*eAZlW9@*zjEP{<;lKWi$YdY8n6i1QZSBG~(vEvCh5H4(1M@cX@74ROj`i=a zEN1LecCpoF7cCRGck1$A8S61!BZdt#{WaJHj4e&sK3D}1FmUT;$lDL|mCTSD&R1H` ziU%A02D3#?s{^*#O=h!Y>A)$$etVkEzJLwUlbaJph)>h%21%fFkjJ&-4 zIwuy#^W*B=YsQdytlDASdDz~u@ldWrbA<5@=Tlf1OatDLad~D48aB5D>-wfDZV;iE zaBTlKe9UPvUWvlW_XJF?#XXh}=DN37SEBknHZtwaUpVx%m&3Go$-<#ooqg9i*J(cI z-2r^gao>W^Sr*`9W;LHv+(h`A9I-mHcU%vvgK;bQguKpe0k0$DX4(K=hsXAG#q0dm z5JsWJJ0Y&*TF?W3FQDC^qg>UGc1y=rDwA%?q_(h8lGjuj!ZLV?6?h)QH|cVknl)Kv z<^AzBsbtYnHr^ZaiBN_$(U`P{tg{Q_U?otUMe&`K?bV(NvcTIUJf!@`MH5G=^L#wu znVYKVOl&mm2h3`^Z5a?JZZ|H<=51-{BJ2}>4pG+;curvkwUs_S(BKOzLQC5xwjp#e zUgxJ`SCot#RdPt%fM=Y>yuX36whInlhoJ3(!v{*)!p^BFY?_F4j%7QGFZ?O=#MDHK zT9s!~#P0$ck-z=Vpz^o9jG3279}z=&3={;^;k<6LzZrIWxq!#ycEVP z(m=8BXb4 zE(cQ^tE^N$+}P_)FC82~CG-(gU?=1kzX;BJUaLNL8mDFI+_u5(grxa2$r#K|2=ZG6 z)Dwa0gQVB>=}}lsoDjVgoDhN5p!e_r*abnv}O@zA<|~mb-jQ9gq8L9DkKZ_Wy&0R78*vEd-bs zr?D}JFFg6n~q1z-pO zVz{?R+1c7oF~GmnTR3)HFBP&%*X|fH=2xTB%d;Vc{T1^}H^l=!ZU@5eM@+}p#N>g- z|6ok^avFy5i-R=@2>seTq4KeYJn%=5jt-yxst2Jlw(%Y#jCggQ&-ow+XYyFd&{6&+ z{-PKx$a^G`bm6elozw{RoGhLN6A6#bbNpa=;^7Zunz1EU zon1Cv7~vMPrTU!)%W-2Bt?!zk)si_|)ZP3&n6DbL)VL}&&ZTNTA7_jo8~nCrB!8=I z&knn7lY-f{x2j({Ta&FV>@)!B5E09JvoP{fQy7!6oi009Tj(wwMD57f-?AZ{S0>xD zr3WdgQ=KwFOHuP8T1pg(k;Y9_HBQu{cfj_IH@Ld3IQPIiqMu+*OG#{hp~dgZYz_B-)}Qg5K* zUsYh_=$H-0D4R*l{F?rum@Trl_Zo}D2Z?Y9@?TN9T_d{xkU_-7>kGeMs#0t#*}DuC zk7|;Y?QvdGSj6nDFLN#T;yo0fd5PTXx?tZsnB42Py!UJgq-)n!OV`w_e_bG)yGQNW zfa`gBU%dXrraHrHPpY%Wf@7Bp!d5{ZT}8_6YVzHIV82TEpN#iW*4Yf zBG5vtb}L&*i&IW;@}Yd|ok8VWTkSIRMy~}My&vwf!Sb!U*SY7r+_W0KMc77#xUoyy z?yAvb_gybTOZH>L6@+qo#)zWz#ZNT;ix<>iVa>7qT|*hd9JT+a5&8skb)^G$4c|WX zop$7fKZBTR31USv@OSXF%eJy6i4*xNj{Yhb5F zqSUI|_=_!;?x}SW?8K+cgCLZ*6{;2jA%@Xkf)t0S7{g7jUU@0ld_eM@B2p4QY9CPU zlRSg`Qv?g%o=E=Qpp_aQtyHnW)ZV?oo9-rL4-SX{OCc(%b=vmF7kg%G25wl;2; zkzF7y^gOMwUMRg#A7b=PKp8LXqZd`9mv78-kAC(CDtcQ|%5oql0 zqUuXiMuuK6U86&9e`P2xV~h&D4~5>@(_3H4@1h(kwI-cpsJf-M-C4Il7xWf#K@1=Q1@zhi_X+2nu zD<;K>*46l?v*ojhOl#{c*Y%FZxH}v70FQyo2iC3SKu&wYS`Mrfi&l6Yx+ZwL08c|C z5|Nh;ykn6TGMc#YAu&i_vCJjTGmKTlHtwGJjBRSoSTO z@+-y!Mtd>iIgk#)wxVD6G4#ihi?g*B--FO$I#94+msA}xcU0ZJ^y|R=EVlMVrS9dX&Zj1eh2AfSsG&IyVuuuVDEaMy`rlV4(R7$r{U++eec(9;U?_^wWIa1lIDN7UMi@|ay%Cij#3BvOP z?L-WjBuFEZ$Rxd8Q;ZM3uA45k?G_~D+qn%?GJn(csZ82CUP|ea$V{bsd;RVP=IYnUYX`!hZw=kb?(RveaL?}-TL`L|eS%IjnWl}bi$aZW? z&YF%g03CaGF936sXq!7}Ed9-QY({@K7okIzejYitg3w{SM4R7HpugL8GWtf~n-mPyn#i!N!dFK8Y9eV> z6G?-bNYXNq%=pcqjRVQhxQ%$?Ce-n`c_}n6Ma?@JfQ}{I7tlOOPBbq?&Fi7Rk>(vm zq2Nfn50z;1J0{ZKZ95veaTPRBdz7QMcIC!wH#}4 z`<~Wv+|F#@#afQrnC;tH%W=E2eG6+jZgaNJv?X1aE$Irjq#JKbIzkhtYp^99p$X|` z+%PDbc-D0yb8drc;w4E!Q$r@5?U+N(nvR12=-8=n1bydD8cl!m9aHG9!Vx6C+t81u z4x_LY!RL2uM1QyK7+&a(XJ~R;%xnf@fP70Td`l~Qdj>ucUY1{t^RaO&YyFX9v^dmW z@e92#Z@1cL&Rx+#Bf5*7G6}e*_a9ym1V`Np=aUqUJ%!sbdaYA^Fncr&Kcs&Qrhsp-k1S5JFE~6q zd6MK>^z2CX-b_BKEH*fnK>0M%pB#hihKoqMiuVEEvjhE36Mo)kq>h2j157{#a$^q! z`BFLZ>pl)KlE`_~otxDm<*EWe+hIp<(yokpc&HpKrrl2bUO{HG$RIxAAa z=f4~YzP}EWKYzbzbrb|{@!zgi@ku&M zYR!+I@g<~OewwBB@w_Jp^#%SU=gY)^Yvp}Nw=9SC06fQ?KSZFt3y;2gq%eTJL@vFQVRmx&&b z7%l){xe6$$Z&`hhQ{U6n_ek|UU1h+A1K?mo0SM_+F;3E|M!&a}{^^biAGUucRj2>( zK-AfWSu7s6up$atoc3X~_DDqUK=9UaD>S{L;1?wI8JcbU1XdnmI71UO#|!Cr1kJX8 z7N0D%ji0ou+txH`mYbcqHB{)^YL?8$L1C6WkT27O$|fsrQ*QmE0mCLLx~FiemYGTZ zj_=s7dmOvwP8#R7+cROr0&_0BNA3hX?Q6 zsd?)NUT+L@=wN%j8QAN|Kazo>ir zPIY@$R9DK|wGpX11^1fDQ7=Mlg5o9m?5J zR~V0&?C`3&gQySHJ61=XCHKDkz35NZNOkp7M>WOoO=XY6jjb$sf|e~{LV&hFL0<}gK6$KhK5Hxxqs4Y1NEHwx$JqWC3 z5ZLg6u#tmA%M4Z(GYXvU{9i%_P|h6z<#ftD8db1Pg6 zOb@DmCMz#`b3w+Jn!SkJo>YkoH3G2w_e6HhS-oZoRGu8UpNBjC7TXkDu1jVHL_?9k z<0A7xkvr26V!eBd6~+ZfRh*{-?~uT|gTNkB?kC#bHcq(b+)C{^RaJ_*;;a-Jt=9N~ z)iNVT)qRZ4d8UWGh1uAamQo1NFMt{W?2cnKGUMk3`fvy}0=*@5K1lPI(+KrP-jR%m@x85RqhFLf?yAiBC4v6E68f@0 zJHskpOi=7_EYtfLY#{B-Pb2Enj^SauUX`R%BH*piISg*ggb`nth$K zqcd4x_P#@Y+uso{sjdojE?{fKMSgXhU-^6-ZN8)P99EI1?QkZG?4A4z)B)NA9918z z#u4}}NQ@G(inkZ7(tm?V#lICA?r*YK!1Aezj?I=9p0>b=@lpF1QCnH+Y;2s-I!p6f zy|2WS=GiMs-0`Xgys7}NX~1g=@VW-Pt^jXnz#9tirUtyJ0B>o)TMF>D2E45R?`Xg~ z3h=H5ysH53X~265@V*ATuK*utzy}KOp$2@Y03T_1*3h=20e5wGS zX~1U+@VN$jt^i+Xz!wVer3QSd0AFdqR|@d827Ijm|IvW|D8PR;;J*s6Rs+^5z&9H3 zjRH_#3xFL2h-pAf0Za`r6~NK}O95;RuoWP#0dWO*S(WDK07nJ58o&z#Hbg?_n%-n&o*IG`|jI5F3M8jaA$wuu8-B(9ZJj z9o7c%?}(MbGfH;&#u(S#~^D1Q%#NtjUlyco`u$vi|7_*_GdH2l4YVELD@ z5(k3(IWD$?0!VS-wGJTP*XKcd>O}1_Pm6;m$NQt$$hD1AXvba8V;L6+(%pNK-{m_5*w#ZEXyck0TM=+=!-{u_A?jH{2yPoy zz6K#Bn<|v`e#!1nsX{sB{+is)%Iz*Tjvb-gZRBoI?y2N%Rqnau9;w_%l6#bLpGWS| z%6&7riHj7^U*Jh8&tveUmFH!6YLw?=cxsiWX$g7ilxI3T!<1(`c!n#_zVKv}=Qw!k zmFF~g8kFY>cp8=GMtGW(=g;tHtULsdM$2>XXuO!i$)geTHbOLJK7~i4CcczBf}6Ds zE71k2Cld9RcP&9@&>tf?f0UA*;P43VK`y1=@$|byNlSij@S_|2{x&he#(4V8ryov) z&!*pX^!pnWZ|FxetkF)t9qD%z{m!P}b@Y3HelO7POZp|K)Exb~H?c4XZUOmP_ilJ| z155KSakP1|p3A@b=9@}Or22jVF0UO;;}{mLQc6w(-A}xS+km|*m`=6)GIF|4M*~v9hWyil7YlG}Xv&I-@p8nLramBanjTsrqE-ep#n+@7h#lhkW#W0Pa0 zUUy27ZON{B$;J|7V~dhk#3W7T#$(AmWJ)AvQXFaBer$~V#;+=sTej2>IUBpgWF)5Wh}Wg>^JBQH}SrX z`vDZ>pXX>zTH54<_ByeBDjcag7|Z0VOeGc!s^;YG?} zG4EHr`+VQxgD2z#-Nk0m_;7XQ6=9sQv)0K#G)Cw%f)iPdf#)og$u< z9ZG_+sg_`DssNKTV3Gn%)_}C!IRDQ&nRszIVbt2xZVWm3Q+~c<29X?uV{WEby)# zEJ{wi2M+vL7BD49=HDtpfZHtABpDd+8_pFFZ+CQ2LzCzWWDDd zLzzGlrw*~j`#X!7{c3@VY4>%p)FWQBvV~Z4)_d7ea+Mg%xLaBN;PHDGcY$kNok^^HntLiBc?_aye20{3@!VYJbIkUkqX*zM`0|2J_Khi7bmN=){q zv{jAgH9C05T7Dn9^{2rp6^S8vidm*ZxfL1lMye_Ro!)!FQM-pK_=}F(Ib`tEHixyH z65^-30sE)kA3&?$OG4dq`F$!W|6=cHQ)a$mlM+`M&)$&BMKpzfeQsrxVZw^vbAOs!`1EuUaIVdpX9ChL)M2-+-`G16%C|l^rWc}M&9F2hB}!izb@9l^<={`+|?aoCrmX zHs&?C=fE-Z#+=r-1m*T8$g{eCi7D6rGjk07egyCN0gn27KLJrIu~G}EaycR$+uK1% zr@g~;{NobLe#N~-2=-pZgqU^w?-01X&hdNcD;902!_pLgX#yLHBk8Y8Kt^Vb;~$p5 zHRgmkm_&FJsi@@pyb0MU0qb?&5B5+!3%|jJEo9{^?^ckAqKd3+H}qRke|$oCv}tO_ zl2BQvN(3JhV_j#SzM*TFwrYr_VlTgzw1Qttsv{VNP-0*1s|MR*)>F7l#*G?Qxa~!` zG&uDRhc;87qXUbM)q0me@(zMCVR^KSriRDlk*c&? zlbD}ZtE9gFj@w{q^=gnCMgg|ffNd3Efd(v4fbBG3 zI|bNY1GZOy9W-DE1z4y73l(5T4Pb{p!)rUm``F>b%qEvVIefC-hqCuKjV_2(!Q+j_ zxuNObWnrURm+@Y0;IhCq6!WIvg3z>Bbnsh|fQCM8SX75hCVYwIC)N0>-*gjdXx6n}bp1&hV$0bk-XUr>@zw;q>Qr=N3_CnRWJk_2pSI;Jv(|LQ5t)?DI@l8! z$1^Pd0ZYAC@gVQiZ5r4($fOUSV{YUQ{$53xcgpZO_1qC>#ovj@n=jFJ5dt2{=@L?jN{ZP zEEC`&r$XGpz-b|Hy69B^7kFxN6P8_oB4MKQ5hgcBk(<{hG{m8f-)}+u1$yxRY4Ix# zJv3w<<$2am@hEZ1k71OgT`*|?(FFK7sENK$0Hq*z|6jnd?L7%;*q_(b)!S>c|A-t7 zPYOziQweb{f%w9jXbH7k0zfp4NeO0k3GuLmcx4HU&wmR^wG%J)6iCYP6RLzOFoz_$ z1c1z>Wcm{m7pc9ck?G$kQ)g|qKawdBU#xdj7f6y}JW)&wLZ$^F8CQ&l$2`zcx3Tpp zhC1uM+}Qd>?f#F^GcCsMU=I!0 zLje|Rz+wehq5(@pjfLku&~u*m6rz8`Gf~RPT30#cXV53@z+(AXI5!QQliB$koLxM{ zdrWkgxV(aEh|Pj?EAx)dgH(cjl_Qhj-Y^jxmL+6bUK5lkR3(7P0ss+|pASk`-8NO+ z+)>j9trfMtJi}#H(Z3#SNXpF1o0&`1c~EKl@y4;{ilwG9VYeAddVxw>2@u1*eW=1K z_S7+EA;wZ#VpjshaJIYQ?Tf}a+(LfO*z)sIwD*!F{l1s(5q2zy>OOgM-H7hyLd!n{ z>wNErwC8ML6QzJ%TMd&r3O14o;Hw(b*kxFKAMz7l5Q4gEohAsLUPcl7v4Q6H<{&6r z6$Eu|;l2ZfFRJXJCL0bpjH$>XK5kEiJE>%GJG1vN7Qn*C^0s2P*^5+c<5irj%^}v7 z*so$g5dg%%D{=UuOoln{Je%!TWTJ|oT$GaUzJk%6sQ`&4SXj0y9QqVeqPM^e!Cy1@ zuxc>0EG)lN4ZfMd;4t|C--bS)JWQ(d;gW zW_M&Hy9;!7x}j~1JXTNIIs!hA!9NVZmbXnL^f3+v_sq`#S77dC4qG{B*vA}p>Yx~J z;@&uY(6H?|3@kstcU%!Rox@HVH0(GIJ9E&meL3vxLBmetu#*RE!*d*VO*Iih(?zkf z3qq#)5ETm5mq>5%dlC|b&+Ui}Xvx^>VF8JfJ-->3R$%l@zv%QFv1fJ>kNn6fw`BEu z&gv?ZHc^#!qb^P012R;MJETlZ$zx2`^wE^Wfe^GrNEr;|jPrPI2^90Pll$~A4hsxI zb6t%}$uBG1EU2!qT?GO{w$v>Q%eb=NG+mCGarFy4H5s>v2Y{+u9i5+)zT0-z#FEJF zOk;a{F|cD518XV%ReDQvvGYSN_Q@z0tIS^qyll>B z-%_95T5R{Hoq1HS@9jz1yy0bJLEF^D0opiVj#6|S8_`|NPHs?|juABG2TbE?mX0Eq zvznx`y311U#ojG!akNDh@5M&&t7Ls=8!cB!o5q>h$XjogaTjEy)V}`H^iAFPDt5jK z7C2LW4NPYu?!OKRU#id%_x8t%eYjq+x5JA42G(?d815Z_b^1VF_53%nj>Pgrl6UaM z&NrE?8f-$vTR_EwdZo%sn;l$0NYxe^lKwkrukD6W)LHebQ30oFrs}&3jkcSloeSc{ zI!z>T|G$WHi0Qox*1fcB-*5pwMlp2!?Ub+ou)_-9;&~4YM(2w6vHJNRz_Smv`yen{ z#0#X#AEEIG&9|&L7P+)|JxP(E9j|$k<5ejqXut^yaH0mBr~u#50OiPf2Y^_P*K(jn zZ>h@yp#6AC?^|xl$u7P{XGIBKvv(Oj`zWYutrW1;$8hd@+WgVj-?R zCQm6?-uWoRJJ980zI4K+te}MPr{}s+hDIKQ>GiU%=ds8&hjOCyIcN*q86M) z`BU_0(slgLfWxGB5Jgb)VB9+<7P09(&*(nM;PH+p>QiDuAmS97g}tpw%nR>}I#`ak zDMY|l+h*Q!in!t=O`KK;XkF!CAMttDeBur*QQxq2W~We{mdj(l=}wHnleUe7Gqq zokS#G?|Q$3==_MJxz;&UwK zWhbQUG?&f0!F06XqEo3po*jK(&HGxY!B6hfeE$$ic^`L$g8|~D~|*Q zg%Ja>by!-)t}YH&LHoDVQ@Riy+h@Q-(Otk%+Z5lTyjGm7Y5Z(ZgiWB805RM<0<>|Y z%;a$j%1us}y7$wjp%ttvL6f;-Lk!dZvZi&JRkpBN&Yw)6w43e!lMcGd%|$)UQO}5| z$9HYkZvdUZF6b1lcO%!kqE=xI8ns=H6X-jY*X@MO%5X{gl+Q_k5*lCtvamCT;pH_6 zKV?Jk*;uHt#qF<3pks?oNj{lN_-T~KR(QrtwK@M_`dBkA zj~V)?PttfZV;FoEg9<9hUxYM{zZZRQ^VMRPzqdg537~NK`vThgBznHl;xAFS#RrZ4 z;hduPUj)Q9X|Bm-vA+PoJlt>E0``IdqP&kzM5N?YEBGm9Wf4$m8iiH>P{-^aS~O|RLeUfYDuD&6N=USM4_cDQ62A7RNymIV3|Z+j;Jop zgS)6)mrGRF+ZDO)hFp)As3#z5qCVk$u5vv=q9(jAkn5Mo^+ZI?kFzYV6AON)w^qIxyb5gRL(F2M>(^m~*H}t_1d%LLBKb!{ zV)j3PtT+yAz9fY~C;uU4@$ZFD$lH%5&GuUHdB4RBIs?K__8x;QFxgm<@b(7f*`GX( z-Y}bwWc`#DP1*H}UA>c;wO*BkY*db8f5E<6sTOZE02g~L0Vkl@1G4$%6+Q#r`|RPI7D-Y}BI1v8k}VWB7?BJ}bCQY`4(V zxG3JZ2nI;%@O2s&(SEmt#tx^}G$gx^gYo&Km%(h%m~O0TtZi(t8yn(I+cdu(QHYmG zch6zFbD8wz7|ebH!FwhWsIdVOb<8BRAUc^ue@<5w)O0fD>e05n6Rv`n8!6Tzdna0< z-$LZ*&Y<%BIdVaC=e$JNE_ zq9xW<7fI6^lHRJ9j!ZmE>eM-sG|NdHBz+r6bCNWkNz*Kt&ZIM`3l85LCh7^{&A{Pl zVy-^9Hv3Az8-%*#w0Ad7kBJ>sZL1!0KHf#@!TdRbr*PW)&<>}C+^%$o0$zzY%OPd9|(eg*y^4_dtETc4=bDExL8Xj|PQyQCj`K(Q5`*#l3#bmC3 zm(bJbkFudGtXP9h%DFUH7M_b--^ZOx6zU|_I?WJCj>dX3BO!IR*+$A7E`Qv*anr`E z#z-t&RyM*TDP0k?doJfOAz6(RT%nxJ_RkMafmioVF~Q)_bhI23io+Zh`wtU;Ui+7c zzo7kP_D3Fi1&7gIAA$I7He1NI{Np9<(u%bGag8;{A0JaORVlr$iuoPhntOYLd2i`I zXOI*pa9-&_LQZtWvd&>{c+VG48_nar$|W-W&vcfLiovR+vwSqZ1$phE|Ii8wE;c&- zcW8(|2JM3GO#kEx{;It`0+H4$6&gN=dy&S|7CcX9W#>W6a=g(Si+IyZ*YBsaOIpr1 znf1<^S2?-(RZg?X{D{{_&A7@LfwP4l2Z|>&)u>T7qqOP%6*&--N1?>s*~HXE^KeI) zSGkcqOn)4zFs^i`&cKXBx4kPOF~<|QzpZj%7+c!qfWV}Gkj{*#$JpTn#)z7MSEj7u zOzVQfo4cl3*~^&~3x|=+8Y8Wo3iv^gnpNR0#bL%j4yb5tO(Gj@Vm1vF(%*2Q= zm#Y$y)?39ksz$DB#5$@`ER?=~;2_P5M7tu=9rmJ}?(ezu-I8hTrW9M7@oq@5%_q?p z<{V2~9Aq5Z9Q3%q5#>+aZt`m*)YBW=p}icO8|M0`;>DqElt2a1t5ld$6}vy9QNYGl`C1o#)h|pq4t^5maP~!i!s!bR{2I$wcuLi z?UJH;z`PCZLXE9Mp55|}f&K<~c1QLQ{w{D+Q%}Llw}hE_;-!E-iC`-}-fr#~=UA>+ zMh48$Tdw0D0%g8s0D-%w6)hL#_93J{75Sbd`MTa|uAGlz9eap+Z5ygvov@23dwDO0 zokI&?qvzTD)SlOY9c#gCtg%_10OVRZ|4_;=S*%a`|HAZ}l5c}uXigOC6aFSho02cC zkjEhhp`8s@0Nz+waeoi`WE7SaNgt9YDY!Y?v2T%TIobQmI~3QjI${;3e# zD^Vlc2_t3t23nO3PF+0LF)rKS+TOAtpux2=PP?6Pp*FKW&|eRLn~6&*hFP}7+dk&$ zdH+-i!QRRCmV?$3nFKMVnS|dCx;UIs&|XuYUfXmiDw{4i$=>IIkz;jG&Dy5D5LAPp z7ZJ2f2i2}^Ivhc@2zm)Y$LpZFwM}~?s189dBj`jOG;D1XPFga<5cCRyj?qEGRnTw* zy^f&MIH*{c^zSvn=kufotDyq$ZlXW_cXj%Vs%r-6-$44abWpvjP(6a)M9>)&ROe)O z7U@~rn0?#EblF7QJ12|$sf#y@KT%BMqewDfjSet-KPE24%JR&_{L$4gT*Uh*!ltn; z^MPqr1HmXO{q`U}c8n?O;wvtMI)4WkMQYimpt+nQtH+&{)2rE-cbPkKggZjH?pmh> z%+VxUOlWHRJfEOW{^X!GG7g~@ya4rSMSW};^<0(G6I3g%kG~)$Rp|r;k6cHjE<21w z_2tQ?y1ucXy2qosTqUaSNL^q5WK10KEYB)MVzeak2{2T!0ys`t{O3jOwE9-aS@liXT7Clnb=ER`{V|wm3+d9E2Zd6v zixQf@v)IsKOl%DP0F!>b;ZLO&PtbGrW)!|d7@ndSF@GAmd!o5GYq$Jqs8ph9U z^`4;*XV}4G35Fkc1RYhFz_gW?H*V+@lFj*+{OEk!@OwVvG~gmRFXWR@+?kfj-mPkPnT~duO7}wz_@M&)NCSSP0GDgP z5gGUEu0BI;p{^|@K=L{A`GvFvYat4oc1}v}JNmh#9pJ}ZAOriNI4PXcK(GHFY zo$Dd~WH`jVzp{Loujcf9&tzS0d~i1hcXVI}-H~fLeV0fuOOo$%S>=Y^=g{)ncQKDd z`1@hiK5~9kV>b7FpWxlsqY4t`PZc5%ijtEkXN6HZE2AXM7LHOlRE6JB9X>+Bw^rd@ z)#0rYK2e2FsSY10;jWowhshFB?+G-N<*eR6L+4|m^B@LrYse-S39 z!Z6q0nYl%pA)Q2^`0-|yLbmLEYmC;3p$}GtB_h-nvxjJtM=Bo4G9r?GZ{6CZY#~}ZtXi)lFt-=ex!jq9Y5!=G?X9pY7V#X9NZ%4fkTt0CBEAdp`N8-L0?oY&hAKag* z)$1l*;!UawH*3Jn3UG@C+@b)#)_`9tz^xi^tMD)An|FvY+C%F7If`xW`vLQ%I5P8h z2Rn7RX?l!LTw(UUM5J8brHIr&DbW64Q9i_m-WMz}^!EUZdp))QDV1Jw8?HQy$&*`a z7GhcNYw~x`rF!%a*ZEm2c%A_>B36H`hMFfML+>!`1)Hd=;qz&ymdakv^(xd*D}q{D zVRkZ=4LAGe1ye9j)LdD8&|+HR_x8jSelb1}=szLI;&7}4mvV!;zi+OqUNfLmH%QeY zvAsh;m-SYEO$DSlVE{gBlNz5%#wSi1$5={7O@H;GlGFzt9vn+7uzhFlJEu>Pop8H>i|56h19E?6oTiZ-nVe zBeGK4ETcS^D(pD0s6-|hM48Aa(hZf~s%UQ^nbo~$I^H+cbd6VBxsqU8`mU4tDsDVO z*jUVS@~;Tgb2E?wZ7y@D@q7bMwWv>6Zyp%!BNfRH*8K4y?GH}ZDPk@-IqghPM1+c& zfT1drHlwG0zv7DEZ=m%J~5*P)LQR ztEoYzGu`r_bm%|y-N>cmufGJPVV=SKdXJu8?@<%(Up3&b3UIFm+^YchX~2C7aK8rJ zuK*8d06X|x^=TTbOCxi3E6>?he`7cy-5E@jWwZCra573oe7VchY6LV^j)0BL{>?R{ zIf9CutI(mSzrPq8FgteN%%kt(!K$+V22|zZ0aXbK3C@d&Zm24eIZ=&{!ZgVQnj38I zLFKv8fOX)DigiE_m09}GeTtfH`kN}z5RfDluP0U>`^}h(!gAE|i8TyH53+pV;SI;f z_3H8QGKq>23a^aNKZk2G-X`0VY4>i>?%rnqU-STN)~aWwH!Oi;$eiSHl}t~4cQJ|H z6$~Z}Wkxskpv%&jsF?U}j(vAHoCwJlA(+R~-N9JemFlw>*XJ*&&&+BnS!Z>E(s=m% zg-iQOFnl&r!{=|B(*LGN{~--{NaMt0)0%su4*d@X=a>%RZJEbBWjTT6f2pl_Pl>-z zReTrmH<9=$#NSim<6VY@N=E|%yD`vU+zSG`y@AsQQEvi|1$ZBT_XYTW09GS$q;O9{ zcYHSJjY$(gGmOVw{hFcD z2Ze6Ke${#X59f8DCjNB^>`?po7GT@9FOXSbo=w27qW=igIK`|whMisXRuj|_gY8|6A|sNeRx zEU|MHNr-}rwUI|shQ}-=OFqO_PcfYcr71YRqa7z{N3V9AtQ~#Yu|hje(Tatm7XAo9RvlC`-sKIZ>}eMmCRNQq*!#oIn)Pm$&+o#rV8cv=IV zR)A+T;28yYRs)_@faf&eIR#jw0c#ZCc@2180bbC67Zl({4R}!jUebV<6yRkIcv%5n z(STPJ;8hKHRRR7j^quQ_k`d6y{%cIp!fi3VrQu>%BR=o66yFE>x6C=B!?29sYQz~j z^f6dFm!D~7yu++Y0cG z2E3yH?`pui3ha*`=Gg^#c+ zEZk7Ek2#vCOY^zd@05;*DKNZun3{1VcrrHfRE*_y$Wd4(a%nOCME&A;M?(aYO&4~s z{GG!d+uVuzCQF#WL@g^7CKa$135@04;@FaTSYTQcWt+XIcjSDH2F)>g&9>Oy&;i_r z7ViR9Rly5St;(H0#`Js~6UF&OKJi$#f2=Jw0c8z85PGvMUBgUVm^&XWG-2k@^w|1U zp+!tzr7c&K&-q$((RORrWYtZqHPM?`jrl|%k83d|%#pbU{K6c~FATDve$J!8|C(CZ z_k~PGtPXd5h5lCGXXwM*&E8KjTH5%@%2fGMs#WPZLR)F-;j~niz-fHSj1&ImUo(3@ zLGvN*wWh+R_E{)H19#YRZ-_G-xkN1={mbE?s~Lmg1HiumUAiM)i??+ zLVKqdi1q9F37>bIpx3b*{r2Q_@Tri-=(+kFlcy^jMe+Xgy;@92H^r{ z0vWqBYl1c+CC?VCB8PL9uosuM{Ly$k$hG(pp$Xz`?polo6}jfFyt|Cp8?(kt`2XPz zr_I~M0!*k_tpC&4=>3))6Y^H+!y_sVsJ)NGW-+qN&0&d>4R1@rYA(0_QvgQBL_8xFj z6zTtPPv;3cyS+O*v%7>vVly+lz%D8v1`Md22}BMM1u-3__GZDf?z%<{fB_>4DvAjd z^v)bk&oi6}%$}z!=5%K~JtMr&_o?cho(<~#KL2-Ns=KP5e(I_8)KgVYJq1LLo{GA6 zFrnhJOmn5GYZe<%q^JjF9(F&nr#uv{J2L3`pnTD^z^E<*9Os|W!zNF$kTou3v1ec_ zZ_x8F-b;@2Z8qX0pGqUNQ0q-mQC@2oD`i_%GcBPO<=&56<<0zHllN~L`f7!Jj`ArL z?XgHrs!H!{vGUcHw`D|FtI_n7d#??xvn2I2q?B^6hTq8d6;+>4iB$VgXB#}&R}8cX z)9^AiWu~+R6L<-2AP#xDONET1rPJ=is89k^H`PhKKHL+(Y@IS3d#=O-FahNz>iOI+ia@u}ifFEQ(hTI1}_&m$u!5u()zQ5>&8;&etLU~Jb z2jXOC%eE%lg5bMKEpHpx#R~5t6zvc;DHS^w_a*l1o|Z(#r-1!-TWM*Uw*}hujEwgP ztN{?>J9|$`rsXIjC-^paY-P2$GQlzOl?FG-{>?N#818cPWRVhEmh~^Q#CU>nu_D5D zA#jg48`;Kh8~J=e{s80ue3&tDn89R53x1fi+?6(KLvx6ga&Hh`(bKqT8M=Fupawzn zc~cH1X7i)MJ9Ipv*6Up~{PSf-K4ysRM(P&bHV&OI(wo4>ej#b@_c7`aC2{(OH%r$< zOuqE~SM$Jk2U2H$;3z1l6+86(KqR>qI>or-Hf`Rl6>5&Aroh2G7yliV#B%!>dB^ZRx1b^`p0V6`wh{Fthlyt_=gM(}`-wM>*wK(Ui3YJ;xyBZB zsju);>ea@Sg+%EQVm)pZZyS`W<(l7CDkCI-T*m^4l_j2aBePioU4gPS8Zug;;~2@1 z^bju+EgM%a$znoF{+t@(w(^OkdE83z2CiHEgq(E3V5VG_q&}3is`MOD6eT)L7*Kk^ zhEl98Zl-Z`M3~IHv&Q`E*s7T9qdTnNyQGT4OPS#hFJn)S1Y?mLo|=iFZak*9)<9jv zp+1sIQJ(?ZtTN@-4wB`u$4Xk`UgIIou_~kPT0q6j`~W9P9Ja8BCyU1D%Bu~psADin zLJvE(cj%%*fe)?zu{UVdi4ip@ARhP#yq{xv8Elw{)#jv=OgpiaPSTqXal(l$c$ily z9I;&HU5ztyPOQq#4Oi()9$KSGON^~iLT$;xHAn;t|5PL^P$Y3Gi#Q_g7S(eN0uvON zFx|VjM;0FQY1dW5y$0g^vVeLXGtbZz$TLndnwp%nQId(zTURJH!y_BPM@pAQP#>v+_Acra&X*cM}42-p(7DALf?lv4pz_`25W^aPw;J?TWlC!--jQeMz1^8 zWP|z|%Y>6Ez$U zc?EEN+izmL0{Dksfh~_W=PJ~wW?|eC6C@J7egB`}xAR8|zKzAw<5}}G>gZ|Id(6?xaw9BHDKd9#B}TE8$hPong!?jC@%h-T6d$Ge^&7#&mUK%S&mD5d33N$NcCBaW9h zVGTaNgT4TQUOp{Db?z4#cQzp_>uk5Y-%(!JWV3rQP9RqJaPA4vrtX}jFTkC``3ij% zoUtP0$gh6E*ZT+PUOPdN%6orZy^9JfRE_ zeJReiF^*yRt6Y^bI;1Wf-ga*hi(YzutS%;XqoNIU)X3ACH<#yPnl~Mt*Ywsvq*Li@ zaU#a#c^?T;eN{im)(E==o)IyHIHOy6nkk#xoFxPp-Mtk!TYa1~t6mM239k*ohe)ou zdkNRvMsm%h!EBS-5cAEyx0kG#i6ynJ3{)Uani;+bo0W^j8jh)4Ol9JsZP3`Cw9->p z4v3|v$Ynrkwcc3BZzSFCWwRECDo+A|fqHv$nhV61fE+>MBni7G^5#-a<6(q=mpmF{ z@-5RmMV9HLq+L>~lyGJW4Ym1E$*39(xy-1UkG5iwyrGib1Vgw}Sj5RiKrVI#8j?wC zVndi_SXW3?s**Abl%1rrQ7=hNeZ08{uWJ7Gg!~|i4_fhoy9N~J%pIhT^_H3mVeaXK=0Bf+bDg0Qr zF@mCwRVv+!+R(*`11{TQGwE8k6?(WF=?ht>!nzICtVv{6{)lxqZY!lvAwxvwsOx`3~fS~x#etWo`UWEPdzG$s4 zD~F7Y3J`Rz;d+n2`ei<$;2+M(6NRV!#B3EU?# zfF^b=C+lK{M&ma2tk_nQXq8nkw$u)djUB2Wkn5HmD)Ic$vH>NWM4!e(okV@Ixev}a zVb_hG9Xju;%Vcsp+xb4WUnjOM$O`JDT9qMIxH=qzY9mFZI5cPQjXZB+(X%Q_^D1u$ zw_OrsD`Ty1P%Gs-xqGUtsZ?3ia!^|&dR@rtol%p!U% zo}%g`B;4dGH3{$HurzA@%?=2$VzvDgSrX+=c}-)PQ{JcXFsHme**Gw_W6O4!0LLjO zagh^8r#FgSQG;MyG1bsZHU><;vHKeX+}M@S`LAfyKmTPb3#n%2Gw-`M z%=-@O&igd47L{P@EW2R+v6L5vn{1gH4Vr9~UTKKNL@iXsWGUPlXB634pT^0=!jjDf z%5S2h=leNQ&Q7V0UfT4mV$+L;nx3Um6Z2ahZc2U=%Rp7OZi|Ko-cT9srQzAdh9|g0 zr6Jl~lVeoHgaG~!5hj# zF(6jpK9Mh1as=N&*o&?Cc)aeXOYF-jCawP9xm80hvUOgf;Nuo|k{^hPd1h zIDYfy&2|I!&_bM8_r};Fu@lekp;Sb)I4#0@;nqsW%!H%?aeRbEztfqoqUCD_O~O`- zg&KNW7rddW9JUW?D`N@caY5a(!4B*)Fiq&RmWX>L40xy^?5?X%>5A#mb92@w&#O6DMI|D+mi)mM+o%TD9qH-zdt)|Jb(Q?MT z3|UUyK~t3D*{(_9#d8Ct0_F*_*Y8x)>$mK2!TQ{i_LJ1R&HZ%L!F>=sk~-URYyVM| zHf0_GFF2EeIuOL+?LYaEe?{b3i2TV9cNek&*@alnvAnae&oDD-F>B=-03Ews8keopvivY41EX1av#an_Qx>~5+T-KRz zs`D0kc@H>AqrmxCwL1qUAFvquSqBA5o3x~)#R$28a@?IQVxkYQkbccH;KOq z(~C}xIMH6~)KX#9io%iv^x5GiK*YrUT16Kc9LE_8qef1J+?H}2e_N`;ad^U6RauOT z79*n~vdXFQW`WMS+#sip>0EU#Xh}Jhl_~cE6l}`95LG+_V{VT9{f*a-hy@z#~T7O-pHY|b^4n5Cb&enQdmtiddp{U_C zMT-6YH=usxS5ULwlC5l_e4K#ulIXLsbX=@uVaN>4HlIbiGid;UCBiY+kz<6m;50V2 zYx4*(q@ir6#x{3tX)bmwG>D^ep)jgOyN(VbD#~Mn=1Y*O5tU;`cN#2>M94is$+oJX{$)4p&w~T+lx*L0!kU zR|vZsC$esgR87mW!4Ok#y_j__;#Qz@0kxRn^uzRoMrT%q!M0THcT$|-wK}2O^lvP> z=Ah}8Yu3C*exZ;Ce%V6v^88Yxc_a9xT=Pcqiz(DJ1RCEuKh~!=$$plK{a>Z9or^1B zTM8c!d`sq~N2Otg3APZn}RF7#)M~=o-t!B%qRnVnj=3t!8m;tE+(eOG{gJu(Gwk z6i~4c5f)Gl%XA;=wk9#5uNdE;Nm@ts_5%H~Vj{@v31^ePmG=?HcEC)n;a$Q4+Zaea zG@-r}t-exmFT;eAo|o$|uavj!%nsN+wpeAK%~Z3_em}$8&X&fgC&-HzE9f0s{5gxD z@KR<&>gUD<#U`4aD`W1&D3fW_qczP`4j21PLa1n$Y!izy!cwiS)oBUq+EE%my6i@X zzLTG7iHXl17E48%s#{`rLZk%55-Ao+SrE((5CnbFD?yzjX}Hr2sY@QNX}nVuhL zOm!~;jnH1@VJ0eheIzU9oJMB)$bV(`Qh710&CvKj zi%^l~eS`@zJ?P^8Zm6$|YslT~fLlR2Hdroh(;0`Z>h9lp>X>q$2D)R^R#TG-t^=Xq zYO)O@xY>f%&{ZE8;*YNsjPV2e43}aJgBRKB-R7OujNJQm-?!QHLX)^bhbl&FBE63K zW^FeA>J)scyHv!cyeOw6EQ@uVbyUVDW32$H-p>Ihse=JS%ZKgJ#~Subnj*wxMMDbN zCTWNexo;3_7;dm~A-&a$Y#AZ#!dOGhV2#2dRD!0r6(pQ;RWo&=e&31W66%0u(aelp zuzmx}HED>u^drewX`$aW^t%rtuYxN^h#9appe&PD7zs~H;!@3`nqcO`Zm=a`-m-;O z>-;&Pz>P9cXbH-|r-HyWU{Nm$v);xkx>4>1@J3 zxal{M)bkL*P74RdNOm&3FRf4z)&1i_3o8}GP=HhML0soy6wwn1_%uWR+bXUjAb zcj|S|_MhNa6`EeUXPfc$3ihX#*M>CmsiZEm9+Pi;$vFxewl%pBTVw(7^#zHfNri2C zXO#vT6li!~ixm+t9NoK;D5>7&D@w93?R@3fxRLK`6)rwMP#Y?;Us#%qTZISC59BPd z4QVx;9bNWAkjHEE=#KL&IR2|-4dl|hxH3G8D+3o7uR^<88*W; z-)8uDX)}Cu&$hz*b+Z*7*G<)1PH&SlS#<%pqLpJ{Mk!{F%A@L(6xNG<5Rbp8OV>r%rb+CNPiwxuT6GAR@mB#MQ>W@jn z_A$KU0`DjA<^&{*oBfkUNFt%oVCj!V&m>0s={$=PI!~tjFl3A>t|qO0SPWv>fE9=k zL_@`MNbUhN2KFb-eNdFoqP%K}o^UY(#|E4Ej1~r7Z;LrQg*CJo3o!W81h4eAn;a2= zePWUs`b4p5$dWpiZHtn+?n~<8LY%l&(>&Pk@|XLqFd5>)l4EAFxSAwsap%KW@dwJz zsjNf9a+u%Lo)JTj7!_09$2&?n!WZns_^6cVue$pWG~N;!FJI=zvTT`aUXr%2qt*4P z5lvtD{KQDfQsVZ*DySQTY!$?CW5G?2=vju~2EVi}=~MgYMZqY1Ws&oDRqWOb)qN5z zc2oq#@*D8>S^69B_Qnm^7ORE(h?LVHn*{sfday5!=~;;XS(5)*etUX{q7s_Cni6cV zEL}xhk{9IdF^d)63g9()!|*<1WuWL#)iJm?V_(ZiIcCshae_mXd2Rq+WgH3}l09zc zN(HPkTV+B0MeJ_-ywVDIWi-SqJ1s}gOs~@4aD-umafjnZylTf53+qt_wsE6A1I6u; zcHaC|PHIU`ihIfxWwtVTost!Nbhgs=hGK~|^U2CJUy3Dk@YKWQ{Oi}om3O!gvR{;I zdNCWheA~vAO21B<&*f3S|DiNb2Ol?=%!`?s>5M6!PUPYi$(8oSE9}hlgl#r`De5s@ zHs%ic!ZM>PtR?ew?;66miEa3dg}yGefot{uKk9Ql)u(Pmd#cVdj4hez#Tu>fiz+kS z;xdV5rk6!^(_2ZTZ9jo(S1aCiis|0uYm~fyhJd&#^!uF>&Kg`-mg+vqAkHeTE{mx( zVMZFKu7ZmL61G2S?#6j7&@OwWm`LMv1hXcoHkUO@=KkMtnZ}0})!W5b33WPK+#!eh zJd@}b$`OP7F=oNi?qa1cl>Y`PMo`^y9Zu1o%IcJ6STwpGN><(~>~7{JMZFuarlrz= zb0c;FQTa53mEM#cRPq3X-K6{X?)ngRQ0r0eW~l1l_FEe?WV6etpPu!<%4U57*({d( zgA)_7nZ?=PTaefjl3ATV^o^n zARwEMU4QOZ7WVQ}jun(^li~FTodlgL6YnGd-opE}xP3wp&HMiW*+Z(LL^gFoNpiGj zlH-Cy9^#s|9QCJiBq9l)X(>!y zfW0BOCPLSW<-NQcF2`nxSHy+j{rj81%b%h$I-AGphr?s_)xTw|7QMVDrUO;e-k6Tm z`|a{Yc`sk2f4ZJ@IxKFBh1|Nvn0)Kg zJUXeTr|?M7vJP7YQF9fnS8LwYET!GV?k!L_nx=vSVDRn zW7<#U%^*gV)H74W#(?`*SRgXR5(V*oEFI)c#9IPNe6T{Su4~>hY??MF#fmYspB@V2 zN`2&)Vl6GI%#$*d?w!chnaPSb!&|Mh(GixLcPp7ajO#Lc*x|BZuoSnbvUMIl55!k# zm1+xgO}8~jxAlKacg_Ej?pA7Rly95)h60PeZ&h&>IefgzRE+vA9Q9*K)KB3ktojBX ztYQ}7V&SNYk|-w}Wt2pj;V7#l$__`xOQI6tD6J$)4@X5xqSSEI&n21M6wc)4k|-to zRaptbWH{>klCORUBdjd>sw(_dswAp99F;DK%7mk8N}_7RQFSFzeZo=wOQPz-QGH9I z`h}wgltgV2jv81JH7Fc4xFl*wIBIA~)Ua@rTM{)KzL{#Pg(1%pPZ|MjJT6t;95$*7 z6_*zcKv}%?#luZov;?Xt1Z8)J5=oScr>3X9WjuWsbVw_S7fGn359M860@MhgO9gpA zWpl9MJy8NR22e0fh$}zUI^Q&*y9U$hCY8;YFZdlyfcl=D!k*pWA@Eyuwj(d>ZJrC6 zHkPY0-P<5tTd;g#^0lTh|7NcDQc_>#D1twa?b(Yv-!0W$3tZ}aac4UF;#R}%raKdR z5feSckS) zj>Y|$^15PTi&{fMb@SqybhU zL-9*Eeq^+m|9n)KfR9_*6pHV5F75VeMt+Ab??J*|>-m@;Z6!YqEG3y4?{I7!ET%N6 za45(fhdGpOwQLttX!qZborn;n42 z5n2ZIzdw$i7jRxiM@z1#&A8`t<`=;TC=9Ks-9x-TvHEDb%E%3Xio~*nT?(X|Wu3JS zO@yH->gY@6HN948ZmLF{W8&y9(*PZT3qgapJ+g$5LDYEAByjZ;Ul~|w|0c?SNutF?(xl%4lcl41=a!nR(QQeIA}3h3Cv zy+>!uBKPXtn7sRRK5roq15N-l+P%2p=1soBh*~ksLf)0yWR9ZHmisY>e*k(*=ynvk zB|;xW=tBraf60#XZzpQ2f%n_?47cvTAn`i26@e_a6|TKPIhL=k>i`6UiD>ta;3K1? z8R9xknqcG?X(?B&b0hzVC`&S`@Ar0?QdLQr+$>dE58S*y@87kgQ z?=f8%B$f2Q<`--l}f|*LhXbY*AJ22?#Sxn)1-475oewI@Sx)s2&Bs`ScvKE z7A$`svAn!^2Nv$Qn^MHdRoL~Gt6#urh4&|Yyvx-3Jr+MnFKsT`hRoEbiDIUPYrYM3 z9K*O&+N5)q`Fb#VdPKbN;ROF8Gy~rHWr0^)GEbi|DjcM?l02ZNN6iv1v0Sa%nnm3X z$xM%FI=L0_%`thcc( z;Z4E}ClbM(hOY_)iU8S^o)AXxvX4NZFG0W*=-z9fQee}(f9T>8b{Y4I^u8#(NQz2} zX8+#nx-bEr$uhqnc|f@w`J#5*7PMoH^}+s$rj$!s-Wyy6ruU`}rc( zMe@g1BqVP{tz3jrcp4NlmeN~Z*g!zhWaOREu)DZS=#23f6)H;i`>}!LN-o(%uG$tQ ztDBnlHX4JTiFc-@$?JE+Ca=?3D=6c7Ws4n(_e)`k@=Dxy8q*}!DuFewS~`>3pr&II z=lfxtrsU^QrQY@NsjLKk72!+A1eImEnyA31S>8KLq?zcfqtb~er_-=S>C0^a~bKeE=TU` zA%U`})fg`+I+mUeZ+G$t?gqy zEC&SOFujeKm1--V^c_Dn?-Ty66`u+ACk{Emv?&87#MAq<2%_}IM!YKxQ zG+xMD>6?U>pczRi!wYgVNTxcVBwjf2%A$#B2KM>_Y0b#K}qsA+71DI>M!m zbL`ofT{G~l9&R-8!nRj+C8b{}DMf%@N$Icf(5cNILGrKe{TD>U(%G}r*6--Gp;A2= zPrmRu<&yXTar`?eSAe>PA%&~2@@3Es69U_+4KF?&ER3Uw{m-`FWOjaWO zgLu7TS8Tfc2=;AeCvNCpDj;B`i6>D%=^?w_LVlz+A@3FZuNGWg6EjH!F!|~l-=28~ zJ+H$Uu?6llCt?3`BBij~a^=|IavTc0EXo&Mg|Au95B7oQ1i+M0A2?bH-1YKx5M^yL z2jbSkpLq-+e*CU46A3eEmda+*XwJ`8*Bn(?_2nEd;l91#X+$K{Rd}{+;(A~3xD3Oy z`%;(ayo&YD=^0iSkFn8s=`C`;kF;YmvEQl&<$br{Ma z)V{8lvT|ZYFy|8;#MZfkkgO+6#_OhBu2ZwJWN;sBetU5*Y<_ELZ*Qoq`6L$p6yMTb zR$AAyX%>0{S0znxH;H=27Fd2zw~JaGl{d#)uBVViqeYwI>LSoFT|q?!)}UO*6r11J zGoTjJ12mg{t_`5|4dc322ZN+rOf(67!`L1%xaU%q79lRXVU!P{3z=JD$helkuuZoL zU4)NiU*WD(Cc2K!1_rabI6zpTySK&Ij=eZT*rzabMTz;d!Zj;=4s5ata@@+NEM2M= zTPYIzJez6Y*o2+0vP~~)z}}Wkv0jXO0-MWjc6GiWI3G=!x_cqWDBQK8RGUwTgeop* zkL0V=`FOe)fl2sZq_6Js1rJYHR` z16hRakA=)i2JNsRCJDwGvPN@I_xz~18ADasZlt6sG|yVa?VWE?l~*C;UEP#(H#OTn z7mF2o%N6vQ7dLpdztU3q((!CDvBGpelhW>GgH^bVg0MAu2iMKAV16s^)mZNHNj?d* zVEYJj$5nVPg2QD<5j)5TJQwW{ikKiH@LV(@6tSa>z;n@#p@^Mi1fGj_3L***T-^hQ zV^V22Y7VWhPgeLa4$0aJdBMK#j9tnVan@G8H_H)G`W6c6O4zA9TkSJk6Ev!5%>D* zuf(I7SIVMx(|WT(Pg}3YEx8WzA45@Y#8_HpVCciGYVry=FG(RL`o0icYGuGfK17`i z*vg0KBLklCA^OUIZG4D+GT>PsqQ4B-+J~r*%8=)LkouSm856+7Wk_(nc6~yI3Ouko5sfg$x-Lz&JAGi2$ZjhBO5*RWc+Pw(3(dq&a}8mLb8&SD%(4 zqXU?X3<(C$dcPL73}9-Dm?ex~55oeOK1IwD#;=LN0ZhMQE+mX!7efP>`eMmTm;o|m zd;qgWv7Jbmfih&<0A^6J9Y~nLGGw~|W=OGiB+O755}X&QA0|Tv24A@{B)I;dez*wf zfGpfn&K#`eOy>L{m7vooz)pK-;Nevekbo(Rc7cgz7$zEmL2v5;3F>6~&Gy04wTcy;Ot& z9mgs5A_3^s%W`zWfR#>VvD*s3%6i!%D#L(PPF2??RwYTS3d5zGROmDn!=Xhj=K* zQt2wZx>sS`yg__W9^r?OQ>w(56n2OohK+Z(%D@1eGUVPkj8@FWSQ|6>I3ET~(;qa= zbhd_Oo`rp`QI1s?HDI@GCcU~-XyiUASf#rBn&K)|wGm#w3df{-jmaS9E43Bh=4-@L zEa`|fdp3VVlXPIfIuxFA**@FyFNlTy$Ccray#vH&K##Q~JTdbL~!EiQe0Dj?)G)kB?mi*;HPq5DI7F67}x z@jlU%GI6GY>!Xwxx)joJdNFqi*>tkSiuQ7NzopAZ`B2GXb4!3W7*c2IOgU$hU(FTI z@`&3=k5JFswTB2aznDouBM`(}g(HEawg*_hulCZ1yip+Nr1DVNmUk^%Uc=hIv<)|vGsce57&{Qe;kf-U=WS_pFTpKCCCKkIv)U@$W0JDR=sr{Jfqte~ zXIcf5?SY?_NjzL`KAMbdrD9EafM1Z=FkbG!BDgzEz4zTPO#?;wMU>r2X-b6JypJUv zDwvk7ku=Sk`-F=q6k6IZxu;i_&|VuV^2(CT%3(#62@gD{NepVbq{T9Y2Lj*+3E+gr zj$a*Rfa*}L8ZAGLwf|=0 zJy)hZTckaQ(>AXSr;RB0V39UrM2MgEA-&hhp`7?(>>kb}`~eVCM2sc^Q{KFQuDEgo zJ=cP+BMfXrX>EYC^)^7-Y8&G!^u4xNS2p9a8I^k^Fxi{TqkNhqa0$@SL9-LVEyo18 zNqHXNHkro;1^P$M8Qi$qimuUMn-+s*t#DoooXZw==W|{c`0ejd%F{aJ={Q-|1=0TI ziz4T53gfR0w?BqpJnr$L;Ky^phr*8*#eYKY#eX6ba}v9)Ow!3g+XGFvgQhk~(}{wn zRzVYgRG3pj6GJc}w_VUQhiM9hOPWsUou&?^=2Ui1W13D6Xu`StJ3!MJlBNzp(`kYx z{-`j&geHbyMDCe_ruj@$M`=Gjt)!ox)eCvlT^2H7XER~v`1Oar@+Z)BuB2b?4Hl*Ul49Te@6Nj%JdhDayeg+!QT`fDk&F+ zU_9m?wy|VhX1XOF-n}64K7ibBfOT@#p_6H?baa_@l*BJ&-R7)QU36(& zBI8CV<7Su4mKEDcRJ4<*-=Q|1a(1SL@4tfT?1X^^q{)JrkTL5-b`^*3Q15 zx(^z1y52xl@sPoj45m|c|AJH=W;VhhDfbb0CJEBSr`}%?)RgAZ?!b@%9cb@SW@di_ zg2xb6CuTfiPj4cX&x3rQh&Xd4&r;c{iSx0!thV4XMI1=kq;a_AU4!sKVr7Z`gxKr; zRh-xMf^#L~+^Z*?rFuWOllvi@ujf7gJZz*H-s5O;El-e}WB!q8d6K!b{N`Z#<}YlE z2>Z>&mQ~|x02PB)+L;Yg{Tg0rYvQEQ*Sw|c{he8oX1U*B4}ZgcKAiUyMa+j+=#;{) z)We*f%__d$)A&$te+G5*EP8bNbH&&7Xdg@Fc^laGJld4^0>8hA<}}%FPVMJoP27S) z+)Et&a)86~Ug0`^6-_3kd9UG_&?WUvxKb~X8(l)cdgdP@&3^>JroD`nq21BAdXX)v zEScBzxWJsR5+rH!Pp0BxB658-?{y?bB{fhNiOxR-g}EgZMg>7-BFG!0i`yWgtT!9# zC*o9`9(9}PqZ}2~KLdi?tzt!;1jtd3P`MT^Sc!Wa#^DqkZ0K#6?e}6XBTd#<#(RUi zUQliSz0a1LWs6Lr9q&r8p&%%40ufw|ME7Ma;?WJ*k&$*md+Bo6my_1=g z)}zQ{#(UccDX{e^{3{??P*9}X?4d#FCRZ^9MG(}?3M8_!{@>^6$6oXFoaSxTx)Im@ z4%gDV2A_|3&nTrZ%o7UZt}CH0Rb&bQrC$p8wD3-P|j^EW=HZ?L^IZA89ER&`RSVC-k8q_xX;X_{X3tdLoV~%`NOmSx>W;Sa2Y=t}ym`|Dte2 zi&o28R2g9+%5rt2zkpEGa7e<=)UL2a=y71F2EAoEPAs15JC)LX9A({qm47_8&~Sr% zjhpI{d3=#@B3+i-&tzsKDxr8$QE{ggR}?{0ln;-}`;08dN~hUG)Jn(l_Cu^;J4O^o z&SPu@ijrtrW&1j;8|nFkPmfTOixno`=)cD~=i)ul?OY6KGC>72bIa_)zBehy)`=+4 zLF8H`p0x>8xtX}_;190Mo#_sW*VhGXNLF%x$P&T z(WAq;U$Q)@xnJSg$Sc_$C(DldwGo;gH@Xgrvco^usqtFNQ|Ox=eB$;$kPqgj6YcHf z9a2VO>s;z9;mEOtR%$CP-*E4BE748A1&RL!AviQlE7K13≪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 {`1GkY#9bT@BI^7eAg=Zw&pc3Nu9M6l0tkqYo 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�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

ZKQof|y?VM7kiZSo##e(o)g3Ndq<9mkBK*R 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 }QO=wO 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

ZB>(!Bk-57dO@ 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%0D!Py(PJbm8qT=CFFZo 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

9ffRRLq;Qp=_gkD4g`!< ztkzMcATHr|l6(N(Qca=)2!cO$F~mihBHRsNbzn->9X+2Wiqf13U6XpHeq>2zHb}5H zZyvWc^Kcb>mAw;kxKiOqF<3k=9LL%;V6Mb^#dB&dc(H1DLd?wVk%Gnq5IO{);8z|v zXFeL&o2l#b&*cQ%Ir3YQ<=+^8(w9Au%R(EZ8T{}P#VjSP7!CC)587*<@+pr}ZO-@3 zIlNnzl}>RyP;M`LvL;30a6ELjY)k`TMOEA)F_1|IEOCjyEKi%Lll>^=67Md9G;zRg zOqv#sh4(U~acimMH6;aaHMz|PLMLY-yjwK3BancICb}V>pQ+ds_I8HID)2G`%YQRy z5^XAT^}+7|qD}J*EC%)*q_ct<^ZUkWUkweD2`lG1$OVZiyO*(hp<>Jf)*(nB%5hYerh;lr;Vn18N_TA~jpBQr^X|TBl-*$J z+AIy)(jq{38QRFP_*`vZawW6iQg9RMgK;kgK$EfCzJ+QbLE91k=1l%cU-Jz|i!XUr z!&E7)hEvFn=OCd@aGIHV@^n>$S6;J$SUTr#J6MYRuyxk8)$%CeEO=-F{?kwau8Km= zp)aKxws-M)aE5z%C=$4XES!})R3faO9*efZoH8xp`!IBIZv#D zWl;DaP^)dfOc7#x*O3Lq32K3?uY!l907w*J8D(uW2w*4JIK<}GoU@?98&|(EDoxaZ z_^@(|w`-@=VNB@*QY49(v~Kim!kAzMa!F~**?eBGGbqIX-C@NHk|{wM`JxbX4cF^- zCaqbxN^PD{$LLq}-6(_n8Hj^AKNA2DLJe(ZbL-1K6`OA2i8+ES@c(VH`FNoD#{JhO zxyY{8(N}vl<(Br+U03e28<^VE(_OkzeCN1IbqG$n>+C4(L_$ca-cg9=zu>=UDHrOy zmpQS&O=xx>d}h0`jzSDV*0%I?@em&)EQ~b>vBfC=Hjy5|L%8y=jv|mkhZZbXrx>sw zGAe{fklP&YpoPd8s4he`{Y}Uj7zR4*QOD8K5~N4Fs3KE}Klb0jR}mUu*$MwfwNA@-7jye;~(HB+(`L(+8~o1N5+Zo!DF<%4w3EfLea}VmA+5F5O>OxCnF7d zmgq$O)JPsh5`=^$96JY>{G}$0Jd9cb4LQ}^9m$d6fCf{xQ-U7Zgo8K^DcEUaJ0cI1 zmv-MmWy2Chs@;Prqa|J(s#rTMJ`q~Aj42f>E)hCXqZ4F+dHFFC?4BnYTJ;NE&QQYQ z!kGr@1oiV<`QS#>@IH+&QT2Ed7pB;P&M;B8WDAb-2t!@ML8a)|w(2v2U?>eVFm&0x z6Cpa3BI7wiG-wP7So?zU@=gGgjYCD;2#aa`558VRUdCHyHp1VXgGO{xm z#LVFFz3L0e1EXS6#I_y|1dAlnLZMWEfqd|%h9T5IhFs$5`-tT%nw!~o6d@#xcOpba zG5G6JhO7exDk2ACU(H|#8CgbjZw5Tbe9(_p&&p4|w9Af4P7y2@w1yGa59K|QepEAA zv=7^SRTESK38j|Vc&qt)C!G`*fJF`;^XfayIWYhsaV-9QheO?I)MY?n4L$ZY4?Vq! zn#=^*X`&?T+|nmZI`TpDnMVTH-NazKAaXr)zDp0|_ z!~g3@aNc2-_?pBXGXrHywyHKW)&Mh~lS1E25KAAc$c5w~a@EgLB+f=)oA2_+Djc`= zoI-oJO*XZUY1fA(^b%H;wP(YytcaO%TGJvH$u(@6^Y_KzuTh|C&1ntXDA4|LtOi0K zZ1RcK82ety!=>&CXq7}dDmnT&g~KiR@rB8XF$2pxg1%+BS~5K^7-db*UVO*+aL$H3 zs)MvH zY#Lw?xwsgm?Akk_pnFSywxU~Pjd%Dad`gSGrBnymhR;BVj%@TZ;ltaD%ggX z4czf=6z1n4V4LrCO*-UK;Gd0+M?@rP6_tR&saZ?MO2LG0^!E01D9Jf6h#orf9~3?R zAEeO0s^6`XQd0uWv3xNA#JGR{e{(8#_^}ZdcIMYNEPs{e`|pKn*PgJq+8UzHH z1jFI3FXl>6NQ~o%nE_~z7izQVtUrp$b|-Z9aFT#cbzkenBF6>~7Vw8R$sl~P-5$@@ zrco;c2Md_P`PdJMQ`G`{nEM)`9FIIDV>`lj9J1Z7=|Xt^>+%|DdpYXw;$L)VU+HnIRLv7w4Ro=t=)Qa#hiDQ5OW6?I4$2I8~%N`Hd*w0xt zxW~2WESXBQ!+HR*){7jpd3j`FqLA9ZY-el2)CHaES*4mU)B5lmNnJ3yaew=)>e&+9 z6sq%i!ks}v7Ppl5Gn?x@T7T#zPP0IAfiiTeuNTwm0Hc)hBCc1YPqmP#w=J=PzDGIJ zYiW~;DW@=diRL;>v6at1Y)z#A9J7)sDrrh}TR+YkIe0+WXO|cdMXNI3{A3?VKV-=n zkBIRYW5uPvepXHXDxr#)3Vp?| z|2N6pb1TkqRrTQMkE;)2hSA)9?nS!~U#{1!1K=eQ2ukNKv=0iHDPtOnKL zgsak03#GBTRY=ztA6X1|P^h12FEc60nsPi4603msTQQDtnSLo)Jjv|~2FT`@Y18uG zVx&(NFj4sbz7T>Sh*0>C)RHLFAMkK@&$djm_mv##=3UXn>9NP>H2O}{%IUZ%&CK)b zpd*FTecXH-{Ws#h<}q6y6|czTxdVt-^f`*sR*`=^U|^;O%8x5Qp4m_~$%7ZV7^2-d zacJu&^*NjM9$&+?0Y4;|;wFewYSrz?jS7k_MOHo(*Gs!apg@Q{l({K<+ zi&Vimd@;7dHbJ_ArcS-aAD`|##(e0JH4LP0?8h+ahGpVL z@?wadCWe)=vL&wKNDWVSSU(}eQ^aQZ_mSoyTEu7j_w(hcSX5@cNZX>!{i#iucr`~q znAT(8f5-9Z`n!X1iFmDd@ify|du=a9XkUJM!vb+Ung=FK z$*{KduLN^8+8R)5Ma_|)_rw#*iL-q5BPL;|lVTwoq>Dh66gF+(aOqtp%xQuDb&#QL* zuJTWf3uijZ^5s2_&|xk%b5Zc?p*#0g>oD>j&lPFZo_2$iEmq1Tuo#-C~)VUQq3 zigF%)kRZBSf`u5S7_kkxZ6Qi+{21l}Nqb+%gBSA^(%EABPxH1E%4=f8@4mB0`JwnE zS`ZgFiQtO~%vePqU~uMkpfaQGL|CM60rMjGQyJOb$!srba$wEE52nVXiHFivd+O7z zArvXEMYv;e16@$sjh>MktXvr9GjAR*zH69J@vfFeJ-E7bjVf}GUlY#T)skJ4*~cGb zN&(^^&D@$9+!WH%Stoay_Dw-?zi-t}=>D|?LNs)@4z2hb~e#ve8OG}c(1 z)@6^|yatRGM9d#4w41G2JXW6qJ=J{eS44K(Ps*L|8rE)pzpaXpKXh*=%=4d>j>2*; zPhCWA0td74yWb@23!IM>7F?;@vmu6dA5-5mP|bxhyFlVIrXt3d(Ql^Gm?8^{F z?QSo6Pk9PeMsI1$El_jdX{WaJmdQIb8JDl3nP;9FoSI+@Il;nQdMB;M<$uhbH#{nl z*kgi)Zg}*zd=yyTJxnsWcCrYbg)F(L)28mTWhg=O*!3jZ8_GMWd6$cfPw{JS*xDd3 zIeW(*0Oj|rYWABRDr2ifDFMcomp0z(7VWL8*cRfo&dyGO(Zt>cBY(G$n5^itgtmCG zmr(W-S_m6x_=hW%h2aE02_u$Ms`~UHQtG#R( zuDa{f%~P}Gs(D2OEwd7qix+x~%9!z0KIARYp7>wPIGvK5#h&@vRQ$;*a>9}hRPW20 z)5Ey4VWfbK^i+|-sT&YKQG@3MW{KPu(D!RcB$9JtzcXds`j~}thA8h~s4w*d(rS*Y zMgTP%QY9+S#_LDj5Eseu8r~qLJp^a9e#bnBKx>bdGy9O&8D_Kf*2f>)E1i0Xc^j>t zR$Oa|@Hp-Yo{diT2P}N zDN)3T@8Lv3oG5pBVlfCYn8aNXi^a@a5EEQaeEUmgyPOQ)NVOdazb^_+9WpZ}z z3fKv&pW9Ld5boMtr3Ju*r8Q*eq$^?0skZ{ZhOPgg=PDGyZ&`Paeyf~ zX1l5Bsk+~i8}&Ti(Q6F7Syz+WhK4_!$v1n6iLkkEI#-}^)7HD0@iQOigfy`TpR*k& zkW>1MnV5Jjw>F)z40(ad0OYGh@XI{Ej+`LNn@$ks63tsXjv03$=~2?g(yF9zwoUAK z5lr7xr!rEXUjxM~k0(yxOq3BL?Qp<*gKqijni+R7$wqrnt(@`d47efft#xRwSBB6d zZorBC^5Xj(IpRyGmd}x-nkInFZtG(n^K+7-^7-z^VlMW)Iu$WG?x}~6m6=Fy?m1&Y zDg5L!rikNT_1dg6^j^{jIU&m>lQ&V*{z7v2X*s)78for1cJ?DwiEC}YshKYSdQ`BX zbBn$t%ZVAYF^If$48Ak&L4=%K<0SrRvx9Eh-ibsUMi6Md1mjn?!!0Mh_H6SRA6P-S z4o!uBx+hg>iYUwFY`gd8F_C3fD7C24vhrR$8|&&wTD7+1?6a&sYeI@+UxfD$GuDca znp!~n)W+JxbAA2U!f6Lgqc%@PtY_P;%DNAH@!4pP<6KH<>Z1)@%X!ev8nW$i9fgu(8@#Wd{V!~UE%dG}FBTcmlE}w+cJ)4zNf2y%dffJ_L_1dVq*KxD zFFvcak9CXpOHp~yB9QpKNwa&xWa(?h{LnFQ)j|EEPHPq1tT02*asJu3E2NBAq%-F* zLPz}co6)5om>GWe+h;HT*+xGFcP5LF1?$z}Gy{rf2(va%?{WKC3({CZ<4cgzP~ZT*)%pKxzkJS0ONS=>^trdacR)Je*$b{i_S zFD*|BES$#G{7n-vO4!w&&i_5gKQlw=nUJXtsO4IQ8Fex~D_MsO>P$C~@1m?L(NZe= z7@y26)2!R<>nikkgSEbo_F#4y)B%l8Xr$v7#>tLm|7>T7}4}oBRKSz#Z zn)*LpXfh&<=l-K97>1D-!T-mTJB;f>7^JL9a>J0m^*#EW5;_zhpIwwjSx2F1eaIYj zf;cCG)1?9G%xjY`rmWM|)E#~=eXDrH^xzM+UrCnf>}Xf0>^|IY3(x~=W89pvSuqI? zg8avPnmomZk+|uu z@;w8G$+^YqdwhfN;Ffn4ioBy_{G^>d{DhwB6g-wn@_-Hs@Gq(N+|X3Y zHTyY*1>x1}rCq1s-i<1{@spL$rfQ-YUbQaNu3-9Yoy=VmQ@jGg+q=qah*7iyt@O}K z2qI-PB$tvke6>ZG7mGPy|AC?jNa>;*Q4g_HSGhK#gDsT9Lxg0=B1OQTif)IrN#$rO{>BdOVdXi*T<&41Ir3ZqO&}AU&4W@dBF?DhoayTy zYmg;ejNWUnb?r``4gQR~z{QK&2%g;R^N4{Ao;${){G?s)KW%gUf< zQG+_**SQ@da)Z6M@4CZqREc1HNB6l8Bc>aq*K3{ZFc0$3l}Sqzto1lOzH1NLNXwQ; zOa zj{Ii;W5Iul%w2m&>5r7A7WM=0znWQc=`IXmYSwok;B$hakOa(Sp(&7ZS+s$2DCVDI zJOV`-HY(t_wnq5En&0I>ZWQwaCt6tWpXSSW^GDy*x*!IGLo0_C!=w*#%q*p^boJI0J%wtohY zYV;2}U9>YH&KDfjGmTbDE0)P5lGZY{ZNsEiQ#n&&#{-qn?LU9om`h5%vz(*t zj+J9$F(g*9OvpfQ_2l2RLM&dfw1H%B$n<> zh-6pfDg~!<%laI<+KSr9CSr-Q7piGrZsv?vm?~CQmL^Eoy|Nb-QGyTBM5_x)bsjH2 zzw!MH<-sSG0~Sr>8D@{YtSbsoPEI7eo)^yZauaeUFcl3`{wIw{U((Z`bQM<}%Zg`j z?%pV~Yvu-~kPpd9&yQ}|C_WD)+^!y$x3@eq-@rNc*Q!mUGTj~>?Y){7qCykr%2~SQ zZ;q#vC-iAgbj#>Vm2|@1bZxDSUs{v%tEcg!R0e8+Kg~oO$^4V3k8HOOB4?X(coPET zXO5;?(1hmSC3qJ2rF)rCMELW7oF*h&FSGUDU{1Mv`xCfA_W=QPsFKW0l* z?^8LqRa2s@Xptdy1YcRz;C8>sAuo=!o?Y8{T6<#DB#lZ~*W<#ISq&sXgoRjtt5hNR z|Gxa`>7$`vZA`vFFLqt9Z%!!GGpHttvcKh3&-6#_^`K}R_mz{l_wfm(bLgdSFGw5! z{^@~$P?qt-je%18b+-sutM&fIiVJ9vv%lOEgydoj6jWR6H^KOjlo?X6u!dsu84J<9 z*N(dSdj77$`u+IMGwgtVnpkP=NKk4W2rE9`;E5+MWkpMas@{y1aM8eI7d#Gi+zA(5 zzG(zq`Pq2;E|4HKfnxp3RI3|N9hlR~U3%I!o#lIE`&*UD>Ee`~1Tq0%AUtLwh zgTcGzVoc43G)c?DNzY{kwacRk@7;=N*N^&#aww;hEOvgsd-0Y<9vE_jhlSzJ7X)g+ zD;(nO5vrHacc&zR!zsbnMuOGH6pIR?B+4l*Y#cR_C&UG0gJXtiIE#j=NUX+b1dFiB zfFzEF%`7$55Sn9N!~sY~vlH;E5k@xVNr~NITY2z{eW~#GAU{3E;4T?1bP<8HxtHZ1A}c-x4y7wp;vPwd~0V$+;T`oL57NM>*65n?-pKJoP_- zFHOW4Y>LTHsoyf>GKBH)>I1Z)4gy%Sz|O`^qgHHgIQtwUOhtV$UYo9yMR{AAZ<~)2 z5wSZS@eL%(X}){~jC??T(qy)3_+7^qq6WP#c)@rJ;=0*iM?FYNxwLgWrEb0BdCK0J z7J_h}fHk~EYzt137N&f{=mu1gL3WOQ9~%@CGyud61}5l&qGm0dB;NExR@>iu9Uj=# z{|!(`*zcmM&&rB=Wjo9!Ghy0?ohC^fcsZ#}8T`zxK!1>X<EW7;LxCjk(6I#9DUZ+7pU3 z!X*(Pa2lF8q$a`Y+J;DxWZhhFlz~g=r9S;3-Qd@ueoC&FO0$-BaW?--QvtlLoQ1Z|;_hKr(z|mz~&TJ{KO-!CBdU zs;us*r}FNLO*K^NR{yl|ePuucGJZsk-3`{$?;iDfowo*h{D|eoHb>Lpd^-DHgVp-L z{(KMn^7~h(?uq>O_A~~o&1uoe`4{$t4bQ!6sZuERPYsVVIlcL<_Q(x5vX*MZKFBUp zaaUx^b-Z0EPAePGfDiiUxh6RT<3KAONlW>iYCysmNg8U_T+-AL>MTr*twk> zf)}A_KrCyI`GVpc5CQ&@JUy~b)K9hUR%vBxAs7h}FRkE6l*)X2^(em_z`=wSe}Y0n zY7?c%r{$h>xJCD%?>+!HC%)StgfWpmkY%9eGYzPbDXMla6hNF4r7(J6EH1ytA*lU^ z{%Yy({5fpYFLpNi}5PgP&eEbjJz%ML`UT~BZ#056(mBLasiww zBw`%doW$+D2>Sb|)6=wn;ihL8TELx)q+Fp*D^f0h|6cZ?$2N2xZB)Re&Y=*qxr(Qqzpfe<+$Zu65PTuO_I zd+EFLL4TY^WeL&aS2Y{E<3m|P%+6Gf@*DK+cahUvd(8oB@?=a>LiyKAvPhAlVbi8x z>X1eaC?*X>Sf})Ov?D^;upC|rKm++@X{=nPoY!V+{=-)HSV^r}BVLt_qc)@Y=Uh5X zubCV_rS3R24JUaBpzT<@PJ)wqbW#Ot!FIRa5vD)+oVqk5BKm&8>*rs^+g5vR6A;x~ z$vcF$AP(H%0gdXMl_J6}CD3@5Y;KALsyfl5t;H6XxR>-yK0DzLvcBYD7P?k_8H`V% z0zJHsxI7?KK}%kv_>`#3OY-tr%Bwot0m1ph`In^l^0&MnBD=jb36|Rt=!}D+eMV>B zKdkfRIw(Kr`=pA-6?Na&mt52S*hfXBjb4frVnmByCG*Laq~hyv*SG2L>orUZ9|$2` zYh&T22KpS=L8Dp^D@P@1Zi}1Q(BgUcI$FH-LyQ@05)KgQtyp!mauD@$*sxM8xM%T%IC*AJtH<}J)j;k&FH z2}9T^&3*j+R4l;gk2(sB|0(_dDUP+o~g)+d#4-+58k0Snqgbc~e>)p6>N# zHEFuanmdYQCAEOwO7RuNYnQ1cODeFg^QiKq&|be5Ce@AIi;g^b|K{AbCdM&L+?g}_ z#(i`g?>lZoE43vRhoWx(&NP`!kxf94?jKyQXqY}|>LG0&IiQi+V(F{oOepc$)*-dF zlIMoq5HMi}cFN#$ik~uyklu;zbe|{EkGP9_NN^U9kZw%Ua9`u#72Awg;_(>%@yp-E zv0fW|mbBKw4K72Ero~SCM#kG;$s@Yk;z{LHIh9|`$F_PvEmiPtYdZc;#hG{@l1%q- zcKI8z?5D^KaU0kL>!}N_owX_v($syGd?EI}+q^{ioS*BcoI;&@@S3OYv$ne;TjFK? z$bl<#G!hZgGb@ebyu|D2TfC%i8!d;}%}c-V590rte;)oZ6xPBj+gZ}#oG!~njI%Cj zRD7Yq3|!IKMi6V~cjk2&(b=YstP;0r|46)Zvtrvf^yB{JWTIFoeu@loD-gj(c=4RD z?c?9&H=+u*vInlPfsO5*;QLNF_tLjKNR{}VcK7#7PI%dVZLRTi?X_T0o*9FIrF>3_ z97Yj+<)(3!jf15#bEM4+HlL-;FVebZ?ntr)l2P*gW#J+dqz?SI16uf21EkLBw)lW$%sDa)hVv%7mtiBOkx4D=JV%< z!^k*){~i79gNM19l>sFUlSv1QboA(DLcbDg(yM~|I2W^<2CR7NCm#_kQVUD@vF zXTL^YkC+G0S_1vZHw{< z4*#%8UGNwvk!}35*0L?@NQ|TJJyT4jX^gxU)3#VoFrBX+6{I4LDoYd2TJ$p?;pVfX zA-+;6{$aR}h86p!Sr1JZJ&G9p^K@9GQnGur3)jL3Wl>?tY&To}3d81u(BbmqTZh;< zf4Iw)@p)OLW?$+}wT|wxj$XHzVmoj@t7F<{=N^8d;LGIz5=SPrE420 zUfhedP~4$71PZ0NyE{ROyVC;2p~XG8yB2pS?(PzTyX&9c_ul)x@4r@ZR_2_^%-+xQ z%+8#g5ssNioVu9nRvag>a+L$b3P_b+uH7xjHoWm>*ekA<@eAFmvL(;5qV7+#0SE6i zwYM&Zuxho-rxjlmFf6Qd53*ONt|UhE`$xOp+w1{-3X=A(*lfB>A zp7wYO>HsK#eEQ@*cze`OIs^&XA$ugM$PT7dFANI(diwlWXX~*|WbAr0okk0-OI7E0KNcm{3Q40^li<`Z-GVMB za}@DciqyLcM@@Jn?Of3@0zMYz1qv* z8I@TpKNPT1p75|r-qZ4z#E2_8^(os%6B8vJ+y8a&uM8Z(BwJxXOl^$d17@n;yvScV=PJ(UCuR$O0NvliB8KYR6T5oyF^rah<54`)2 z#FGoOJeFIho#Z)BT&TG5HPmf-TPRzTzV}Q7U_8sKr=YF8g6IxiQclXNNB(U34ku4G1X6u~;o-ivpvGKJpJC5I_;7oBkWxyOX*rC6&sDAh<!y(n(*jBKl&hAQNBYX6Nb{~rT=0x^y~S?=yVAq2F`SjAc5!KTJ02X1fr+z1znnc< z!( zc#TN|f{kW(8fKK-d6^?PagSdHfoCKD?SqSoq$41|0ml5h8u<&KFw%5->cfzJZ`7N$ z(DTwIlbVIT)r$ddO{Qzp-r<)-m*+x?Cl$JJEDV z0HdNTbSRnEE;=T9xum^dUMKhQXXsqp38zDJlbW&oAkI@grTXgr4ERYkvP^#|;;O;; z`6J#^(4l4x?Sf+;OIC{N4o(#fXM?faj%_dFkfTVrBz$cc8MU+@Y20%`VO*yCg_oKy_w$fCre~a&sr3>YQVZf<_9pjzpat%1*(kRi!`>ZQJhjV7s0KD} zl!uc3)pn>%U;WB=%VtG}3ow)Zv;9m2QK>_peNhn#%k--?QQ)y#; zPJ@S+$Z;}f{S&QM7h0SGN1jjYmkSm8MtI4w)|UW{M=n(g54Wis;Yu#s2?AVzd}#F6 zMQ8n{S6BDGqN9SlJ%fTxI3qvUkUpk+>t=NWhq=jAbnk*V@;1+9wOKTJGrcN$ij!K1 zLU`r{F|HYRZDkw-cVJ9(rmLCAW9FCaQOsJp`^GzK#eErznU_ynyh)>+yC&dxwew}$ zXF#9+RGZcFPM_UUOW5*KxSwzC&vKPArY=8$gxmL-m_7$NyZBiPu9p%Ndd|zwC*TYB zjN-~rTl*Jdh_&09>PzvnWz{BFPW*>JxXRM z*z(MwRym2ouTLEK9_G)+%6klMG!?++l{MJ8|S6dYQ5db zMQ=5vj4_3uwGY1pRvNCkG?E@z?cf(K@x9NA(i)h6nJi3#;9P_5AM!)9npHB z)42z&91nC(*-^_#&7W0RpM&l`wP+jF@83;98hV3F0$nrj-)%^)@q_JaU z636#)1@Hz3l98*5bJuMm#2VLw%g@b>0OXHu!l8_Jd~@B-PPUk-CFfE4zBuoXTGI6& ztgV_e?b-&Wl#~!O&c*~N4(Z)`h203$1n;Hx(eM03{FJr#OxlFw*XVd#%6JnVzl#hg zAW8cYT<`k&+Gk)g^ga&kIMHH*W7E)eTAaG=2uHUaRs9pp2L`Coj}UXt3;_WBxjr8kq$L6EZ^{eriqV;iGu+uuGs zmT#K8^Rm23$i8m(M0H61;#7LaSuMzL(5#mfeMeIK^8QJqxVzwBgswd@x}aa6x#d|v z?kFCp%J(_GDEMk6sXdJuEa%xR`d}2Me5;CU65uL4+;@M;O+QLm&*M6}vl&L(3~@DS z-ucP$(%$iKIXOjn_g+O`p|u_;E+am>X5DQG?dr9kTo1EE+W<(uP=b#!D)cg}T*8m( z+Q%-h_3>7a2DBJ#l9xtTGFr7wdPyH{R#szAvv4x1fsRF^J6h>xo|_COsoLIqWH)wh zUN#<0zp9qJ5^mFt6_l5vlSWAU$`MK0zD3r z#WT34AlO_rY-&?X743JpGxfQt6&$Mz$HZqbVWelJ=)E@GwPS+!f?7DOTiKJi?vapC zRhBYFE9yEfZZ`AVmHAa<&uKx;&n$ z#9huaAtYVu?lKo=B=51h4%$s^jgDg0FA1JIRch6qHYmUEZ=i5nHUbTFk*()2)ts+S z#DOLxmmY{g5CN1OL4{<%!DHNG!O{7m`O|#)=Iuprboe>$heq;|dhhG%D~mIi{ioTf zZcvkg@W$28g60<;I+>p@D(cHD+Ke79oJ%`olMyqc_;xwNHMxFsX!&nXyzu)(S4&+4z+Xgu{hys@0&T!M2r2bZJ_}YekX_I+^lOvvxgzQHK zE!|xsBDh`Zln4D;zUV}Bxf$z*rKgoPziaKa!$-j~eg9L02@Im{=S@lr!jH|!i{j%f z-x83HhTxeMoHZ^)hTxBIED}YUUoBFPvwU?Wt{uwMLp1GFgH07=&AUvgeDs&y431?UxF^|7m_xQa-73NWW$tPu^1CNpd+brLmXgwg2NO zr=0O-=t&#JrZ9TaMY0$9a@_UvXmHLne1OPJ-796G*sHdR;JP=t9~PHNj~Ik3P73QI@$Y>YT8CCG z4NVsNq_g>7w#CT+NN!max3ZNRm?YY@JdT9J=_>x zuHosbFEsHGp0>6ceEZg}qAk;#FsuBMaP4BB=4o+qwa%MoOx^AZ0W&E(USk9}Mr+7S zW?ov!P4nhuE;1T|R&*Nl(i{sG547LM6BP|(xaa7-pW#f1(^NK=8kns(TA5-|Rl4z+ zWyx3-_$lH<^>ZI2`5Zc}F>pVbRDV>pljV-WRg)ttXa z-wVVZGF8|728dk4zIlSr-To0HCXGSgFU2Q6=%73r7JG`i;WCE$ zjn7G?--AoW!x6e<$^5q*51B^Af*>^whfj~HhZl-yi}g`Ck?C9%M5mG(cRD)%2G%6y#L6=YH?| zUmW>#Fh2m`mTOMN5<N1RNMNz zfXLpI+@>y8GOTH249rs90PbX~^`D=1#$FZQsuML6%?oWNe@s{b>lA)uXd|H<<$yfh zjYZUydi$Z=u9E;oRnshu7)EPT8J;;FREHW)Dgu^|+g^@2f2O^FPC#BXs-5#%(=uNf z+J4f6+`k`H_Ve@Idb?lsK5V7H6mV6*^*v5&+G}Bu^GdsLLE5bg_KM^3i`n~ysZKz# z^U_+I2~&KX0-sK6=@H%VwNrww__W^uFgI+j4i3QypzteAdH~T&yWbl1Sfhj~htk}o z1+Bhhi$Ugj@s7;yTWhUJIY)txmQJ~H{uDXI=?7Bg*f<6a@ z_9XZKp?5WRK6QM*T`c1v!zv3peg_la79Zt;=@L<}xJo_NyzP-FIF(70m_>7N;Irg_ zTc-y*c0gug!O~l}@E}0X&QN~;YTrp*2vwRgvP)OlFmaUvyR;DDL1qtyL7yJ)isFIx ze*KFjL{pcSl8W?!iShb-ophEjxs(%A&}TmJ-kac3C5JW1uW2fz#6K=vCGwk^AF(A~ z@3C)#iav{k601trx4CHMjeqf($VIF~sT2NDvOU=r_oay9YZwSaFeb z@B#*0Ip&zVpn;gZ6aH(BC^sTZlQ7IxfJ(>juA_O36mqZNZ4yWoZj~Wkr#9_@q+R$6 zG#*38d#xLEPh&ErQlCZ3!x(HOYoC1hIrSFkjn|V;7*ZQ(*_6y)DIFDDk)TvQR zXEB77emxN-B)R8RsYG)5HP$~&W1bGY5CG&Crw3kx;7QS3aq^^<^U1$t6KLup*?o{0 zqs|;gphk7gbxOCtu_tk#nJrf9Ro5sHpZ7m~v&a0q9+zNu2;*5lU&Id$OX8wI9$`DS zl;ZGCDOk=lk$MbyQO%tG*M96(ZNODl=?K!+hIG?GrU8Vm!+$iX*ah;w*Qe44VtwCn zj4{5EJ55~C&Yqqa5Cc<1LFP?-`hKG~-~y&ycs^T>J0pl+L+!xt)Cj`(fpU)NBSqSw zx61L?;woFp^`J;3fwcnmCWS#C^-~Qi7j%_7?A1DVM+=I4O?IT^1KWnznN`TlpLpe9 z$uCMWHwx9p?WY+mc&%I|UEY@_gh6myMl)WEJyMnu#FJ-k>?2R_zA|HW+O1$ajHNMq zqXLMe2ld4%VEq+Ra73k%>EGp&&NL~IPUj`mJ!dKDMOj@@A-Z((Cr;i>+_6PGcK;TR zc%+gFeNP<|N2F{l8TyX;KjDv9YEV-7a}17xv>^Ri?)x7xBGPd5W_v55>~Hk1j8PBFVLqOtlF2C@2;Z5L`A>(fPOeeOMTtyp%7IJ+x07l6jZGgpg&sm`cwMX}ly zR@FHhAx71$v3EjtUw0?hI;N;@|s&qkBMDXGh9W90pa(~V4vAtl{ z5xkF~n;UP2q(Y!U0PZ5>2WQ5wLxv3ZBU3_6-)}f)hnEuWVLK`)<-b!5sCknWg;Z)e z3@g5R=BtgqHAA1_i~YW&IdCaQIW3s^uKz#PWhi(+c zUCl96{){#_=afkPodl@|<*#4?w*~TFGI2*$sOkUV}5_cOT(+tCuSsx4xC>PKpG zN9;>Ji-?~eNS6|9kv85kNSh(soYS;Kb^ zQ`u#LNIba09gXp)E7&7hjB6BJNFku@D0Y53pzQd@$v6JZ4IFB0^8Rpupd}o$a(x-2 za@`8ue>wj~4v&+v;@dYn5}DkT_hDa02|xOA;T#h%D@!4OiawaYGx^-J?vogLRJ@>y ze9`bn7$b^gcJH&0&5N#a7O37%{!|R)(9IDOql{Y%UOn`Zd-2&#ZyWF&{waK)|J8;O z7omwj2zfjt13{CUzem~WHrD?sm^(xsE>GMU)?Gd%%D-d-aejn`>|+`_k!hB7aL}%33}CF$*{=xFOuicRfZ>OnZ!6^Wl4Ey{F}JAGS)`#jRf!B zYo6BPDgZ(WT4?3eN6CsdQ%iZmlkj3oU)xYu^E?o&$&EKyIzp2V4&N26)va z_&A2({WP&UA$b>Gc^3>d8VZ}N?+l^-Kzf^updIF!eg3NfX6579>?zF$Eu|tuacciK z5k>&QH?ou6cy8<6(D654ISZ=rhtMfsu+A}SjBUD0=ldiXXK5$Hu0r3BNitr`!rZ<3 zp%8%&R4T;>PDnB^u7;I`H%xk{iGeg3uhnwn<+oI!VeRX>u$$rQys-D59;|R{rx<9p z!BKj9^Q&L2EdayR)T`gF8p1Cxe}4?8pD`}hLG3Ni;s+|Ga~A1osctF($Pnagv&bvk z_!cVEqwv?r9MhD+nrCH{z#=^${aB4^Y|V6^;CZ9yJ-$`1%b-&+wb0W*r$(V&g(6wG zO0%mKT6Cw?r1oe@!D@ExO_6#N=B!n0g4jD|Yrkg*W=n(C5v=IC2cxCszcD(f|s2-`v}~^_6j&Bcfb} zlJtjK^5Mb*(57BTJiCCgn781QH#>LKK5jw0P)13Qr5$2tRPoHK=8iDCDYT1DH%0Ln zzt{89Q@zfPAy=IOU`>h^!YJs6S?gMg)mn^$=b`b`*-`8pSg`CdX%;%kUVxC_oc8sn zGNVTANL=*bUX=_gAA39;Z;KIS1M1uL<3y3NB$<2TNk|MJ@e*%8nQNMp*c9l<>XQ06 z%BCqm>lm+S)){IFEUZ5Nggc|q&0|b<3hm3P>tbv;Fg!8EXGmP*SC1(RVcsqaPUPLW zSe#t{Vubdp9ns=gw@#g(baWFsg!sbM)d|W}ul{Xs^~sREC$YSVx}LxTJcQDItT`lGs8jzeQ%m&Y!ku zbbf|VlVsd8KtB^2cFz!6bgO@$c@0$@iI88V(b%ULa`e(e)3+0PUx0_fw$j7dgY8@DS;Zfi+TDE-2x_VhJ192CM; z+8<}X{m4iX`6UmH-{m5m_E0@I-I{JuV5^NLP;Iy-E~;ozgTriB%uFfax_m%byS<9TTNy3S zH_6+1EIVMCCN_5Gw9Ds*G15xvISLYUq7TlvhKw(~?Tk9fm&^3V;id2vw)sY;LOq{{ znJ-sKaZ;t4EMrrJ=DnEkini&dzjwT;1NytaWsh(0reQv63uhyM(T8QmiKUJoddJ0J z9Z9CbT)!nLe)pQ6&&E4$Y|aiK4Cp@Qxs;84?G=gNOky_QTz*?El}}cY1l+5Mko5vR z+eHY=fGpAq#y*ZJGjbfATqz)tL4Y)^z^l?9lFc8k`aJd{1w~sP+}*r0bmLtGYrsk` zq?zQubM*NYTH_>=%=(klpzjE`5Ham-rAFfGWuJDD^fS3!zUgd6XPV*4ttIv7rL**0 z;%PgN>mO>kDLWHOpD%Wgay2aCDpW@2=pl5!F!z;!jrCOKtAVMNc1$UmB&=oH6RJG= zT36+cD(hh-hD`Iy40cmM12XwKR1uhNi&RBi@&H>75c1qK7Hbnn zn2WMqe=u;69|a}JLIP7Mw=ToXciTxHqto?K+|MrwI;;yYMMrP*=fI0&1;VMn`Z~y% zMC&r{$i4_te=Za-wvwMj7tC43bN}8>pCPECpjXbthx@^@aff#+X&b0YasD|z{Zi1o zfPY=K+>uavt!yo~p^qiF#OXxJ5`b-o4i|yg!Z=Q=CE!G36r;!Iwv#6n_AM;iu=vB# zIq?^-9Tlw!%SBAX0?YOvj_1yZw_B;&M`7L-C_emRHe($2%oJ?)={t(7WVBCAb#&3E zVP8*VTIE{<6&9oK?k4bU3TB_blskqiA5EXyT;V%kHrjoOf_6Q5d|B4=?tI{NpzFOq z-AU)F5E~&FFbQ=e0@5$FoURK720VAPTJe3a@vtN2@@WfR-J9FEGqa7~sG8r#^~H&q z)GOH?hTAcsoaZsNv9^`G@3}eUFTvhSt$C{JU^~a8q8=t(Q^)D!hhCa=gOu-n-pbrL zc^&?440>DQeP%;l6$g=A!*p#Grp_?lTIjopfB&OZWr?pwBK=dC+&?aVG}wNOS9al5QlZTx;6+fQ6B4_U z|DD0lS0B@J=_TCLs(wtxf2-EjK$j?DEIIn_=>3?(Vidpob;c>eB2q`2u}d3<+l}*e z-;}^|&fQ?maWbo`!boPu*k!yz$tC&iz>v6PIB4i~(s$l4`!^dyQ`O!=Zm^c|ZdL*9 z!)h3}**+bFz~8V2X%|S|dxJ836a{Hx%Ef|j4j8wc((xX>FVgoKysgcT(tXzmE3O*6 zQ_bb3U4&EK`4%4dDtGdf^h~-)+;ra*FHZwAx`Cmr>CFNwV<+>Ad10WnL~C4~m4ccd zptYhpmCk(5P>MF}s&5oKejs_XU8lMMUYpfMGnYO~djG~0JI_omjglDhIK}mg&c+5E z@Z^(tx$7gTG5Llta^%I;wC+(Ii-iUtS`(?Vqu}n2tgQS_HgG<5e+VK#{p!}p#;Gpu zq8qo`#lc8hv|N3^i?oBDP#@`WuM4B&Godh|vz}lq)~>`_-Dx*D+Ie>yzeo*rpeL0^ zvrE-d1lyz&7pR5Me7-lY1A&u!!biP)=eL*7=W=d3JFfLhLDlEazh1M&SmA6zJji#G zEU~$jCq^b6J#xip$W70XF0>{Xxt?1 zK-k1sH$FpJ=g6|+{z>T#qk$^i!IjNqSX}rj>0L3rEglzag>uFm{TN9cgn94+1MC4h z$3xvIVoWNKJDYHxkSNOBrTkpg^8N9e^z%*97!2wv-L--HxD_SULRGg{GOXS&uV;6!eWw!~SK+rmaD z!Q15Zh}01qmhQti7mLA46r=c?%s6+rb4?*W$=)%kS7FebR=oF$47(b5Yeq$%oO`HP z_1#NKSfnZSl5{dU);H|3CKvKEMqyB`x+2ym{7}I3W@0>QVw}9ts8|!-32j=bLSa6s zlFtasNT&-+6v>Flh^I@k3&6jFo1-$C+k?XotH!R(S|DP#OID`HIBE9-!c2BxA3V7_ z=fD(*&@bBXm}S*v-l+S=v0gEqIj$yX|I0_e0)!`tm={g7D7_Yhe%mmFewNN}CO0hz zK)Y-NV8zh48n<#YNn#?ja9sN;GrV<fvA=3^rbtcB4FtejN=)GU5X2MdK8CbKb zluDiH;1~W7zgchfsCHGU6ExEp^omYZDI@esG5%1KZEv+LG^36>)6h)4Q-d;U{aU(;Sf91o#`iLxzX5q>S4x>bYO|hm(b>+Tcoi~Uc(zw zES>nXbLSwIBIuxZXzDnL6fhIn=avbqYw8Ghxa$b6<1I0Dyjp_mfY{i<(k!~dHhl?( zfh@|yvQ+vY{F-+~uund6>%dFB3RO1FD?7x6E~7faB2aIgOQyp=8)brL*N>fS-0v%2 z$y$Np)bUJXnEk}uVHU>_q+FJ(YW-SO8C{j*wJP_U`PgK{o%-$$Y-q6Wxp~98X=`vf zb|(Hp)iw{(@TUF1L|uNL5Y(i1la6?ezD5XZcgOOoWed8=ciYM8ceZ@r5Ba`H^;HxJ z_@AV8ltm>SZjJVgd^J7a_g-hs6NQmUR#o90TmlqWXntkmo zh6pd8{nZ{Fa^W6R1N5faxePP?1Ul}Y$zVwyf?>IDqG4X2pUk}4@qhWTGfwHJUG`k7 z{bX5pKV@~*uTGIQzlG-&W;_<-J4&&X0f}ZFEO4y2-Fn@)e_{n|bLNL|`u#<;L+4or z_T;tzX7$DZflj&=y)aQ4sWyHQc~`@V(J)!L8HO=#aSBddqDZ;S&?TCCdSCIlg`(l%UXLz0>CDp*^-h3Gb3TLpQ7-1RuW zBW2Nz+tI^?^elSt^7?mkd`t50H9B<3igJ0X@|-r2<&Y^mC4CxU1D98O5Ag=((osI- zca`S@Oxp^4Yn)-M&@Bjx$6W1&PR;7erjrV$Lgs|ib0vi$7e>;?zGzHTxCjI@bj$DX z%AF&ZV6}H^7jMBIT^y_wab6&A&ZJLlGv=hIi4p;c|4UAqH zkD9X>s=pqnOFAH`28r@56E}99Wl$wya{6_b-bt5tdnYy4w0}`(Y9CgJi@BRIb!8Js zj!impudP4;&g|n7MNFv(vIeIK$6N zISbf*d84M)~l~ULp$L^R?pK7?=@9m2})y%Mvp?=;HtorF6n934<*&oHPLX%`hWCbpliQ656ztmtJMTE%%v~KH zkuk=MB$moe}4nrX@tKzUEUn~ zx6#gcfqOa|E&JatyLhY_VVFgk$Q#R>`~~;EgXd04q=zqiIL*Jf$njC^eAxN2181H` z{JOZzsF&knJ%}0R*M~%WsWW(}*mr5Nt^uI>%+j~Oc;N5xucLp$Y9@zhJ_Q!Mx zl&|opG+`&`eon&}JBsGCPNX&Ae4%{te1D`jqPtE%_KvSI7HiL*5RkY)Ml+`bsF@5p zm>4`4671*E?tC|H682-!_~z z?2uuP7YvoCO7c|F%J9N4v?_y95MLZ$6x8xaK9JTYCn);Ebx>@wpy=?LC-w_}e@gmK z=^M|a=6_LyXz%-%wFtw5BG-S{CVz2@ZY=y?keRU+0RM;B@BbgB)Co|ZJl*La-Dy34 zd^sfQ+v+Sf*THmZg?(`ls?R|qiW9M1gNoh^fX7RiT%^2palM*&>;=8CSYOU z-*0TBWh`)MhoG2cra3IP57*Jy-wkJ-EmsU1S1+@Y4RaMpy0R0>ZaAb2-a#bB&t8Z6Wj{gD1A>pUk=`;{I6NJ-(CI~8+2jz-^QOY|F1J=WYDzF*z;eWLAb6>{+2ZbuK`rX z|8U{E?ff@4Gg~*f5A6R3#u?_Hfb&OCy<>-ebm-Z|!#n)1)>G3c{vnOv#nkV===I(B zr^x@%ZTl}Of7%U@p#AT51fK9SN&mYw0SOxT{+RWDdUpGd2>xnoKms>DvcGCOuT(Sz z{N+)WB)OLKPe{+?A!NfbOzpZFI4KWC5r)%I0Su)W~FxbxdT|Jx>3zV?H(1gW6Y!P98vgDKnSk@ldW@otz) zj9TEYrl0*cF;I<08vsY6{{gL>xbOKNkvWa99FG0N&fMYPUl(>#Hc0|mK6+EHGkaX%nzzVfxmNAt{P6B5xM6MidF$Gs;ibk0 zy42#kg?9yF<$=o>XGh~XV$Q+XWHhesb=~(E$z;o9ZHK2e!Q5k)K0AY)V1cNkU)d&} z{RaH%j)D9cPHFb9f-sO>f^5;AK3pD*3yVg|n+Zf7T#6RtrC0O&EbqA&R0!yuIOj}J zq?e|XxMdXfyZV-0=%hEeu6GuU|3oB9157kR^E4I!Lt*Knu>OH~OLd}>*ZJ7_V$Nf#91N|b2 z0CG96S2y#x^qzo~8ilb1A;^_?4&*w+;BxrDqZvXWRHuKf5B93tpUIo6)JJJ0xE|cS za;R`>_1$%8*C<+z_iET($+;<9Wxe)oy~$tIYQ?+;tUP$1d|P$%Lb|q`>z^pF1N{PQ zJuvNE$b-s!H8=gWGN1N? zC2mjY%ZOd^iJ=?~iHgWo>?dDm*Gs|)jcmWDXCdv-vuJt>6|SAoq>dz@$>&~gQj?Rp zTm$!Z;KRr+PsQ4^FVFqLJM!i09qMV?H(pWRRz^&2!y$cNQQLzJ9j0KmKv@-8nKHTY#3E&(-pfq{^;0zt=Xz zNBG+JFjfro=6-m*OiY;A(`q*;OC$JAHw}i4;FqV$VWSFxHKz=F-=mhJ%TVh#gai#d z#|OWJH{YP2aCkqSCU-;7{cLWFH%?v~2tS^la!|dA*kz;i?kU9Hl4#*I9u29Za+G-F z-`xD2m6IRM4;Um`v2lKx$obqKE&ry~)p=((TEY*|WLOKxUr8!tSLq)nzF16RHgS#O zGU!*OSn@rrtcvZorSS4TT&cS1Lx?;8*iQeV-@@r1p=j{X9sOm{U$k`)AT2u z4_DXIKP+1dTKSKrEN!gQQ?EyAo2U2{6f)Yr-0$oy6&R#FLoTaPxNwbe_2q88L_ND6 zP>us}QQE0hGuYkx*36lbf3k125;t-_vr`$F^YDJW#3>HJP9b{ld{$rC5vFfo#_e0v z>nektE$a;5L1DbEEZu}i@BG!Sb}}%U4qiaSV}p?aMOaDeHk=_lu8>AL944gb-C$S> zmX3}pp4_|owb*H|~bBJbip+PjD0bDI@bGIj^HpO@0*L|}pAm9k?v zq*T>u!m-R4bbsZe1as&)tK)nkG|LZB%OIqR`^2s+g<}$jVB8YJluw7&`@yU#sl0_@ zhe4)C6wFnn>Y>+?)$&fA&MvGW9)FX}EPlSCg&BjcXcLWE&bz1-pD@nZL1}^EJkDk_ zrdmu_$u;yOj>$pILqk_(6}O$it4FVw`Iw$>v&~WWF)IzrkAW~STOThag_dcbdLu`l z!1ao80}UwZS68d7jlX$xj>2Z1IMfbz>jmcdSf%EHR_Pt@1|wj(=RZ;>=g(pzU>M18 z0ykTB{xz(~5oRnA@C~2_fcI`1w0ulZif4tH*-sja4Xlm}z@M`cbw-YIFVB8hKN@pSvbLLd9$f;f=nyZeUsF8iW>SHK^L8>5bX?>gm$J0T`|6# zMTBTZ=1-=lrX9QM#Cbv<0Fp_)?_FS!*XXcfPwsdFsvFV8Dy7f%GnHEgv60$P*D$Rv zzB&>cS1IiJcQ#p1?g;z z@!z$PeL!L}J*Dj6K{Nq07)z)zr!0ZbSABmJeMj$AmFZ@WhfbM{-{LhTV%Q;1;(G1G zR&fvU7A;1r^7yc6+jWBiwzaP`PTY5A77+k`7!m1uobVB8mv;|81>~Jm1l;xzU0Qyc zcO8DKm_Z!CMa+u`9MY^dc%McRwZ<(=^K`^+aq{+Qo`|VR&hpDcGP`Cl@W627g06uP z?}2KAxvL#{D5|%%tl!9%`sN3r4K3)jly}dml5!Nt7Yw@i*-H4l-EK?od9NZg!W;>j zzmWRES{8Nct6&_C72D4X>Zzw1^!;J;;U=IUPqT?MefRVo7dvQzi=CpU-XwpfXIZ~A zwDDaVFN)We>7ELgkd3qK=QP3#bsJ3;lq4tQjXUCygOa!+c;=L^PFq0HVPMpjP58(k=N$e;^Q9 z2a$^4eFA*T&k(S>Cq3dJe_)wGSK5i9R=s%u{8ieT>eNNdU+6(FKq}t`qubUl*25kkf?9eWDk_RFoez*`@D5QfiBK zq&z@WgPrs&&{TEjJ<=S$G2dRb->UrQ<%9^n776!|Q{;`qKE5Cgk%ba2Z~ocd1M!+k{jO279liGt;}6Z$bvR1a2jT{SM@`f}S>^7^6M!#oBQ;2CNC zc5>ICn7JGY14bErA9B~SKs$Py9 zd8oXME76RaF0jjfqRz5G=))jcETcdEp(N)pM!H;UF}laNC30sTt7gju0!N&ZUtH6WB4O75`Af(&B`c`sh^QCmSXv1h2;0 zFYsY$Ye`JF5er;(qT6+yZG)SthJSos55oZGM?s;5%U$(p>Z1W_VMltV`1;({nIAoH zPd&tk9IM?T`UX1Ci(By-CBz`BA;8Z=B-O&0^KCtSCfrR_8 zJN#oF?2?bZsLNUj2m&zYitDR2Egcm)8n3)@CX4LbweTwm+>7kjwBRc-dg$y=Lg(>~ zRewc)dL2xJa7=yRPxdYYu36x%Z&3mHyvoM0D!vK~K0Dd5q8fXoJWDh=(XIm{hFF{pXQu#ymq1?T9a7II;T#zwh1emF{ES8EkRLa5?+ zA};hP-9WK>q&>p41~wzCS{15QS=fxCfm#c~O?$B>mFH%v#QL+w*XH|G!*;6d4tZ)_ zw41JCNh(>wCy{}-%P=>+#hMDgu#emDt56j2Q+u&08(_L5yIZR%oki4Y{U6M{nJAEm z;BH2WcTwF&!$K7M{8u6?n>jGz$o-2$RB8NIa24?#20v8>!xtOlECaE`)59%Hm-Z*huh6=Q4MJ+J5Y3G#dq+qi{wO>dYy^MpTr)fyYJ|!*Re9(}EiiVNA z@sG#Usy=B2wxZrZ#!Cj3JHUgE(9ANy`qVwmE(phS8vai-8w|gI!EI`*U2SU57**ED zYwD|=v)&>;6cPgF*97lgldFSpHa?#RctY8&d;u)c+d!SkfxxAVa$!pa!1zS*V$zONMVCE~mN`{SZd)3FC> z{rlr{{AuGA&g5_hQBH>uRC_JK@7IZ`2~W|$uiNmyowl6w(LrGF9hB~H4$%VJ86dEJ zDlBlT>MR>Nn8+ve245W$Pu=oh;vW2qZ^iBq4~1dX&Jxd==S80g+z_w4mZ@Qko(t#f zpRu%OD9*HSvhfgP@3wriOlK+9h6$5ZCL^=A=qdnTW-r za+JwLty_No?fgw9gTBU7r#x(+T2TU`7xji!9TQy%jL~QzxYIYBO{ENZP`&HO%1p5y zmch6{8~>2ZKWx5C9m$K(C_x)O&JE?JP~qD-`G$TS0o?{8E8(jgiLdns`0cyb0#cgHM!6KunPl6=P*M++HN|6Dst4=l*+10G8c+pg`7)yOB|C@4p<#%qfI2aLe z!J-kE2b8XqMW@VZ%F>(>xIFGm%8W^U7=a&^<=2#SS1@Yql3v92l?ktSKc&LoD<0uj zn!w_pm2y)Y8U@NT6UXt2sJ)&e_$ma4buD|OmUg$O+%Z=R=7rSFIXvUGWwpZI=GVhP zTIx~l>#hmbmloGLFUUmHa;;9*ho>iDFs=4@Z)#nz9xWM#!lGEC2mR-U+Awz?=k8(>$?mA1+oSy_jY7nr@ zLtK$hF_}pq-(87-LC@Hus3J-D_q4o>$SzNGbiVfmh7ULilL{~ivkJ!1dyW1omz@48 zS7Wfi0|U6G%L{+MDOR}A3D%Do#P=G81-Q18XfSU3YwOZ;?Fil)FXY~<@PRXB2Jp)T zFCis5FDR!!o;k}6o@lQ9pV6)n-(ChhGhV~LEoFM*uGel4KahMOo5OosO7n!-adO!% za!0O+FT97Ewqm>gW*yXopjdZXIBq3kQPGQ04>i5Im$0&>m!dK(@562xlUb*&)cmY6 zIorH4_T_cLpkV{mp;Zwo?{8%?`;a_D!&0zR$3TL%|Cr7`%xJYBLXkOqSNyaxCfol5 zXh4_0!_ok7ouv`rdP@_C&9yWG`xKxe&RAN2eHu^^pIcgieU|VGOKVWR1ca-Yr488U z2`^fLLAd~^h)b6CVCMlU;wwuBurC8DqQKG-?0mwnEuo-%L-?(wGbmRGzq51!<$J`3ImPZd!VSeFG5oF-sKK|0KL+i3a6YK$xGF zeqi4wylWW%${oUcmO-HWPWXpq2q^afVF$Ae#Ze;^)@MOc0AU2JaX5m67V8KcM?l!Y ztfRoT656a|K(Q10TE~H65c*jsfZ|VB+By-GQiNr!lR+stkXfMWSs$a zML9l&1;XT3-ewn6RTY36y656%lHk1Ga;(ll2wA zXe(TwMGRqoYceSP02MLFx(MungoCZGf-(dU=9qOU*h2}QwJrx`7@^bpIw*03Bdl+L zG8|A5qpU0Nmox}RTUUWH22d4at#5%nj&OqY@1Tq)jJLi6%0$A+)-+Hi0m6NOH683J zfN)=6T?h6wKt;^3ZU8%haHe$=D9-`H{I_ladlumf)~%q-CQP($2jxY=m#sVh4}0$d z9_LXV438w+D>)cPar}i#XdIFd0=5(1b5WegvTUzoNwy{VlAE&HeI;$Y+FkFvvMo}; zA*Hk*rTr-d$|X=rX-dnbTmnB(eo7%9P(Dg|xD#^W)&NagD5Y0IzjK@0`_8*sB~Hut zJiqkpyfbI+GiT16Idf(PATI*5L*2RTePBOL=1Z2{3y{0O1nzg)2f_YQGGDdqLjd`0 zFgw(%mwg26zeDD0mVFc;uO;(!%RUB>-zD?)%RUZ}H;{SvvQGfyjby%Q*?jkKe+63VE)Cj&x84iWnX}h_bvM(*gr{TPwva89RMa!%iLGN z{uDBwn)^CHR)E=|&d%Kr_LXGz<{kjZIb@!j!@EsZk-0keEyOW0pO*U$Vi%du$bAnW z7vvrR`!A8XCieq?TuA0cxxWR-v%!SfF!y(ejbOq&nEMB?KZnfc=6(#2%gB6w?k50w z9+_)%KLyA-GB3~l3qaPBc}4Eu0I~s0pnJLhKpIHqmfT~A=VWfp{U_o%nOEgHx&Y6~ zygJv_1+%$sx10>~|3cB*pj z06S(o*rC>i!W}LeWAWbjo>`#hO<U$^5n47J&RZnJ>?61IYg*^EYx=0pt~6!U`^T z4VeE=?plDn5=`Jda@T?VcgTEAt{)(;1`{~&+yK~LOXllxg8+Fwn81POc7y$mWWFhv z2gu!IzBzXTKz`BI|`6@lKH2(n*j12GT)cG1t9MQ6S(@^1lZqC<_B^GfP4^4nEi7_ zuz!fmkK`hNe3;BX%S{91qhJD8pDTm?V`P3jcMKqZPUc_aW&!dEGXGbu29W#6{8a8Z zKt4_8U*=+fe1^===H>wMzrh49J$Dk!%e&_Ras`;M#_zrZ>>I)CRGYeA2h6~!&Vvcq-u*Jfd@`@={&mEBGOzD`IY9c!9O!-pKz4xH zp$5Bu3+y||+|~U`fb1qS-~B2aBV_LFelwYcRhrsMq!`-g~`v{o_y59hh z{a|*e(eAs!evr(u?lY& z>=R@by8i?qw~<-yekYhGyWfqYp!+>w&Ue2L%wO)l7t9xSe-OgI2u#4G?hk?a$K4-6 zZ0Y_e_I~%ru=l$^j=c{iaDCmMz#i|u56q8te+qlK`!m?%Wd3>gXR*h@gq2tK=fM2y z?$3kymF_Qq`OWSxg85MQm%)6v`>PQ0TVMhY)BSZYAL+gy%tyN)0Qld537kpyLty^6 z`&(fCr29Ky{mH;2JybH{p{&4pX!TfgjqhS89`z$r4ZtcOB7kBim1aoIkFPOV}R)M*vXEm66d(H!M zU(eIQ9PW80nEQL41?It?3&0%fxe&}FJr{v_W6vdE-rRF3nAi8L0Q0t<=Yu)fvkuHs z&*flF^=trhre_nFxA))+kCmQnU{-tZrN>6kHDES-u2qNBJ0O=s>Rph_5%sm6rTD(% z@*BWhv%DY7=PVxp^SR3h!F=BG-Kb5oJP+nCEx!)TE0z!8Tae2~)P#D|Ua#J}a#X!uy?^DndY7vA;=7Kw_Fe?$ZM~P`n~%Mhfm!O^1m;xl z^TC|yT?gjvy&J%+^lkyO+Pe+Rn|qgn+339n%w{jX_xNyc0nD%T9tQJky+^_PM(<5v zezW%$Fdyul0P{-_>t6Nk-XfTP(;I>LeJI1d>W7fdz3Nd&=Nqc~+@)YHJNG?HzM+<% zdpFpha_;-U{?v2t1@r84y8v>|xgT6|zj_9QxnG?R;qOe&$TeswW~ zyk9*BLVi=NJvXPmsn$ctZ>lRG znt_lHsaqlBL+UmN`H-4~kPoR6gnUR%LCA;H%@Fco)da}Hs&Q_4>BFiHAs<#J!1rNw z3Q}0vv2*oOwX$Q!>Tl&%cI;YxH`w>A{tnppuD%z1_pR;%$nfe9E?KU6)zj1k>N)Ci zwM|{8cB>I}Sly;()eF>J>gDQH>J91-)H|WYKdSzh`rqn{&`#e~KUP0ix2^o=tv}zo zblbLV_iua7mB+4p)s@SyDqZz!SHJn{d#-->)nC2(fvdlJ_3~@xuQ`3q%dYv&YhHcL z8?SlmH6Od?{%ii_npJ(5_g&fd>AuhReYNkwz904d^0hy__TR2Ox&3#xzj6Dgwx569 z;B~iM_nGT{cHPqJS6qMe`WIgR8`uBd^&h^z+<&}(zW?L>jUB(bEqkur zvun@Do}2gFz9-)ES9^N%@5rCC_vw2t-@9w?9eeNGd*KaxZup-!eDsFyeb3&vci)Tm zeRSU^_x%EuZ0p$dV|&I9jJ;*--D4jeyJY;mOi&IIJ1d{8{Gf8-Y<+fq_9wIdU-iD~=c-?; zez$sQ?ef}|+BLO-+8wpOsQqQ_3$^=e->Qw(Z?2c>C+jb+zqbD7`aSiJ)jw5#xc>e6 zkLq2=R~>)*@oyae{_#I;{HSqG{EYabcvE~$JRko>{Fm_;<6QH9H1{M_K&@3Sn-@R z>=gmn^Uh7fP6hIP&&6rj3ol8-K5}UqHoPGXyKHM3_N96ncHRfmus;aEej0$?{^2z2 zT>;oFA4|i2_Lphc)EDu)OyTXWIn@KdbAcxq0ghlCX40Er7Q7ASz*sfZ%ha#JeD^x_ zMxc4`Rqs(B0IK)@st>9U!S5sL!$A8kS6_nPm*Mvn)u+A+zpugX>+t)AIslaMfasY5 zCjq~QApM6S{ciy^{Wko*t7__dkk8+!Q|b|Qr}{qpexQCs{SbbC3;8_?`TQOH{vLk+ z0KXr>@5k`_NBI2&e*Xl&pTh5-;rB1_`&acH^>6Bvz~y{W{RjMh2EWJP_jCCDCmw6< z_^j%{U7(J?Qe7Q?t(L%VDg2hfF9*MF`1QbVIsDFo-&5eX0)9`0-%9x5-$wP?mDGFm zRq9XW`+oWUT)ulc_U&KGzfls$4P=$#9aY*Cw*Vk+eP13kbhO; z)#clu@6*(2`MyNpzX9J4`kqhYeSR;0*U5L2e7DGVTQ9fkRpP!zzSk1`Y3lGfjAuvXd(%08{RaFN&f#z; z51k+B{|Wpa1NVH_+UA1M^+a+4-5S#^CdM zFW$8lexK>;+VfcFGxH-I&&(fR^2~g^ht5X^&RcrX@D_k=gWop+ z)(2(yO73X~?t!v@rfbcC%Q}A-@~jsW^IUo-ZT&hL$HTYB-K<4Z0+ zbmKXrhpvQp8++GoA6j;FY^3Ap*ow~g9QpNS&)ELH&ZA?8&bj62W1Y7g9qG8`=%Z(= zosV_qZXD^z-T3I)&x79;H?Hk{!Hth~z5`(Ixbc_IdCtzYz2CTLZSTW3b>x0}^GL@F zAk5lZ9zA;_{I0y^1>k=Iey8B~)+KT2$f^&QR(7KO&!d%{7w>xX?6*xXS@p=k_s@Q0 z;D_+r-22GDR`{*#ysLZ}EU-s9)XvK~-*o#($D3}yyZbM0zpQiVu@#-?!*A{E%FfNR zYkTjUJ#x+?1GmBNeVsq9-gwSMwZ}SNS{qvS)!K^yb{c-a0>78Q4{+f4`=H!!TmHr4 z9m{ez{>k#(jmseKbF$mwW?2&=vOAa+JIP1Q~W1V-!>pBs>4!-z%$Bio?&haJq!#FRkjdbAe zzQ)j5Gbd0(qzisa)ze{yz69p!OVl&L{Ve!h4ZmyD{*LS5+Yi41`0a$>F8J+%-(L9L z0Ka_@W(dCf;WrNH9D?6r_}vC+72r1szasn^0E^+*gdhC%4b@6>m1w&fj!rgf)wnj* zT)#K2Ro9m)6}1B_JId8UV}5MD9;Jeyw-e@Yquh)d1Q?mTJt{WyC57P*Muif<6S383 zv(Stvv;?qL_8O>Fn}u>UYM>=L)uaGpwPR7$$%Cx@jYeUfY=;V!IZkx6*(g`1o#ILQ z)6pri?QhiTQKQLVsvefgse@P{^SIfVD>iG5J%wtif{9{CfS-W)i3(e2vayU$tOn-d zW^Hz$5fz$cC!yOmsGU&nvGQzWU^@zNqy|sbA?F(BVROjGwN!Yu7Zy3A#YVZ_O#9ss z%~SjAFO(Y=N=;&&+-`%_xmgQ41f_OMs`5u>E5o%?M3$Yk;@oUhZL%XORtgQO7`X>4 z5&0eA(jRUV>d@@!h!f7hOo!W0lC%Mg0UkKvXFX5o(qa_HQ2e~~nVWil6KXa&*NhBA z%4XbLCtFKw!Cke+Y@um-9zpvHjX3fk*vvQ9stz!kD$G@y)Y=BPt5Pd86X_AmPmn`E z{{3+r%}!S4N1OANNR7_N&1iQ0!MSP^a$7$dHOhrb`32O1>rI?kN5_=%h8ojmQtd z$dk&2>tY7){#sl%$>{OzM`HToXXrI$*b4`i=NyfwiDQKcngSqp3Nh18p(1+?>DtRw zs$42y0up+(I1|mnxUG3)$d+aBR5PmL5R6lF1^V|m^fV6Gs8N`#L_kLNN>-+c1adH% ziW*V17!4kugCaENVFc9+4fJOcy4UG;l}J1wD< zWP`oTNF1K4RQw?f70q<`_anv{wnf8s1mjUgo)#?uP_*}UWl~T>eh``8}wCSOdX^ZPFPZky0|dt7382vZ4H#(&7=^{5<8~y>^jPMB0wh>6BY$_)4T7C>Nj-OqMzq{5+tdetl4K%r8ZEEJFVP%fbM z@@E1sVHxNi4C$K(Fl>+o?QfK4f#{rw5>QQL97hsk4MopG`!%YC3UORMp^VdnCKy!+ zkIssy0;G`<+L;-wr_eaVznTi=hoWWy(4U5qKc^uC3XIi)5xx)jksYb|kq7y(=G@cqiY~HP#2dl*zvHax{ zkU_?UibaasHY(dsIHLd}GneMh5!Nak92DGO0%kmb1Pd+5{~%Yyv4}b0R5=s@a3pD7 z&d<`8OIfSVa-##2`4XFOqc=}tS8y{!5qIf<0Az_rbAPE&Cw`NoaPI7-dDG$A*i55# z(nR5zN`ptkU|2UakROIlD+6Z)$blu~|C5c3DIEUEk>0}p&HfZVjU9efIY*F09doDQkZs2!T}lg zcFavp8ALSWR@~CdGmu|tv@jKoLaq@M08@8(Dm%4s1R5E<2=&=+aZ-!Pz)|^~<+xsp zkxkN}EoR2+Y3?l-Ro>&K(gEE7YE0Ro7f6$H=4so)u_w*sPyNXRn&S&{C2FF#(X6NOCl^U+0IZH>D@?vS6Zi&vSlBI|NHGsF0}6y(2OyAJ7y^cL9LVh^C8+|5C!e2UPG$FBS<)f(WIMO3a8ce zmO#WRO)SQM5rLYi6Ihms2_<5bU2|3LBzBKfN@{$rT+&}PRNA7(fgRq-yq(Sv7enib z?&CDz096v0A5oq_Y2u`OD}}~%v|}Eq4v%?Fu5W;vsp+UW;R4Kz6K8p>r}=VMWiFmk z1C<&~`;;NCovc;Q*R&iEY!CuL5+<^bH>a+|lEuIqR*G{K$Zr&o-gg}?H)r-m)oEA) z^@U2b{n*6B4wxB`;*}$4&tS2!qKqD~vGvg>6`wsPnr0z1ae^Vo=W5Leh66NeajpRr zv&qzMqM?_w8gACq(mA^;wMok|4*-75HCVm?G034NN+FTR#BAZzP9RP*YGS4kBcX~) zQEA8kODW09#8g^1BBW>nmOU_oVp9ybI#O4r7vptAV3OeAFyB?KmSb3h@(2|EA{qob z1u+O$kr6J9R0Vw@56ikzf_W%hp&_Y5Ut!KLRS`NfP?Jl`f2?OKw6uKtEcT~}gEw%T zQDVo0K|70b>?XX@ctpiiI9XOANXe|axS80O){u^s^D6<$#VjOs#q2skD~Y1Th|+C} z<-+n&*AtZ;jgBA0seOa7Z8Ww`#S1BsNFsp4c}k3t91 z%Wq2bV6Dcr>W{g$6SqUO;i$Q33zvX6i)MKeMP>7rUZ%+W-d54#g#us-2Sde)vpirp zM1@%z23l^9c3ejtX5l17GfXzRhLL@$Ao0*`fW$=GF$DG#TbO}Bt3yk8Mijtq939%W z4_K;QFzI4v1Ls~>GT5O*=P3WdY77|2{l%i#owYgS-Gqt==>pr<&1$H2A~FO|my0E5 znN1jMC8@D#2F6!Md^2Soc^GG=^)zB@H?2<{Z))L$TZl~piiAWs2~#DS8}u9i6AJcT zY^^j6Xl|rL!zNCH`Z#ooSoHbfQvQ-jA~hIJJ9b>_c$Bv{J!1 z1k`QZXlg-WO0T0eh|;ckK`mvXrGV4 zi}|zuxn@nXMg1@sfQVV{4Vr?6yBo+^gyvyjRi(nb2NqS3J&YQz|7g8X^pjv;8hc(1 z2*N8>Gi1F07EDguWb^zHpe@X?*|PZ|8MGTk0W_ZLKoQ0pW!+q}tSaEf&_Hq=o&h7K zig|$?c%L(D(`>CXq;WX=V>g9`6AhT&)kK}=uZgg*{lJ}+i*{Sd$5K*@L6(Co0|m3!j$9FM+VLz-EU30qRHcCy zfHGF*gt)ZCYoVYGEqXJTOQKgi+%jgJMv4cqC^0)kmVL zI0X^T1mg`A>c}TKzG>w2;!0hP%vRR(nnDC#7Or(tOmRHNzFM(Rp;n=iBCm!1+}1{b z96JmlZQ=IAQWoeT1~+p*4J;g`Jp0jVmjas%ZDvkJP9{zUUV?67jFWn}vkP0o^#lwk zjOra80y!g}0i)&VYI&+$EL58*zk~`B1A~e|;-?on?6P8a!dFp0(qWQrlD)8Q6xod= zGj<(3CBp<+sMM;FOvJ{i<2#_y$f~+f)1auP0p$7A$dqYY7kiAJlnW%q5K+5Q6Q^b? zVs%xoL|$awal+l_IMU)tC!kf{@;N5zf9_ucvc+{9*|aWec`-kR7BaN5SB91s<9N^~ z3_arav~?YEJ6GHFmyngl0GEdCh_cKY7;I!(6~a^UaaxYtv&aTrkOuK+YZ4{6Yb=SFH6Pa0ySvA~be+ zEG>4>_1N90%?YiDEtIgwsjU$h;oQigsT!2Y&T^Ehv`37ybU??A!fBTY%S6D%6DMC* zc#KU2ZDK4Qu(Yr*yKmCVv_OXh)^c7~1V&;eE`<6!(XpaPDs%2ox!9?0CD$MO9tYqNGcKAjFyp$RlAsd zMGhA-fLYw=Fw(3C4q1h2r;&j;ejc3U0VNg!@T50ZZdQ0euuTRWZG2loXx)?okXEDH zXqNbC=tMcTOWp}+{@HvI5LOE#uawFJW$h#oC)~PdsW1tc4j0ZlZt1JzrV1BldGzH= zX*8y`PJ^9>4#;AX?VAdc$CUatUcns32$$ExGqGrp*Q9-4Tzn9{! z#4Wp?hRNQ{SZ%xtWopEQ3g;^AtAmZzY|%J?gfB~kbO1>q0Uk4o?P~O7xmlbUs}b?> zAV7%7%{6vp5xNa{7ifQlmXfijC&t@njd|L4vyJ5dfF^owLlt@X#0_GmD7_^lixbi} zfmU2UR*124z(kD+KXiXQUoE(Nplwlm2PZ%*L7k&IWXBh3<*sEA4RxLd6+yOS~k3I0^6^9-jd- z2+k&_jK&aaw#pViZKIkXT7ARJn<-xl|Su;ZRY>=S}9cO##4T{wK5uEWxs1;&k<8nHk@1c^{ z-*FPq=eknUht0`hAGFi35V77*@3W!Ola(7K?ThhKP=f*byoXS+iF&qH`NV8cVI7BX z>ada>*D=|B9c7EI7SwdKLnkIZwW09w6GKW7QPf&#yR@h+S~~>RzPN1^6^{Ym zUS`Em3XRgaq~sg}yUO4|WDBLz1aB8NNM-D6on=+Q4vw?E@^RP$ zQNTHNqbEM2yWvc8uHE>XS<%{zAF9$7fY)Gzl|x~o8m-cJqgC@Aq{!%X_bg!QY=JaW zMmr=A3wU%{Ji{F?p6NM53xPwkg8(xqy7;!h(6p#K>6Ie>33#IE#Mjv$b7a`b!+O4S zJ9I)XaGp;xNULSJKH;2#`)j%hTJ~pZU&1+hg4m#)t{#^^C>bkbW9ti|NP12RB1=F3 z5yXIWxDILS}OoR(8ITQGm9m2=7V2P4Q91P@*=X8h^;Ruw-l903~ zlbJM}x;$!Ys0pYs@2?t{FiR6<-1Qup z+EuQgj+E$6#R-*sJiNeOBh}&PB(h41MwmXTU8xn14bj1eFi|y}I0Kca&^Q$NjdcC;D7!-WSc4i>G9<0rk_kyrNseXI*d)6mUcR7vpwNIhX&O2SMtxNc7To;~ zitg?q58YHBUlq(fo6TMeVP7z_)+*85} z$1f%6aN`w*0eidyLK9^Y12Sr|T~?FSn8e)^f-=$NgCfMhdC9Ookc}ND+}7Wy20Kop zH*8iH*2Q|C1BnvYjc}_(>SX7nZBuepAsiitltP2Bnktw%(j)2kksNL1c|D0S^|+am4f1 zNHvi@@1JprV{6sgjd(qQsMikHnmfxeiRJ(|QQd;`Lh*)k4pj#iU*5uZRCJ{+9SFCn z$p#04c4(a^?G|#Oom#U=2DGmZ%)Lh@#MxgfS7F+iEifCIk8g|`H4`?maiX1c$O6Ui zI-FlrEfb33X7C0N?}mW&uB5$n$b=ley})KEoxqYHMo2G*?+!_1&~{0@QphNXt)xX7 zwJclaQm&L}Ap|D@Fg87lowY_{0>qMhn0b!RMOGEphj17=U=~{|LY+`n#GC>;B}ag> zT1`Xk$cjDriqjA|b3q%;ka}$}s(V35>%eRkkfeyTwSq0h|f^iF3wJkogXihLD4y0lJ$g0xzk*9uk=$vJJ?s>F1_b)=dufCw=7ZUi8YbO=^UHF$imLWmq^!rhgT zDJEJ~SiKX;lyQaD{-)zVjG*tRd}%?(6j#O|gIT927Dt_l@>mVZL)ng3i&9)92GtUt z+2T@B;~hDTY>L^_1hjM!%;JsAsT zP@JJu>+>+4K(d1tPX;N)ESB`?MOoPEHvEibJ#-a!yBT{Nl}`xoS91Cp_126lS`a zMy*QsN(4Y{Br>WeOV1IQ=ln_b3DVj#MTFYv=C*LAt%P`XZKHP<*A1rCjT(vY{4o2Q zsgkcOz@-hY(MY1i3j4AY(nmIM`INZm!(+LUmw+I@m4pemmAWrPID@v}BrFzyu$xdF zUMlE2oscUn<1vJ>#=P}xffn|-LZ1ZVq}H}IBjD*d*M8=6!Z8FX^ZJY|Pfi}rDp0I# z4yG2t+?!+;QJzIH0#8Qvi{c!flmaZ0&vEQ2RoN>b4Rp*xP+} zYn5#a;vpk^liX!yZ)cPnV(d+3>!k>^q|-Lts;t_~H+Y#nM5E4GhxmUSd z1Lb;6y4$8O6&X!*FBacHW$!QID`oHsf|0oFez0#jd`z?84~%MYFr8cg_VR#o_3ayDH>@ zO+Y_Ou^UJ8?X^$-JNIj&3dHBP%g-)ayq^U4w7ME$;PSXA??9aFE+^T0nJm7HaQQ;$2%1ZjABM#!f3hP)fvt!c6lVMB8r8k?r10dhIfFegJwaztP2I9Sy& zRw%>ERNR|NJm2wZL@IJ_W|XkaQ|@u%@S-!tuKk{r58=9c+KCgH*u#yP^pieha5|vp zO-$fWq0Vf)S1km2dL%X}Uug@|^A%3~qIiA@?GZ^ii4PgcWdzVD;sFK6eHf#<2TP8Y z49`GJcNB%PNqhM9^aAs^4y7OPL7Ygm022`pNN0yVh;xqEgPY}*8&r-!xCv^~GLAG)Yq>`eWzW>N*bfXbo$C96A*`U)s>K(&St zvGd?e$tdw*ouwHH-lgtVzm|3_@}?ouwPBvVP|}SV3uEs>`aEYU2|sXub>1T02;YSy z?T}%&l9>F|aIIeVD0kglwLbW_9_T{ zELeZF#Egzw%f0DjH_x8zh^EU`2{u?Qi47%TV>K!yTbY2kPj=8_HrN~PsaGmdt>PS^IBqj?YT{e=c}D)_x1@|5!R zZCC~(0kJ&BN{O3WtO$WcGbt4-i5B+EB3{|gSFY-FWc&b!zEOgjSSqFy5xnJhJEWyO zkiNkXeJX`G-cyFYfnJ{19$f0cQ$KRmmiMlZu43{bABOL99|4kd6K@5%Qqu&`I?a`O zMoP(*p;i`2;(+r$%Rq&yVs0?( z0#X?tDN&1`1n%*uzI~@(-VTvY^QLRk+-4TuKMcR%uu5Mq6dd9U4^OjlkS7J)ccYTL zKbP0s$71hhp$XBsKF1tbXN?3pq)V(wER;;sOX@jjWB08rP2&xjHQM`h=B{Lqb(iE8 zf-;cpLdCrm%LnmnVD1bMD{C#I<^dN^Ab9dq4Tw>q@Pz}CaLPmKkSMH_PM5}6 zqd67yAvE{7FO0=WK%W;O<6vUeF~oFc^l;QJn7Q;>YUM&kwYo$;*6(rP*>E1!0H#|ZQ29`uLsd=H zFjcX1ebUu%OYaui6`<=$H%^1nq0D8mf#BAUxk$exNf;?AG03lY8tMe)(#t#)eBv+Q z=Rfq<=MR#=F&#TXLZ^RP$P3Mg2wmNt7&HM|8y+RC1G=~x3K>k9w;x4>N(sDRt-d-0Dy5N-vUJcT9@=MQin-(JI^ktGu zfmxq`4vUn^v-|*Gq2eBf4Es%#<8*3zo@e%Qnw5WSFg_gH)EX8#fV`;~f@w6-;IU}7 zUTe_W#pne)B%2v@eL93+YK$}B)Jz2zkL5OL4jS}JW|eNBZf$C zunz)4vUEK|FNe4_3~h}CtCZ#x)5w&CETQ&KG;~%&niZ&WpZ%0a66s21T1;;P^3Us}*3D(scO=fxthve{0Wx~^Mv4`uAa1!#W*)#wM0}iMG-@ZutC6%3Dx{ljTpiQN zP4oF~li?1+Fs&t%Z#Fs030MA{*o*1+ZsL*?E_6?Zw@n5W)z@FxcAh7FyFY|p!xowiY1 zP;#fxL)yl9Ov`x$&UsPOl*VlEJG*Rw4lzLLY2(URI%;o?3r;f#n(F}0`p|i%z1hIa zf-GUR9n_G!R2+!DWI6V!C0=S$Dl`kUuPQS^5&{k4ZR@4Ad#FO(s2)5qG4RVm%9I!{ zIYhujDY)x5F$Igp`LV`ajE{48x51COyKmydPyX0hNqppD`Xo59!JI>}BZkl=l`W)Z%#pSbBt%5H<1UlIt7t3XF z?rF|e)X3D7I$UT}dB*{Q9*P>1_|75U(1=$9(MFrLTksmxNAKqNygX)x^hh z@-8r6^l0z;j8TT$h>`k4#afkyA%4edeBaANX%1Il*u>~2%4)9qH+~$~^Q8Nx>FnH& zc}_~ZBqQFJ9BJ@Lb=)^ckBJttg!w{(h)5NffE&^xoOcXVnKPz z5xw9ZF2B57(Y%Ut7L%^ZM8oX)${l9LJxZ@klWF&btIZ8t*)*_m29Ensek+ox-^+yNC1xe&{1d`^D$6<`^Y-w^0X9y-yE@Ee%{2m@qRYr&{wqC&^t)u zO$#CLsY35DlmXI66s3s)e&|Z5750eS1*@O)94N$=!L(wm*yTFeHqt<_!zT8}ae2Bb z+xGf)O!&%8vN0*Mkx~*1C4mE&mJ8N+qulzD6vleHUJe-QG~O)AgDpPtIx~0>sL|E| z3=oD^&#lB0CU@=3*9l^S|+p01h$T8}SPP(V5#ECKNDl2h||tfJc7 zC7Yc*spMmkP2y1()C}Eij#8s*)N^@fz7e30nxox2u1%i)IddC^tjS~S2pdm>cI#8# zQX1=UkEjpV==wO+jkI5$Mrf8RRGZE%fT?@_=g7u z_AYqwwd7zQ^^z6eSS`zkaT1DXv`U(ynTcGY(XvDUw!2=gr`P1fnX)!#wJB%7@^}Z~ z9ze&Tautt}-~+fY?nLH8%_DZePCDK+GS?iLBDTtk3$)T|b_nDZM25o0|99(WThV6U z&jp94V$Syw@Yxb74On4vt~R+g{KAbihZ$MgQp5SQn4Sw6BaR^|L9zu@R_etkgE>l zyaMjT=%`#JebYTM&wOWWK0Z`#H0K!k5gY8TKHh`P^)qWWjr2yfQ|>YowNEX9VkuS< zd3Ia93e2!d@O=Ow{-ZJCA}*e@T)>MmKWvY3jG3m;l%elo1BKVjxB9U z>O=CIXU>xZCZt?RmBAP4WJQRS6Ka;nwsL&OzS|THRGDdwEd1OIo zXJeU{HjOEMdQ$v-LV+%4*dt}r3t=n+y~I(#4UfDQxGS&V4vC5rZd&H)Qz@d0e=sV} zHSmO{kMI$^lX;~x!m5P%K19UlcS%f|tF^qtzVfd(UBBY{Qdeliq)~1Tp zS)frZlPZ`!+jFurj}WOk=o&Z`rA8bdq;+B7I{HUxQPE39=TGA~C&) zry497#t&YI$nQzZ>)0h(|Kt10=Hw)#toO(8%!3l5Ky*S)sv;GLZcLO?$=I7L8v#_E zk0YvDomt$Xd7qt+X>(hci|A!lPLK3)HFiWYx`DG$x8rq&RGyQuYFgb0BiF9k`8hg8 z!YaPSNKGNhZA8;Rp0HM!AJ(~`=;hcNHXe`(ZY-#Nfo}L_v4D!4hpvx%$M&iP=QVXJ z2t75ck3y83$Ls0vr9RuP>cI!&B`Y;6FP@)tH%2JSy6Y&~r$=;DK^s#TiNw-(U)zZA zyH+>KM!;@bVRBK~8>Px6m3WGHickADlMkM0fCLb#U6cpKYAhc)hD28*9AX6T;NY9z zbN*Al>h{D-zEgo`(T?k7gQ{vlR7ua=l#Tzun$FlOcd03bqm{~(efO-cDB=t10gQfXcxR?cf$ z-dhbYDw_5UXB=f>jW9B|u!$M^OsyvA?EfHSCE3Mmap#%=?!`GM)XcqQhM= z*jW|K$|Ipe08l`$zplr;#W+sEIayKjjwsaJ(+jo4(T19T@Fb#{0sC12Wnb1|o~q*@Qxt@i(3B>{sX( zw!!D(Xwc(*oFJmhSwn7Wz$Gn$IN5qA4sL2(mHcK3vCX{ZA7HNX871ML)PHVx*{xoMb8 zq=r@wj?*I36=F<`BqvtMXB^|uYr1t;`C-aPd&{bdc(nnIjjFUkl{PYsq+$cs&FLm6 zY*2-bs$!(EC(Ps^_he0lrB78OOqE?hvj%lm@ntRYvwGLO@r_G*CtS(b1vn;W5{e{E zGrQiCEE+{bh9)GjpzbmeVTsF~i>R}Fg;NYwsL;C95hQW@%eoLo$Q5X8Km(Yq0xX?y zl}}@pUu}X>-;83HC;>!@$Q@=TC1%cuciK~{K(B9b9UIv(qkUYBSK@A*<-QYgqtFow zHzim9P}j`*3?3^v`3tH;yq2V02%-kNF!0G*P*0EtO0a#wh*e8yd9nPkhV#C;B&qy z&w+iTSmH{#P<8UxZ+4XnK!;(_7x9U^NuU5eC1x11N~CYVhia%@4#JA$6xm|uo*V8x ztrO z@(vkT#(9N|3uL@pqDDJDWGA(QW>IT$@W~vjk)R(Yqa6-XaT1I7<_4~R*AI#;#4XbJ z*sd!z+=#X8LR4=7n$s*gK|0OmJSqry3R4Qc24;3HB1d0#tTE58x*;dR%3Ee%k91{V zV6f6{O>|S_ZNbszd<8l5x_SGLMba?|mFeN=Q4)hWdDZm0s;rhckHRl*MyMd0S|1l4nOg3K8KVZu{iK#1(2_ z^y0qlS4~XNI;PaGWgkN_EwB)K19WD2mUgyy%NloGf`$T~R>FZFT zj`?j;h4ymXY_NC+8A&Yp5RhZ6@L-kh^>Cg>(HC7bN_6zt?scYac5;Woz+BvPbS@nq zL>J#PCKV>x_qGEA=>RN!jjDs&&CozcXwlinJ1=sXTFlK(R&`{69w$FyFO^|2C7pmk zpIBQEGOR_Ed@T=xYymmhBPNVO+ZZ9zk=crM9E_0W04~kNGyH%vzBXCaFM!fDc_xj0 zwc4?{y2v5>@+@GMoM!due$}_VIDt1n!`wShjLT-{&LFHP#@LAZ^PC~4YI8}&zmkvg zP;Meyqxx-CBUARYEB8T*WQusaDNYuoAjgyZri1(DRK$qm*^>Wo7Alp-$Yv6sdK>hkBV}0K`p(Sn{$;0R{It#-{9%I>j z+X;*4rXj;jH|ULMqFt0G+H_KY2YQLChI#KQ)ubDpo)wjBytEEm5NJdpKBg6rNncs) zM7)QilQL#yX_iWR>unpn4ojrJB^~3cR^hM2TcP>HM#5)O&e7Q|9o(8ULwA(c#`_BM zHCKqvZtAWOlrR-M&vjnfH~sxW@It4Ob15@CW=NsYmo18FalCJ5QA-GNbPVoEbb z>xlspHV9|NsE$We=B8(C$(SbdVuaQ<9*05@-a*A3P&yq91dLDvdK@MOT4b|!1WP`7 zir^Pc+MgpfCF5;K0yegn&=wk?{^ROA`j4GxFNG^JQrOmB^sDfRb(m=S*3;2oq8at} zqL!RUlkG)`oG3+^Q-^@RS4Kk{_zUOY{O-^L+tl9ePUah1C9(q=Tx6^3U zuT%>L_^EFc+8b{#O-yXQZDYHy8;>X7Fz(yFal*Vp(ncZ>2NQ9XEkin+HuQQ{!R*_< zVFHyYh!$2RjH)p)CHb&Mu9JwHU*GmkkQDDykR7)w`e*}V`xYW^P5f?EeYA!~`!)!; zZDQhNqfiHw-ab3Q_r+A^ud*Hm&tq~CjnQU9=wO-#@%6+0*=PwfL|dID(>i^6Gni*s zeG3zI{uFe+tvsNvsSseGTcZsdHJ61Pn4?~2)x*52Lml?h;%5o*v(1)S@J%_}p_?Zr znlt5C_3;)1)#Qw1W3n*sj?;iqeKkQ9`wBUFTqzz`@hWq}R$N?aiyR_g2rWd%^-9!R zl#%StvbMN-ur6<8myl3#j?l+N{6cG&@H^%7;}w2CZg9Ld`d*u|UX+%3+MMMRwM%n= zT!;ygpFWR5U?JNgFW47P)-!LW8@0#^n`o15hs|CyZ29jjt}d!Mik^JZ8=E)%ycy4` zkSlcHE?7)E3thS!#U9^b`M+^H>ov_QC7cal2Z2GMLq+wG4ZI_X zD;DAd7(qzL9DBe`_<%begfVXo;9^TlDPYOV2TB=0i{24Ye(4ikKO^}l@G(467u|kG z|E~VQU4y$euiLn3+opA!w+?Jtw`0c@{p)sa-njG1Emsa+xpi>E3)RIJv-I_fQ(LdN z;)<Qi2xe}h6J>+S(=`xy z99qxF&^LLfpU8g)GbeHpx*3z!Z5TpRJ@QZAuFRgZt-LqN#bBbq+_yV?oiZ;R+N$za z=jvsB8_s@LKpkSw$7(fu4S?%`+D!e>5%V$34_c*JHg*zoXQoo1cQKtKvvjt9U8uJY z9QJS{aQkUp>1jGnirSo1)kC#%$(K3k+ZTO?Zkr@yw&v-8%WUGJ8kWd}&d$2QoS8d0 zpbIMY&mfahe_!UU$5^zh(#e!mYz{38okM-k#Pu96x{dc5J{u2IA2Ea!1$MMitl z9iXOkp}R0;bS!iuCX=X0?~rp-^V)H!a4d4wMCqsucpSuyygXD0MkQV^!8UUW&AYtc zKvB{O?%+{1S0ZIsA;~RHjLnkLJyE5O$lKS}od{k-v=Mg0BEoJ=3IKQ!82~aCQ_~U7 z*G>Xr9>*ilu-4}xl!Z0k89iO_w7JfV_AQ3WMVM@mRUa4yDpOAZ^iHEb@kl@| z&g3T`QXt-QXE?`W2-^ANAQxi_`Z<>E2z)_+fn$w1-qCT+6EYFPvn^AV+DS{;`t%l} zaB@@T0hoNe4|O+$%9$m^CN(j^oSf-nY&g_FxE6-D&nI7X#fEiex*@#=*@v@_Q|Ns~ zOQO?gew&#~EP8m;kq;qde;93U&PBk845C*&F>oe<)HmF80eelXd0DFT(#sMt! zGl#G^ARok%g()A#LP5KbYX2x|VuP7BdHc-KEp8WYhu7qj+M1>T%ZGZU4N~2(MerAW z?eMVf&Fx|7HZ_WTv6jR+H;L-3Sx}@=)D909a+NB#xt&tHBlrODo(e^HIS)TSGjGYcVMn`lCp>E$ZImu;{0k(dT!g0NY_tg zDiC9fLodD1zz({3+M}?EUI|UHS2~GOTH9pgn(<_h0@A3lYDCU~Jz4hZqk&p(!N&u| zWzILH3o%KB@Qw&lSqgObr*ls*0!wXjtUMoh2MbB!Jk{=wmey{;Ib`9BR$54bIfc|l zlbmMnaKojud{AFNNRa2&OmrlIcy06-{%YOo4X0M=pu{T-D~D@?x3$(ikgEM>Z*QCjxVW+DP_!%0E`>@gthO7vT=Itl|2YYs|;rLTe=OH+hzl}gYcHRgzTJgMFd?@=_gLOz$Rhwf*6xIT%h8(9;9-( zRejx%i>>kF?Wq!_j=hAK=cRd5>%MX0{nwQjU6}SXg=)XNe!NAO_h_rM-EuBE@4{05G=b%-J;Zri#Lq0MkCt_?(}mpl@w!Qm&W9x&hNRH(w|c5mW9%5Ma1-!w?aOyw$s|uge(z|qx5hz5B$WrH3^?@_WGeL2N%lGq8>~;6O3`p&Sf(bX+jTj#iWwZ+ z!sXqO!U|h9s_#*ZSAeoJ1~V2mOo?$?ou?E^4nF&(*H9M+pnMnPY3N&Q@_StM=z*_R zS)9`4RO=R=`gGlqWIoY9+n4JwM`_fEz^c=)cp|g#!WpblgQ>Lh9+h7UkZBpB z>hv4_>x(l;?KlvO;T0}}xoA2xDT^89z9P)nG%U2xQXjW=noR3dDb6Jv$Hxyp73j-L zuzbge_@AUONvcU{y)Zm&R1;K&CjqR9o%pc5V{$c39H!dk#Aw)SD3MD=kY0>H$O@E) zTdOR&#Y8=d(s#)AHptBsJ*E&dPDz;Ao}-$V2#-HBPTe;L3Dv0ylilOayg2*orl0X9 zfKke@ELC}dAx{+|Zn0_jX_^dee7Bm++wb*=aa|fO64HmLf%yUdzCt4lO(=r{)TDX_ zw|;Jlh~BfrPgG@UiyiV0%`wz&DruAtq;_p~YS>LDy;M`NPv7OTWyz7DG0>e=+?mWS zuoycVQiQVN1ydolj9Vi)^;50|=zhWvchy!lJ&Ao;p=76>DPoF}w#zFrhK#9HpkIwPCVP-#H*z;g}haNkfmn0gs2*EUZgvYKCC>L`M@aW-UrGx?S3# z*BY99`^``^B@q%f{&=T(ZkPgvt9e5KQk`DRgzB$o7Ea$`ZinU-|6i)s!EXru*;a!8 zOJNGSRPBNPOCipsM7!7)6Qb<${%=qnr{5kf_6cVsEL3b)Fpg@w1|kKxFesQ64bSvFVdkdiZ&VgV8l&>lIj{-XwI5KUqOXlLsiuDdS0>owoF|e z%iLm1mZy1WDX+TxBEyT7i3==Jt27}cyVA1jtd6rTQd-`k&bufWMook<;0Wb7 zEV8Vz!1|Y$M|P}NC9EALv=%+f^60Af`UHlkRo5#m-P6pDI`4W}2UMx0DirdGlr+q= z*%I>x1I&AVQX#(4a*95q9Jk~Tv5-3jer3DG$eQA85t3P9+tsOc*2oa7ORRa1 zX7j|uZ39I*=1-}5weOP|U*7K$!70jVR)s}+?hFBRezhh9S365q6n-|Cman!X=xR$e zdW>y_>z^fB3=6o`=~sn=w`!`e#J%0+kRFpeDZh$HdNh@zLftvx%1&z12mV~AcSdJL z994$Ga@Ky)%S!Lm*%?FJ`rNqd` zl4^Fa>};xV_b_4SX2cYC2AVli2c?ES?HHC0T%Wng5ZYI=)TC9HYGO&8cf8eV1N_wY^H$b{*Ap9o2G- zYIrr(?&{3-^Q-$QaM_Hk0<8e_jL&lBImMy{MqxYXe8Pshkh=1Weq|DoxSPybh>@W5 zXH8KE46SB+|LzKvS#MsU)l;he$oF)HD4F0Zp^la*4kZvEml@oHY_%y`7QV*_%h6)C05vASv>%v1~4I(SeecjB}hy#^_r2u^R4 z!YOh4K*{n+v2?-7X_CrQYA>Y~O(QV`zRyfOhg}i$>6b5rJXupf7OF&M`@of3B_+{K zp;X=;dB%Je+F;dNWn6+;%BSGPaQFX10+8gW^wPd|hbkmCHzL}^Ey%2nXnmY0nB8(U zvAb^0WKvxTU)jtv{^Dtl+EQ;Hhc-z_IMeTRKr#tC1m_ z;#3NNk43`mI+gJZHTGP%UZECmhb2sl1N=q4$J%N2%+2tOo(vC$ z#isAoa_JS23u^LcO5$(CB=vbh+dVbm3|Y6UqU_c&4{VlR;dW0_Gb&WxS&suvjsq3OR-X_h1rd$+$rv`QsuHbw7= z7F1dzuVbin$q^%XvgZ{^IhD3os==&MEv8JWWtoy1t_zmwnyfN0^VYH?8(Nh_$M?)C_;&o^7b9-gkXoRd>*9hw`cp;&mZMix(N z)U!!|pcyldi|e|Bcu-B?MT<$7Qx`ew#UnbC~l_OidyN9V{>x8X4Za6Y6{#hgaI7?8yQ(vMsa#)W6 zS0)}-0ZkGyUhCP-5LLt#3YMU3rtOdj#p2&Ak?)E}&wWf^SgT?Ka* z@DymvWLCCF+&EfUUV69IelFZb6{=b64ft6hWNqYk*xxjAw|y3>MTL4`TKP)*zUy+?CA~1^<+E3Dw zQ7%-4W(7T~B~#IySVPY=w`7&3{Z2X~m2EG{g(~Z(lB(?C)|J(`5>a}3r=UdXmnk1D z2%97yTg|)me0|DEG z!wLR3pzqO8NzM%FwpGdh60{x7uH@rK+4m&5AD@E$cOq|i^P^)V$?;k3@{rI&H&j}u zPMTmvOtWHxcZshZbzH3(ZLHT`htEXbDan)RQv|+Fh{=1M-pHv7M^Y93NTZeIP14#~ z$Wa#!b{B=mOKO&Bu2BpA{4_Kl+h**uEElV;8<5eIwUO!9d55>;wQ9ZX#&4y|W*27d zrsfG0`kz=y)-Sp(c)!qD8eY5D_;x!6MGcFKJs>Nx$J=VCF#LGqZh$sle0|6L*o&;M z)~sE8zN5-+g+2aKOM5-e*n*>rF1fowphYR|#?&^Y?Y^7VVWr10!t}@*6;)l- z@my@{VeN6NqNdcd^v+P|K!m!%70aZzb=(bPyE@cT27O{oHZ4w`xwIB@s8gMMa&}0= z!eG6%g{@muYPyviLib9E=2Un0rbx3vMY(!m$=I5m;r&)CHBd)gMmsq#Yqc4!r{+f{ zO$)HHqI({0pJFve$mRKN%Gn$wiP8?F!&=5rV1aF0WBq~c z3k-S9k<1wfKM>Ed?%z=E$v_DAF3RQXzaSsssrDsh?)=Mo4();K`&C%~H zKeW!3n~ZyW%GG5oD}VWhz2%4ZPdB=0rp4i|C^=NjH{hJ#{KYI>kKPVfr#~2K&G1o* zGh29nL@mC3-)Y#Kp=YzEtF%f+ zcmi9K+F5gZ-%j#+x6NwhwsX)Vsds%(XaxDh@Ju11pK5FM;`E5Q+m4uDz~VhU8D8&( z`WxwK6!&voc*MN@OeS|`Ce-kjpDI7TDK*KhwlS%$W>`b8SdNZlXa_A;lZUssW_UaN zK>KM<$wIA0C~5CDVlt~WtyJ;MmNJ;fh*e~b#JA)P6-L}@Dt1^jtS%k&PE>?*M#+0? zA$eN3Z3&hpS9=p@nLGMhry08S$X5VhL3nbvsYYUMt#99Y`McM@R^X;5o?dvKL-9>0 z?S<>8@=1|*NkVC=F$;FBxuf^GTzX;F5B)kC@U;bkoA~SX54b6NrZo6mUBN;=8>=T%~RMu>HD{EKhN$ws;*(BdXr}q)Y2CL zfkE>M2=OBLU6gS_pdT~2tC_x;EO8v}SbEa&Tea0x=;!6e3o5TJrQ6WXYSK6)7XCaI zOIfWxVJKFIc2-fostKsNEVLuLKNRbNP{_PZ=^|gVCYT2GkE^wngy0P-{`NS!U7Y}R zVR}n_$d3^W;ia*P)7+=5R1;yCiU;fEa850IIg|rAFTMG`gH8q~wdmAJ-bpXW^rKeH z5Zz(5Pi~0a6S1Wk@u_lx1(Tg{=l4bpoOv>s!S0B$Q+3_?^x>Ahf1q4~xX%G6l z(_|1cU!2ZyBtcu+%hMkbAuJB&Ur5iRN#&g6iZff!foCtbB&a@>uA!^{$n?_Paaq*J zE)I&4jvd3dB>CJdk z`Whi$b|XzQcFp^rcl8zSO`{OHigV?2 z&2oXoQr?*KZ@y(!5hM|A@5GMJfYP_|@hW3b@yRC4*^Q%$XENpVLC)KdAv!*kS_6fp zhrWO+dGBC&71*D`K3oCam81b_B*o#ggJ{Q$N?u6An^?AU?CQepxQ&iB+X(~Rq`Q;V zQ{6%g2>$C!f3XNdDxxCPOqQG4%#yEkYp()WoL3zplG8N1vgxdK0?9Rm+Y+JEv$I6P zj;W;J#4U2D2Ri0ko!U({*TOxb%Wv024XWduV*TqAkTS2nI!@o$Drgt4x%=b5yFC6n1M^zQN?9Uza?WXIChZaov^q+(oTz!DGtgK#_ zUSYdK*S+D+EtF=*{ax13CQ5eE8(uS^G>or~&AKYX*HX0S3BnZ7l`dsI5-$-bVX0S%KNM+iw3{6`)vt5Tv#+=^Tq z09|VaUC1|iN3*Z@$jw`&TbW!&s-62EI+9h>!UL4@rFE_?{#XAmsM^O{Rn47OvZ_-N zPUyd_3U__guR;iqT~;jl!by8{X(7slv`KT+S<@LaK}D*b&mP*)$$bHC9(}ydJ}?!k zVUZfAAvIubeuY|2J4?)ipHl9=q|3TQ!V2rPgR7-(nOJ*wWGzv$T8nt$^7?aMth5rc zK0)uYNQ@v2IZw0(>NO0=Ip(F{_E&PZH%Yr}EG*426)C$KvKI&^mCVv>!caO%-BsN- zS_i)m%DtVi#nx7@)g~8cFMrTvz1tBMnTD1cMN`^}^ngD3S2D^czIwQ=v3|h-YgbfS zL17^rZLbE1wHLMJ<_e^D{A zUpw$Cn$#LR;-q(@!aDtmCw}kjY@S{j%Y!WFS0bkkChjD+mPz6SDdL?uU#(s|DW9+|Lmqy z49^UOL|8iq&dN50dxR)^HnQ@(DWwnpxILN=>L0BoA3Zx^Kij#?pR>;7jODJI*9126 zez9jOxAZhuo&MtEU;U&Jq8%<#(N`_s0x6}6@1lD2OG%6`Sr zgOqkFBm3-$4yz}^77B&&!g;iZ4~xii6CR%D$Jy*%x>=$h(KFbxOGK{rhTt}0-MM1% zPw}Q%udqNtpAreHFsyMN57TV1X52zg7U*l>{gSy)1Gq1Xy81uXFI^&^-S5aas=9c2 zTuNd~H$K^G9T~N2gzi=g*5+vI<#I{MYu*7>=Fe1#t@3$Em4%;)mAka^PkUw^;8>gt z+B=?%(^&`^lawNKmL==d?i%Nr5-qIAV#PGGHz`P@wR+t5DmA4FsW!N!;*Ae;uBPqA zNA3TSPyWQmq7N7KebI)$V)Mlt?V-TnewMaTdkSM=O(eX_=82|p_IJm%xWcFqnkLylJrJ|!ICW`z%x}jINb9i?}|@S!NHtsN#0ab~## zS5xOX?K6Zy7xk0@>Sr4^U>*ft$KNqpfA8oZb%d91!A0jW%gUh z1r-+lwud(1!{1@?mN&1CFTRu7=$`&$suq#M8cnGb4lk}V+MfH4F1FL!PWf1Cb-LsO z=!;(o^9mak20Myb>+3U^$Auv+F85HQ3Wo5m5xBEpDGN$xY6~x{pgcWV;-LzM30fzt zD5)&*uonF;{J^+90gYEzqWt7c=WtNj^U(dYq*fD8MlE6)x$B>VR!W_{KYfqZ@eQj# zCbx}RX~ef$KKgpU?oNq40E37Y-dzCHIS)zN1T?^`au50_fhP|Dsi*s>@4SILKc?)v zR_WD2=*)KL^smdI>jBehdCjjc*qjYX>|f~a#pH4OKqa+=-Y8aFDti^>WVuI zi}FHwETb;`vM+~9Zg*;Z>g2AOCQ^J13NPdc$<|aCw8_)Q$iACeYRDn;+GjNFa{>GC zLwwASd;Y80-KWwkH#G>f^1# zoaeTMC36}+nuI?q-42d#eo*O?rR`w8eTid=`VX;rny^{*>NBbalkeymr+^{SlHPy|i)`KHcJ`2VuP1k(m$qo0eqqV-QEJ7QLmE3SN)u51)~tS1 zqhsmKh=yQR$!w50Mdl=#H$$p7Luh<*`bxD$T=)p}MsT~Xt0?@Xl;*QxAYDkrWg)4f z=4zP3wY<5$*<;}p;?^mw;A1g-z$$$OlHuG|F=vZ88QAmtsVDVOtrLO%us0?`ojcSP ze?rNtq%4#Vv)Ji@2HDZ2(t??)~!etCy`lr?=yro&0$&e4f>D&duan zrMg$2bLXCpbMD-iBVYQilkW!k_RALnQiQ?Irvl(97+`g8UORe?1Jj&=IHeqAMR5rlGe;r2rbZ!|Z-npz3-Je9`OFdBS(|31Z zKq%eQpg5h7ZAT|qy3o=^h5j@b`qSk2Bs)GyjxVv}OWkV}r``i@T?qwcf`rZo+c~G- z0=91WJ(XOqVB z^Sw7e@6F%i%p)bs&Kq_VOAX!H>I{EGvanmZmb+3yJF+de%9h=D$QjyfC{ZS<#s;`1&E6TO&9jAgEq~c z@0@$zdqdGl`m^X3s5HFy+;i`{|M%Q;&pqco!?ehEkX4=l>JVzlfML;Jg1hStc3)%n z9cMsQ6+x=t099~+D>y(E9H0s!^mQxkBx%YUNfV9*Cjke@WC~6ijt$3wlYx_klY^6o zv&`wd<(D1lXKx2h1dPx=`l}?;-VW)9OX9tprAa^`i$++$mjUtw*+G5BBVO7^10%B| zMYsa}Wifa_qt|IlP^94vQ1%1pi+$vH1G)x#)0kY|K!*C$TYiNQNPJ93NB99G^h^6N z8GQ>SI9$AgelMp=4)W%b#<+rGJZoJlbqocLS?Q#iHf_@}GiKJznR&Bdx@M1AG>Hh9 zKQezOl`fY{2dEd}QQw->CkHSqZ(tsD_5pmAoc8m8)~vM4Q|^XLIZm|vssvs|p#3}t z+Rt;$n#8Q3SKN$D6`o>LNsBAohX#6mmW`h7b1a@fNP|Z*aI$c6a2QvBlZIo%Nx?}< zF&D&J5l?35@)hx}hHD}dLfH_?g-||(3L#{LP&$O{5K4qlDuj|b4NaQQbUvcVK&$F4`Z<^Y z2fgLD8JHk|E9O%*3HJJmSQOtv^|yHK7cJM#S4;&-lS<3idA-nfwtR{S+bIXnot&r0xFSBT`Z{K&I1D5tRMT@aIZ1@SJYd0ztWBjSBd z|32ftE%MtlpFnX~H zo|W5b8A~6;1$`Wt1i1pqtUpC7f#(%aR!=2mVp)8J0!S8xX#xB4y{ouxh5C7P2r67Yy(&?cNSEQVLWP;mUk zjA6l}_@Y704pI`Jc6>cVtSE#RLtLd@kLRsIRGIy< zH<_jWMwmcGdBF~iBCtT!^eHC^Wel1QL52#*8QH%`L3>yeuz4T>gLeM z>*jeufkElPcQf3B?^5m2bb+ii$lwQP2RxS^XWz03KZyo0Q?#9PBdYZtC~YZtE?fvN z@$`RArvGyscu4{;@yvgY-IwrCo)=S461Fs-rCMRVfz9RmP~Ks-XEn5ZEyT%6J1e=L z}c0GMwT5VLy2d3m$}C9`3#W`YJ}@J4z)Ab=JmPUAOPNWnm+(hzPFtd_&R|f zCGb@O@LlK8oEPA{2nTFfz__zm@*k7a26x-WA)`&l4KMf@v0K7M-3XyqL+FhVdM$+3 zLg<~4;5?6`NpQRAwRbRwqG0SW?IL$^yU0w%$I{;)bIgFm3~;xtOSi3ax4j_U_5ufl zQ=}GA;1F}Qhj{CfObp4y;G|n5=@x9HK?Q371UV@C!aaie)8s3IdRDP0h?4{c?2n{O z`I<9YKF3TwVbqKxBv=hhzyb}(By$Qf9Z`WDPT1-Jv>Gn86Yv0!`#O*N3+z4*cKi_U zxst?S^cF|)CzH$}GK8a)%9toVqa4MiOlAkdIO~T$!kCuH=~QW8JHyh`Wpq-fN<`2s zCmj0mS;WFg)xvp|ybLy=PF12ToFpxrD=qLZK?>951v&^>+}kfmt||1EOAI(y{)J=# zM<*9f51b;L5;??f_VLu%P7mFS{8r(t!QtSClArSK+_^86@~MwOVJBLkhL$XUlQdEP`+ zAXl`^eidIVTJo$4`#lsHN7$Sg2~}++8`_5|VLklZKm?;>4#43qIz=Z>>Igc-14fr0 zkS;&Kfe9JT3ED{D2?E*hfN*WW`2|?KbTmegSH92lC3u3zv}y|6Z)5;+?c|h!jj@8A z9J@4AmE*_)n-_J1kwBTKp2hoqFu^R#MUGQvLP?$_uV947yROj1uF!?p!-W`}kc=Gh z(&E|Tskl@uxf6raG1!j5DP7@}7&04!^EyGiQkfW>lY$H4<;Ba0hdA1?%V8;3y4ra~ zqpx9=ykIBQ z7>g8?>;StH>49)b-z5uEdH2Y=J%Eh{+p?@(D_!B4ODAsjEh&hlSPr+xG9{&K*EOmM zrDTbhHvz$GuYtXqycDDtECgfN>g5$(*144_jGfTu2KfZ~j#So34iJnQACx^}f`>*V zZkoI>A5!+Ya}H7GurI@S$mhO3q~s}tnPi5w%tg8K%p`FhX{I^7hOI>JvgZRr;m^Ps zkqngA5N|0YZA;ueORm}-Cphbds!l_y(~#;kd>K`YS1B0JRT38bB6p<$vAOGr&mBca zP(6KE>aXKW5kQGtpI}SF*zd}rz`sY$JB^T@b?pHuDKnt+&8UsBmv)0Bjgc4J=NE}K zCm6oJ=;sys!Ey}0zwD!q03Xr`9zlYPBsdX0_c+ix@C5{PLBCn{b^7HX%(^b6pc_v_ zAScjUc!N8GW`i#y2FRBA;WKN-2=x6D4MiFk7H(E?65-6903YIp``0tPJJCiWLwuZ0 z9}b0lpBNa&_p@}IECo&9=ffn$yDpv2iMKqKqigkHGA6IoAmQ{Hi(tP5YUJAG3)gIX(2`Yli zaVbWY@2Us`01@-2?<1^8x*6Qm$U?|_twy}pD$_W=cUqMLhrnFpRj)6LDZdKI%X{2k zt1d5sRZ8<7i<2jm5HWZ!Jj&fv0+oX1&{nbNC0~6FVPywGE>q(QArH68{J1=U4tfuc zTD0$hMxsiN_>`vtCeXd=DHT#B$PP$=%i;$rQr{o;ZT1%RZ1gFB{vZE-|Ki41_ka2) zzwdwGr~SAl=C`k@X}f$bSFr@ZBGRyxuOvdO z#bk%M3%4tdhy<;5B49W9_mT+tuR*ZF0@QO}`ydfGOD_caNpg7>ROY*UKKiasAFOiK zZ%Wl~+CnpEOB0IWM)YDWMlaU5No#qKh&8?FnMSSg5=Mq;p&&&Ry2P^?Msg3F-w|2Cgv-JgS9eN=Prnm9pd7*b&TCxV*Eq}9_`-9W zI@^68lJ($eKwfZ6ZDUXKHO)EKl}p-lMYqVq*}2#9i8X{ifR8q}tB{Nv5XPwSE4A~4 zg)n8Hpn6nLuI^I_G6CmywnQ96L)_vl4^o)>^8^7sxDuc_)}BPT{RE~0!3YL&7XDq+ z59LW!9&WDGP$kV3mqOZmehOf3SSMN>Qit|F4UB2vkOmHDU_t}O3FtFY)RNQ0GY7oJ zP8U%-7Tm@ggEjdaKXf;>TeT`^5weJiw`;BqP;CI!&z#h`}p*Dj$p}!#x`kEHr{re5w`R0zn$jV zc8GblvrtRe^mavNQM-aXD=gWn@ZHH-%tP`h556-w%ae}J3_e7!_af&>&UsREEA2fY zx67&QSv6xSARZggdi)PZoEml%G)UE)*9T z7$doj3~_s&kfD8ItIQChEWy|C{MTtG`iAe{wgG)E$!OnW5m`JXolwk;sc34BcI?-c_Qk_mtr0HQq)&`OVPe8_i~ppk1q4#HfJLRn`<$Z zfNN3e*f0g>Wp@2uIJ+1E>H-aq>QR8G{@pxzeh zW_sVAl%`Dbcul(MblHYr4PiQkq9|U@m=WsGT;UorHcOMEUEwwCR?-$N(JJ43c-y%s zPGj?VkdMyoXK1~OP+x@B&tyfu&_@q48&2SsiY-Y%VnKz6L8zp{)gCHv5)lgjsY=H3 z`au1PUCE1n(Jc^DLljkIMHDZdt?%|!QiSkvCCaqCBqUMiOi_L%i+(7^P(_P!Ms7;o zMVg2F=*Z@cqakA;rU~yb;C)4lZ!OS1-$j9fM(=V^o3$DU(NOeJ9Yx$4LlPOmWZ{uy1bWez3@pwdib{h=oq!$< z3%-a&Q1?LX;{tWnjn99il{I%OwpRFp{Nc9#sY?z|LAkN1;Gc37s2;D{hI=e5GqQ0~7R9&=>H zlwuCf60a~hDrCgmbu(2BTp5WnQ$w(`8@rq~t%1CtE`3TFD8pz~kg#{+CmZ!+yeX#4{oyD=NS&_8M7giUr9V-^N(XiG;T?5RjY@{wq(B zmPAq)6wO2!Kp7#b6hm!|Qt5jmmC|xFg0|&;Duq%y-4C+@!9Awqjb|Yj8mDPpcA&oC zjhCGq?z?J)q%k3OXWUlGzszrq%Z`R{(lCjWF-*%(dg#zzIDK%oz}X7tHaOeh+z#gs zIG=*!!zsh*hx0RVw!`@}oIBy{fU^_M&%*f(Ir^LjcJs164z*v!wMP50@XAohD{A)i z4ekTq&l{$K2nQVt-XBD3M1e(L;V~YzAy>D;(Y_(qCZ**S>W;%$3&9nhB-|s1_4$^y zo@H;BXnGnGNK0^m(h^+2p#+!bPF#Wu1h}lH;oRp8Xfd$@%=7?f47oY8ocFou=vk{b zQIz9Sgy6IK3ZJA`n9X>K9xq~R3U*>1a~LxHURK*`c_+Xt(BUfZTI#OhA?4qn<(S|L zWv`{c2P5!t0_D-*zVOkyihP73A(Ci87EG>wXg>u~X*%`nqh`KroK3jl9GkiV(; zg2OeW|GZ)#jlPQon{VNSMYG`qPk|HA_z2{}CdhIN`9GgTcY49wqRS&II#a}rXD4aq z3XCO)>0egXq#uD&hFq`^J4}3Is87G$a1Gi+f|Q%E$`+J+jf6|ETUFdT5m2IZDtMtQ zNM{5NeydPbM;|V~`_W6?!Ry^QZ3te15=4Vb{|dL!f zz$wD1z}W+b(j<*#hAc@16?PNTk;w^_e2M4ZX#(=BqI9mbyzT`b+mO2B3eQmDhKwfY zmYj$MWeHS(WS${#wXPwO5%s6i(+0%_wwMwJE!N|L?{isnZg*I|-?FSCvy||Bp!mE{93{%qgKonEk3M#PO(=zFd{qA*pE*94+kax}%-}bR zZ~e)@k;jgw{@ITI^P{s{A9(P8|NJjCDtGEZwIjl~C7|J}l&@80&d z_s3WM%YXbg!M+oJ{AYjpjn2RS{hq<%FaJULuF|jk#_LOatUr3hG$sx{HM>|@Y8`D> zo~kcarkc$ol}7XELUX#l)NE8{k5rbPYF2*bvCltTSv=aDo}HPch}rogyDE<_5`Okb zeW69E7MGg!243ZE8lU|;<@orq*+wisTiMMhdny$i04Klvbr5PF_o74wlwW|)3W+Q1 zUbV`p1NI%>-QHfW>Uaa*F#jKeE2_&Ey?e_kZLEK=}i?KF@&_LKY+6nS9;A z+qlAot?0s5KFP;!@46`)_u=g39ou4SHkd22;aHmb+A39SJK^mhANt|M8dKVBCEJGG z(mrp8x5ELn4SPi@rf&aL8+#D_yWK7nkgS|iO7bg&EbW7h8I4`Z;W>OdOLGZlMmis4 zz&Mt0P{_0Tea*q2Q?N6Hb{vON(H2P0(h)Ji59Mt~qI3+5{*qZc3HAm5A2p4KKD#)7 z(_BvfoRmrDn&t<| zmxVylS|Ni#`B7I(5?B#ZxZlo{!^m5I7^?$3xKISA;VuQ^py!yPJXu$mUf59A4~Ek= zk5JK;jugW**ssAH(Gb$3^bE3Tr3NNyWJ={gnR1Ai?z0mD#3!xxb8W0FEB1W)mikGV8EL;XUs@kyy`%M|X^CFk zS9JN*%U;ntNCVrznS+=Vn|!5slfqHd&rwToXyHNOTSUKLCk5b=YuHrw`4Q$rdtE=AeI=Gw~a zjo65?TTa;OLS)+pOz%U&+jOzt;!*%@u}M~6b!wNz+B9dv09jaU0BRohW_rKgkyUiCO$Fh$(slW~(06DCstBaDC2`rz=G5LR=&q6LkVG_Q| zQj#fFBh(QP3z-ktx$YbtRR{;V(re$sz8^0EQj$}ih&tmnR#H-+K22LE3_dCMGhr*e z&II*??wpdHV#B?!aNm94E&tF~hJUscN8AvqgsJogsCtG$@GQ* zR*s%=)H7lPSYSr)s{9-~NgNjg)SMl#q+=DI68K=+Kw!Z{@cUj+#eKmJrkNkf-M(9@ zhW2<$Xoi*6Ih4#2NaKV&+dqH;_ZF`+3Gr-J-k3pwe)#+h6D!6jl>wssOp-cJWI-H} zfznwlc@jzkKPFbo$}$o$xX&PD~D)r`-z5Vw3yr;DalXa zu%;_Sh0}hv6s5coC4RN5&^7%iJ*A&k_Huk-gmzhu$GZ4_uYpEuvpU%jCW)`1BM+UP zvNoN3z*4=&>eqZ9=SW1_QC4&*n;fUd&XMbNs!k$dB@zj~AS_c{!UZeF{1{;=oN)1k zf)i<4`4)S0;)3MIaUCWQ7ZOY$F367}vN|Hm9Owl_O(3aYO>Ue;i&@Wh6At)W3OR0; zNPQN?Q4zLj(O&`@O9==2Nbn(+Z}6e~9BrG&gMP2#gMu~nwx2b{psi^JZB4)KXD$AQ zpS40<+aEJa0QK&mwFj{=-6J}S`04lvS!PqbGrE+n>@*T|WcfXpYx<#Hh&Q8!c(Z_G z`0yeN-=TYvgE8LQsk)ED9Unr5V^8hjY;Z0DCM z!N;(mX3FMd_GfIHP@+*!m3Ut#(m7@fWshMMBvT1M;_hyOSB#03kEeCA=B-#alZ~Fi z455>cdcA?j{oS%{cbyx%1AInTmx9CxWi)59Sz1X%=XZaT`x$Wy*e=6<9JAemj_C3} z87FSiAheY(DC7HC#kW~FLs_)@aoeaa%)!2=HO#Dn9xrZ`zxkm`P&lCkYi>`MF{Nz2 z$Z1D0k>E1>&3xqpf=1)$K^R02NT=Ss_xBH=NHe6`k zF>Wp!!FkmLs)5cSv<9`a78E5WLP7YF7c`1`S~nD~XG0h#m!LraPjLxONN!w+@=adu z6JjD|iuktI4DH&?M7q~>(%Q%^tqtFBpK8*U@6aOeJSBJC%<2fN@{vN0_hJf)DX6A% zsv5m!o{suqtVJbr9vC5=AK<*QdF7g?vy4N^xmd{p)8w)oiHb52n5IE^=O4`G!2m)F zmnMg4E5lh^o2e4>y??2B*kGnFAkN=WX2f8Iq$AO(Fq{R;c9h*EcAtTif|*JorN{B+ z2d4~%g$2cDSiU7v5TraFlkiyExK^5&M#7qvEm6|ASU8RirM0na)l#G-nDDy`RH7`3 zNh{I3y&;7n7%_~JpT#gDhO%QA5k{q${ada7Nw@6Evw?$K07JrmsmTKdd{;?iYaGv>!_(LmaHq0wQCMIF@CZvU2+J0T) zZ{l^Ol~bgH9@q7d>XJhon&fVt(0v*{q0KL|Z1^|9bZCU@J|aJUy1~t&a+h+_6mQ%c zSN6e#)G`{Rn8?LoCTL4~Se8_c8ogLROA@1NqWPr>Y15L%cX3rPK~<0vjR3^CaEX<0 zCCo#zECbgW(Nmxy2J1^9ud(E2LWnmhLeLIwL1=&_=V0|acA9ux!lhXt=1p8N&d3A2m< z)kx`i`dMLm%?_T4*g=?5(&737M5bA0v0cHeh<8!ED^SjQ5Vna112iG%%-<{OI5?aS z+IfY+pW6j`8_64zm8gq1H8ve{D5lpkL#oZ+MMIVJ6# zBm^Y9kLxizPHel+ic(GLP2%mFIZd~{;G}NvF!Q|H@N+n7{V>mjlPnfzI^Q|P6LE}= zC{%A2j$C2PWfa@T;CFbgqX^A!tcD}Is*VJ!PH1eYET(wjta1jcng*;w-vT=LMEnw& ziUqlGsk2{>D-I-VN(C@tKUND|W)#BA(jmP>R)59zT-chGdA;E6IXXuBlTnlZN(WbVHQJ7L?@ex zpSNv&Kh*Luwq6jctao8q;fPD6jEQ zUgJT$h9EfKn>MJucG&_+Qt z&Pbg{aLVFoxf(ubaf?>H&U0h7qZaAL8MR^2ZNRTG9~5@Byd3PNsw9?~Qtk1z;>Ato zoNs2L1Xx(I!0u6gNiAs>N8a>>jHvmha?z1s_y0=Xtt?iGj;IUw8Zv9d?688FUL`n& zi-DFO_G(Mt(ZJRYOT48=zokdBl@(n+Hkv__K6YQe&(1?tUMJVS7hH@$rNZY0*L7yv z=c#syFYYFL?3C9&XhBIoH~~vAmVcZGD|sTUUYK8; zpIO>yTHbTbb%7Z>YKHupCke5|!dr?*{?9y_u$d$_slvF5^TeQx$&iW<}2`cnOY`6EjU z_35SimzEZ0r;aT(cil-DesTZeqs^J-Li5OUbKowa%QO<)zkAr-`*XG^*bw3;_3mw>a?&it^k}i& z(LJ&|L{qhWH;z;^OL+bz;dTzQ`}7y>Uf7UemcLAkgBU{EU7wDfL!;Sq_LFAOCfmS^ zI?h(clG^yrW{u9y^GfXG`?m5qrsZ|c^89DPHCMf1Yil`M-Fo}DP4qgH_87nXlyza@ zWo;J@P8HtjW*xq9+OHviyYiom3xgOu6ci}xCpghxFQOQes z#=XMU$%x*oLpa2oPQ%z&^dCCs*?r-Qrt!~N7x3u9{L$vZQmaDn{M6$79IdTN{YWFy z4_s&-ovTkb89b92pUUS@{zglYW7-$VYh zN1ptI0)Epp4*jhQc+By~SeRe}>PBXnZ(G}t6S<^-Zg=zQwKH6bIr2gx{fjfHI&)B-io((3xd1c`XX~0`J6rCt; zwD@I)IM^cc+YOIz+0?>#Yj;|m(bmoFjYW*E4kWx|dlKRcd1nC|ZgMVQ^}nVM&|hQTj#hUC zO7M=~BVz(2Dte4%6m9Da!u+ zcF~0{Ui&=1)0?vBBCS7#&o2h5VFEZs+lH~ErOeInGA~xn@^hlQ)jmY|+scwTW2aCn zVyen^G9>AtA2JY_HrqY>7RDk)tsD2Z(&pJ-^Bp?vw=Y}h0&hDsF60t!e3xBxxO4PP z2xGl*C@E9AqBpLuw^+yUPP+h8`uHQ3B#e^XVduTO93DD;SE=rMDBptI2lNX?SO~DW zL=c2rS>Wqi1;DXe1q5A3L%CQMnefp}HX$e_AcEy+cyd7?I=Qg1^k$h8UL9(IlLUv8@I8n7d${eeqRIDOsH0d0NV*3?ZQ$x7fX?g|;TUkqz57Lnrv zn7~<8cLMLTV*zoAD0tgrsk_)@@t>fB`Q+6E3l878G($zzsw)0V;E<86X zT(0s)Z2NCOEVQqeElmx}RTZMaFAz;|K_(zEd*9(R8^k371Q(Tjj{t>vnU#7jfrDh- zP-f-mG=!UIWzNi+ULW!{^Py;0dXq|L@0`}zJJ)Nc*hH@1(3pOM_DRMOZx~1GI<#a_ z^6O=`u(>kJ0ay5T!X=&?nx4xmas&MhR;z{2FVP4}c~+)z1+~S5sTwQMWcD9G0;1TGnsmY)iG0 zacp^{4=wuG7^q`o(63nt6;|v(EIHMSi-0XMwYA@{RNlD#3k!0z1{|#bhl7lklZC^Q zRwpZ$Bn}b#oJ~{J8|T?d%L11Mi7ZlBk|L;qV_&7FCd&F?&noSgd-$>^VrBS3?kWyL zMNA+%7QCqW8PNjnoa1+;pL4CAjh4o?h}+}{VW*(YlF)~_S9=tTuTwv4Z;4eyr}|s} zSQ}=AmE~ZqjDdeg54W;Oc0{XHw9~?n>4cwciqtbhSuy7T$=nLBLTd5p5YI1?6_Daf zT4J-Jku0ZKDQ-j;vRxq}gzHJ>sZdmT6FiKVA(UN-b}--^4Uj{wC!#nYw2!mSoAOex zodkiwXy1_4!B)@wDinq2yd*x`35%v4Fp0F+LhLsQ&SN$)RQ6iP`ys@vhUr(;+eGgN z`f`ZAtk7RbrpuDqt85w0rowFGjACzs6~=_-3c!k)li|S!@yu&sey=I?<3PU=qTf*H z`+&X{R`*&|-8y2{!UxvW1CIdxPKbU-p??$Tbqc^RSJ%{QNuqU?Xg?C&2%qJ?#5wq) z*UG7VmX5?1nX>JK?jFU^SS+8*Mv=Jv=R`RBU(6%X%Oc^}$%4zy%Obzr$yS9|nXKBD z7-m!2OIV9q#I{q>qn#{N*eNQW7<;xOrDu(V*Lj6er-hX5EaBz;Z!>DA)UAkYuW)qd z5(;LO%s1)xDcdHLkhYy%Y4nREQWQ{Hc~vsoM%1tse?lkb)%tpYC{-(rW7Wntr3x7h zLms0V`ev!~mfMTkzE$dc%Vko7D!wVb^rqO}W1O_@`A+CHw7mAmoIg$nVSrM(FqMoN zt~9Yb2JB_n6J0$b1>vnjE_UmXQ%Xw=vnmrq1GXc?G$)4c`ZX1Zi#^O{4=906;8Se! z&Mp=yCFlo{R;BhEx69l3*^Jdy&p2M^dRaaJ5?l{i=3nT^8eI3) zc69v?2!^3j6~*Z&TbbL-j+5XWCqZ>iuzpoSlwT6CAbn5XVpuD6-u;Z|-a+>;A;qYF_+AF8^1 z%s0FV6T&75>%2bZyiBNH^7ZHiR?l=;%^^7LKxpR5cPfY(N@Q`1Sh6hWbYf5gJkuEn zWe^agYd(ylc0li@^KG9XzRA7Lmd5fSl%N&K>cbn5miseGxr{3J0hGixlWtP7LYM|Q zxq3=Va4$?^x`p>)oKhNUDP!;Oj=<~uRd*(yoq|!i;z(HFPuwZ%3>88%0X&(H>~%V= zc;I{Sbb*z(iAziI<8wSSFM+{CW9r+W5Ycax?c`>b z8Y&j=z@Y4sPz|#Za@G)4G~ve8y9j#iG&yF-lM@&2OA9_=uk(>MK_W<+)cJ^;)cFWY zzQkcxLO8ii3Ox}h9{G01`hkI5IR`8>%5CqigavGqStZm>C=$o!&iN zof;k=ZR{Q#uMQ1P4cDsEjp>=evE9v)q0#B;$nfak@XYAUOubs$Jv=l#GP8SdYN)w; zc(6J+-WaWqRi~$iMrz}=vGI|Sp~11~;d*0wtWNbB8ysrRj8~_s(=$V3&H89#s@fPG z9G|Yw3{LGH8k!!Os!uhmV^dYCU2S}9x>g;ljgOB^*TyO5sp;LLl6!8A!I9zd@fy{#xqEkWYN|Fu{W>Q}=8lx_n zo|>MiHb$mLW@bjGnqwpN-PDES&C%T>jcR>*bh<&^x_hiqr_O7R(in{lRhwgjgVYbT zT6KJ;HZokFstwo2hilWr(>#r}=k3KwqDQ zHi7(mDS0ox;!Jf~;`eRhs|UB{w2jkL!~es^6#Bq;j%sHb4|IJWc9HO(RUcd3MeTc# z%GY11uhZXA{!+v-uFC?2pW+Y0K4sjaz8?{NGT{h+47NhKJ;wc2p|}P03D_@lsxL8a zp7YUV;oq2%3+r{1b81nnJc)k~$37m5n$8f6e-nmB&*}E>-SnFd#-{B%z_nQ7k1EV@ zDPu-Hme;Rw+ZJPajL_3n`m6EZZtmAnoK?#PGxs= zZ*FsMW^^t}b8l`gcx`MTq8I=upcDWA000000000000000000000002&y?t}sxX~~A zcW%}F4m`>q>rKhym)$to#PNBwvc1tBTlQl~yQySTcOeoZG0P!mNseUYshrP#(G7qE zUuFg%0dhuSsHhX&TzhC{o|If=H@!3Bf z``=5FWpr^F-HE^PyO=EKt5bTLCvld{^V#=V62E+c--@@M)LwhJV1Kc0)K>Uc9=!IK zgY!St+M9hV|MTJUU)0Y}f&=AcY#>`L79_o^ef^0pQ<~8@&phINd-mbf`w#}+qXb*= z!r;qUt(hmyc3wW=gIhb?_uGd%`>mfR>7%o|ET@avw|6=H$3MT+q~RnE^N>X0zbOzA z(_1f$vz){}^^&=lUsLuXrJkSCxgK;+UU`1Rc%nf&e!nCsSqNHhNVK8{ug+PofF%Ao zd-(((F~RJk24+9-zO+F4jxrV}sh7dOfC-LF0>p-@ODw*J^fg*|`Go&yK;{N^e4-?v zX%{(8@l7@?l6%WExd{U%8FP~5hhCh-kA31_)8NpXC+RIogU3l6-Fd|KX~vLA7(ywR zroe*%c>&3Zjakqn_4|8BWpl2VRPsqa%&b06;XzV=sg~r}IO%|NEoJqz)cRHsuU!`&ODo@#54(Dal zywzKhp`dx$3PoqWilVzeGck)Y`FKh_!u}s8-XdZD;(I7!@E+3%vIm=J9c3qR{?&8a zpm_vjtxYCQ8QtVEqCY>=6Nn17M;c9f=htE8Eogq71WZt)$m4H&Fa1|Bd-CNI|CPsP zIt-S^0n7msGvHHl=M3YsJPqTk;XoGs*#fw1ZWqA?8z&n8TW(AB2eoJitO%x%SBT=A zO@C0ys^(CJ$54j{caj0G*&47Q(WFD%qD*pn9ximv)ZK)6w>61`_``h8toywNdY9$- z?3Zw<2`)U!!S%1hC}1j5+N}O6Wq%3l%DG{AM)Py%=uz7<_>1ly`%G>dO$os7)eSPU z`c0A#{8{-46*ScyhDv6qClQioc<=uVEXGXF1a_-;#_5AL3(9 zwJBH`G~r!B8y?$jR{FHGV2NU@OjSu@>cPJ#N>)S z&%R4mDcfQ>2SQL?_}Y?$jZIq-d_qdtp1d47i2h?QSpp!0Z4cQW4XQd!iU7xn8xW@N zVSkGH9ygXa2JbRq7^|abf%DI>Sm1WG{x&*9+8AJa1|3KGLUw#j;wze&_%~)aJ;5+% z#9?2-%(EawO%J3>6Q97mYXc9YsyKxM3sr-;_p!B=4j#zOWCENg@p7fB@G5RrB3z_l z9H72n6aMy^g3APPSjDW1=nlRXrdE>HJK64?^0Mn>6$RcUdlH!seZ<&-fQH#n{1-Ej zt6!pjhzS_Bw08JIDx?)q#o0_WEJJ`9E_!Q5%cEM!Mvl;qOUI z|H@Qnr0?iqBnk=lu9MqVju)FgP)h7y@87JO4Bdp+qBAa~z;pNmwjYDg{E?(tPl5xm zWWW+2IV|*?VcDTaXIC@t;HM|h&7)_}zWL)fPyhIbXMcG5`xjsS^yC27r-SEDpFMy4 z^sC3upPfJb{hz*m`uBrFL}dxX3P!->ZIqDQ0w{B62S&Y2LZ+1C6&_#;P@c`6BKhCU zzS&H!moq)#oaXoB^J}`yue+X{Ey(9^v05-q#2WFK#gp8&@(%adhzZGHlgcy}e+9R) z`E|;0Bf6{no6kN)3(L}h#72a0Gjh(Xa#O7bmVAAyTe=q9nd8Beqvmw1>ZZ5|V5O5vAC zL6G>X1^da|b~Nq4wpH4ZVMKB8IB*6x#6(oi zvIipLW11{!n%^0C=lNcU7>C)l(Ucv0vELBPtVTILDxIHa=p7w8nziBCzw7u2In*e&54 z-IlP?RL>QGTkKh31ac?crBI9*1B1J58C|lq??3^(^sS!PL2F?T0M*mUrV9qK6uVj!TWLzZV+wQ}r~zv|bn5&#E*bA%8}3$COMIo_gQ`0|wIU;Uo%v*0j{ zgj{ zLy5TCRU5Hs(A~bxst-T1dD^WW!Y#g8tA{|gRYbTYcd+_j(HM_DWFVs3q7OSjWahl) z11Hj`=EE@)!W;;SoBlrkRoN)28}8Aw5%;ul{BNUGrW>q<&$98~GWO7$;@BI;f4Q2^ zfpJND?0kj+vP=Ue-dr@&`kZri8Cg>BY{ny7ei+ z#xrP~BK9Iewh#VI9CRJJ+`|k%Xhht^gxLbPwfGP%ygLqj+m_KC(n^@Zql(u-_hdz( zqCMWCtdesT-Y~lWhSw>ll`KSFDtsy;SCv2sYk77xrkaOx)L3gdnq&K*Wpv;vd%ibY zWw2m@JHb!fO7oT^Od$hTSmN5MLX*Emq@ok%uE(i%_IQtAYqUT!pFoWJP0N>T4tQGD^H$t-w^8T~GD+hKF@J5HYX*?DpQYel!Zlg*% z%on9-DY`@`4rdCYf4LIX$|-97ffnh^w7jg(QM3arL2TV1al-ac+Lbm0#UZ{^rW-pf zC!r1%U74?G6fO)L8w!(f_2DaRAX^z`4TczKx7!YP;GFnN@T zwRrIDW4wq(Q50i5SMtpvhx>`#_Ac zgi%XYVB+yl4pFLhFeFG9_E5TT4%5YWII*5zd~HjZUVQCXn3N8N7A8w5T{ws7VmzGA zm`aSO9Sx36Io06R9)`r}b+Wp&gcEPdB~G;-hQz6xJE9#Z(Uwc3>Rk-1$Dh5hrN^JW zaID9b4u;m_mQcEI4%5YWI6=KOD=1;%H-{Ki+8hX9kz^eB#23kB#!764V^I-twYCR2!-*>A} zJJ)t2YS55NtSapfi4ZX8Y-!0jmyNkZs?o=gXvyrF|4|)d|FMEyC2_|YdM&+-iQmNp zU~d6@@%4mXF9DnY>;WKmzfAyk29W#ZCICAFDBN`uf_)Z|XD=rFdMzRofIR>N|K9{( zcMW)#PYXy76K2A%p9RC+i4%g|5fq-X3BukGa%bZNWM?436FI@x89wQroFFthg#E`q z`{7kq6toUft?5An9n#QFltUUi4RKJK9}*t33u`wbBofZofK(I?=OwgA2-QMFnHNsA zPhx&ANHv=xppiExEo6$6iT{KXH7a54WqL;Uf2vi!4voN3{A$uXNIC22mkJmsqq{sBe ztxQP2g+{fLZW?&pWf0 zorqNb3~${m?#u)g$@B`yad9)LbC6-{$qDFxp(?)|R@x9uH4Jbas6xgLT!jm?4|ETz zAe^toZ?G^#Kf=WwxJXr{(8TaW;f1y~q!LXp5^cWOR^j;DYQn+nl$(75o zGKSR++-b<{zx)ma22vz9bwRI4?Uh=8qfRQ$1*6*8h7+oW&$b9WE}-*5=Z+<#*00i3 zN!Y=wG&j`m6^QJ{l}UUsyM1NS8o+pcVE*GC!p7|_4x6yOoWS-FiaFM4#(!*ARiUx= z25?Ok748;t!sXp@*zCB!rWLrU&Y(6_wrYp$WU-5N6j#%vrs5#mC)0kEM_oVueJQBh zO2Ig_HH}Ec?}x6fSqE#s3O~29dKar>wGMR0OJuc8kdr2$DWnQzaw=u%>cI#tMF_iKMOIr@}~@U`^GL^t9DfB1y|!nCc|y z+6q&#Bs09Gib-7|o608jRQwM%En_=8Q)wwJn5Ozt=2rZJ&-!V_h@ZZl1P=8RzfU$* zFPih^Fme*Slh?zc_K9B6&+T`_bv(R4L{ezB3mQv^$xh`7G_>N0uXJv3 zN|q3-m#J@yuk56$)FB-2dTfvjgKManB(+?Q{UfvlL8R3P$hU3X&o1I3Xa^dO69^u; zp=rk8<%w^J@2_-n7V!Hr4Py|(t=zt?MEe+W`%FN`^AVJ&8y;(0k{8NgLktH%eUN#< z3UjamrghS=2ubxW@3u!D!hg=hTNr$3<0$m44l*+lU#lBN7^Ye7!Bk%?Q6N_$kOrT)1c)IXcjI3U*Gg_C>=#na(kM@A8{-K zGxMuivHjCG=X@ptc4P~Q-X)zUDW-X0c7;TctOL)@J@3b;L@<*O6sugti?4M!Oa zhnqE0hv1^`xq%^!Fs=$k=uh`hA|5!WdD$eVQ%DZJ$v)`VCyK4d&2Ei%vQm5Fi@unz z<@ffIl1oNI;^Gb+1-a8 zYYsEKp}hue4tU5mJZJtjT@cfR@8ll z26ms(4`QdZ zhWXPrY1$_3$Tn$>gig!n?k}Gk4fpkYovijDP~+JwJc;{7=9C>hE7VHx$o(xi|f~vl29=iz_da-yc`8 zt__82m+l6^)p~V(7dUq6#kMu}J-H!gei|mGwpFjWV z**9N*^`(2$Yy%*Zh4vsUv`rE)8EX4ss1-$;3yZD53-jFB-kIBOLgmuEGT=69^#4Qe z5Rs20OfBp3<0OjM&@t!yI~p^p{YrN~KOf~xtd-(PSw9G6-Ol?-P49=Az90MP4gxxz zIPCt3!^Tw>Ys*+(Ug5$YXm}No^v!2b7a1>PWBRnHPK)Y} zEUGohoL194Urog|#PMp;C-$vvO@%h=OJ~R)he3%ui(Ou$vzf+e9eoh%XdCCJ#dKOs zcVsbb6VGWy^}HQlP&b~6w)1pBqhpfMbG%;G{AhGzXk2;8JY~J&)wf=Dovfk&(!_k| zoBcP_=IWYC9c|rULRzI0s|7hWS}s5EBB7Q&0ixCBnW?Z?`0?n$v)S|6SF^7V+@Ffp z$($^g2VuE1*glyp`(d`+@AFSHnVoEzJ@*d$Z4sR&LHEF7s~AHYVxA)6=JDSInh5}zLBY-e$~%IT*2GX6`ubjUUJf63&IjmWm4 zH!wX2ju!hZf9xW8m6i`)6-03NE)y`O__QR0O^A8;ne&cRTj4(eEn)6m6Sf_W*#cOs zh2VIGvi^5sZ?=`sDeR!<^wKrUKhmeiYtR`_iOh=;$-)`!NjhigHCQ~{7 z@!UTRZoV$A*Px%0B!3gp1=Ih0)|fkjfMAqbfo{s0^eAr=W*tKbaKV`N@?sCrhwMkN z#zJL3!ehQ65FRF%s3Dwri&d0|%c$CTW*%j)j}_dAEjzGQ6}L zFCP&bp6m*gIeUQh=(y1FCN_RpggML~Zk^fop{g82@%+BLfU7sM-137~g_XguO%{M{ z;MiLVQS>~)sn^9q0WU_D%Cw`rerpoCh&wkB8w(Dx2mN6^aPWAo;~~K zkKa7~;~$>=;py*ReEHK8D+ITTIO4ah*k zT>)cu%FJ8?ZZ|PNQeviW1UY#95>ILa!we9BCvXeM7Jl*8P~;V9X?;kv!shz@bOvL0 zb>rFkF2%*Xdkk7}wXi#_0^R(bO`l$h1?(LtM2Kn=vu(NIP&daeX?{!LszZJ<2;gl= z!*nMzb;4)w5}!nxZ@07Nm3K*UU3)E>kr(Zvi>@)*Hv8!H6fS;GKa<5W zsuzA@Klp4D>O~~J`pbcz9e7!?N_~dGZ1&Sx>i<;l|D0xd_S5UcUoE7M|0g*f{0kqL zK}#vUVt@bT;1dm2J|nakHXd1=u@7yiirp`h+B{;zXnVvvhI*=u_Fbpt4aa;lF(+3s z+$JiYtyA^#Nt1J3CT2_5vy<45R)MaWDxUUuPw2Zzxj#YlEu0VBg_nVAjAY91U({#7 zEx$#%bl~x2q;95*euJW8b?Ya6L*8FmUvc8m`J5LMuX_g_>AO}~k)yh(a`rn1wc2Zz z6rmbnh8w9mpe@ckuBdoKT*!wFHwahy&qVmxOaE28iXwCpfnpP*Kob&vAeRx}t7Xxj z;o+ynlVP0GD+a}3bp!#^q6-r77UogH-CN6qJ@H4PGWmL`j@|IrGlZ zPpiVk=?Ku}4pDwgD_>!~`D*XWi1^Y!*`B<Npwa-W<{J8jIK#K1cmx-=dK$l`{vraK1_|TIS9(o0_HCj&-Jaj={3!FHCx)kS- zc+WiRCe*&*(-KIkqO=Q@y0|q|U=_cov!@~|p>=zUvkfMfZ0->4h7GTr3bW$pXXVs;kd&RrK0FT>}(1=}hd^1uYq+(tBF%6@~L8XJOt z?a|M~&!fBb?^oWQNyP)PgLk~w8y?GE$Y-qsq0Qeh%ztF|4U@*4wTDr5f{~%9ddj33 zI8zzQPB7*zTM_ixGKb~GkSU8*)|DaW0$hov2qTgdh)aW9W8AW|aV$Go`o*i}PEE)g zbZsFQ!!tR6K21uqr=$;Jo0iK69O>LSB6fnp;&Dy@)2uYkwa+q+36rAC^RL4wD10$Y zrY3Ml(rN2@4GOD zEnH%JqgRX$s&o!Pv55_J5N_$QMVrSVEOC#S#OgtYn*@;xVY9!I%#g_K zS5(NW%)ncw(rHE-eyV7>8Wi(F*R zkujcmDU-L_qu>(p#Dj2L+XyQf#b{I%Wh?R)=}~R7#Qb&2u5SrB$b^%tbuG3I8_}7) zv~HWP(azehKO-86LI2b;MJlFYz|Pzs;_3Z&A5PYVMNy26X@~}LYgSWw?C$t*CtOAh z#HY3-Dae29Tw(J(j&03Gzd6sdz><+QflVdZ*D`6Ku*FhF# zxXb9f-t)Hc$qJNrQ)t0ae~259qrXVsye&7XZOCFCZHFg_ZdI_BWCy3PTYy=H>)Ot$ zt3?3T%wD`Wu;@fsc{KOH{J*BENFXL$uB&Tvor@$XJ=OhJ&V zszAPSDW(83bX3>K1Z2`5&r;ni*S+ zR2s5z@+%P{Hebh|V8WDK66zPQ>xkO1huEjAd_31TMaHZ|0bL|>GiQOXm=p_W|%AmzKlQo|LgE}UyLi;+o#bb|crtF4yjL-Lz$2sIQ2Xi$(B_r(iK z^cx?nLXGmbGnMsMrnj2FY zP0rf4DLD$dKbc=86GHUBgK9MnL!yGa>8jwLp!>nv(no%=Z(KXSXbWH-!MlCpnO+Z@ zXoR&5?}H#>Gkg_pPyIxcS)DB=6?}fdx`P2)I@%i?Cfbmb5MdH$``f0a;XaFt;Z@e< zrN~-;wAT=fgo1pN5MdK7c`4_-jo)rOZH374AUq#KIDZJ!`v;Gy?-3T=$sXjdbh{ru_N#`3@_V!wqhvs`BAEoC zehQqqVEs&h;dND|d260Ce1R$9z zD*Vf36V8OUiznflp~47}7S}2qRfGykOB&wfk+-PToZ>HH6V4g5TnySpY)>}pQ7-d^am=WUF;3$&OCTPk7V`6kTp&8iWjd|LKX7-VY+tiO#zJa z4;tQ1T-|8y>5ouj73U!ZEQ^0)p%Jt2YM81oKJ(@UWE(55WFo%eG76JlZwuV0Yh&==Cq zr~=)qfl2@&+YC&o=l^y|+;c(HniN?j-c5vIm0qt_Y^fSj+N4hhfg_)`+jCo{OjBz7 zRjWRR+gYW-*G<&FEGy;z)KbKvEqdpWLh;T(4~eZHqGReza@wx8&DHQ{Z06*A2w{YC zMH@7UuhY6roF9W5l(zAEOsY6@2y+DD?6510u&uzPE1V5OWu7JwczISgSllvC%<}Oy zRyBG$Am=E%JNU?@{8U%jM7Ki~V@I^&4HeiSlihCzV4&e=z{ueKd_5{sZFND~nq48R ztLwV3vbZ&$qmDSpCd(esIdrLMMW{BHbCd9obqh?Hgi6G_q2cM6fhM;ECWtoUrrP=H zRI^kutE}n5c;HB6YyiruQwQYgH0!Bg`(=#VR3{^-q+K&|C#5rme|W<`k6UbIw|9>W z)uGfs?n%Wt-?NSyheeb7O$S<0I@f$|vT#wb#h?asBjm1>kRG>P4s`oSc3*DHFQ<53 zex)@Tfc3BQJhNwfnXRN{KOLkUM1$F8XDc)tcJAp^-QjpCZOfD`#lLVBPDl?~yeU?= z5IA}UeeD_D_g^fTKUn8_aaHe-@o?vmvoo8$ig=KIx-1OKknW8dwMU5c*pr!~T2gCH zDb){6uECc{#m?C@Fqb02ag|JJjtuxV122b2s z6yX?ryuD+M6Hf7wh|>l-@KWccpc}bQR81v)S6~FPR(+B4hDHECL%S>|f;CB6p=MU( zjHG2>?UjLwzS(JYb*Guw&1#}I-pY%a1HZ<1o(6uD41lGH*b+h-`T<)oED~^NOaU{9 zc>$vQQqK?bj(0w~k^N#e+!8`>9`anG!rw*BC2nFIST`n>cgTtDj(!{T;Ag_&hdw2Z7NL0f|eG zLi?W_nq=X&lM*uPLCw`Fm|UCwP8^mz(aS*m49k7QTUU5A9j8($vos}LJF z=AJkQVQQLz7ARXJOGs6cep}{&s2=T{=rTY}{5E-jR!BS6nFr`#H;&b`oCigb^X?1h zEvNK*q_V}?uod;$8Em=U9n5kt^oW$Z`bj0@)>Enyh@Q;S>jPPcS^%5_;RR37GMP($S>T%d~bb@WwWF{_1noM5@^XU_+H&AxavD zF?JvB7$~Dt6eRdjjxTaG5%t}RlhILeT%8B`-TTlbv-R8f!9yHpDnouj3}r;hIPgx{ z`xRn+KQcq^V&TuQ4DIs>3x#Gw9SxSnG2itPiff*zvA6*dL~ejZelKUt`fBvaV=XIu zLF*AhJFUb}-*ovGnpw zesHXWCD&&P#(p7@%H*EaR?-*qqjiLLm4l^z9{APS-J@oFL`u=h6NKqQwt(HPKo?x3 z_HrP8N7nS~oh`SL*e;0HW5Qhzlg!hw_f<+3quWj@fgo;Glf%G==m=$M+4V-%5O^?8 zcjE@)0{ZV(a%yVieodV#ao8sGt}X6K2l0nHyU15!cHL1?1y^30VkY31C?T8DG4-Qu z^n5Fiqih^m?lD~ z)*~*&4D~DTrb`v`PSAXD6>qqLQf~hjt7aKfud$deS=aXNJoR!-fBIQKLg?o`uZ5+R zO!VF3SA984Vh~;VhtoiL2XjxQEaSUP=#-eML>Em@LQy?Gy;^9XL5AB(kbuYlMj?ja!G#3XKY8f1JqfmKt zv74_ld2hZ;{qn5V#p#xaj5&?bSSsQ(E5v9unQ*tWBdkc|2 zR=Jb+m^8A16a5x%hRaEB8rXdB%rGIi1S|nWLh`;rFe|FVE@VkGK{u1IiP-KbK1uxN zC2rn!BO_Uvqr2ypq2hW7);g@(f2*6PCH!lCs)5FgoBmQNSJ)8K9Mzq5-Qv@%(i(kfq(fOCfMw*kK9l&bS;U!OnGHr7zh(1XT+b5nKTvQ@`hGDyaLrdLkOLXQWW3^ zHpBr@ui>U+OZHMDqr{L#3On5&l}Lm%$9zGg%j}tAaX`9DK0KJ<8pP@AVaXy-vh_hk zyGil6VWA)e0jXaSa(z{PjEXef(bdy93WtB%ARa*Yz(|^*y(s5@PD_qm+%wI^oW19`$8V*;NnTi5fSq ztCnmxsfYWSwE=j`H$l}KbzKuGohr7hD_;SO?XZ`+N~5{lct;=VC}h0gE3%H*MB)Tn z6Ln;eW=;%SRZUSr^_Mh=nKf~0R8GTK#e3PYCC@Eb42EYtU_@?-sMJLdR?`w+L`P7r z%;lEG)NHj)#ovEw@T3%NkPa;1)E*y-|3y^KCsEhI{;Xu1VR`G#yW<2g(`l}?$f4n& zD92VFPe~v;7b#QxYr&YJA>p=$l-UflK3EiP-u9LMQ1wqKnc0-~w_vWiST4C$(LQts zpj~x~=&9@luD2N0Mk{Dz;|ov%-SI)M3bQ79K&G5-c>*Qf@R-OIMNx(vD z2<@`5K`Cb26gr2=GPZ;q1;c=sKBNT;cC*q6db64~Z?G?FQ?^B(f6X;Z5n|hRY-Tl( z4-ZVsX68yZAaPwA2H;qu-~}r~5q(#Y(P|xdv_^j&(_I`DdMbnw%lpukDcfBP(3phg8*Yx?WjhY;z6V%bWJqZB$dqc=%!a?|vOHL3`l zF}5M98*TeulBWYv64@c#48bfZc!cA;Ot1q%D>cBxme6M;Sj-EVWEsji?HL7jUxzB0 zc;sko;o5LqXjVvwp8!!!`fajH)X9YJe9!{g4UPMm;jc=kq%)*3<*w>018sCRRmDrNj!~G z(n>bbfFwPOjmQ?TQ1M&u`Y}cs-tlz^r3nu_mkT$#XkTD`=Ii#|djXEQUvcKulZB>* z2G@=#(P?`ahRC%uQiF01OJ+PjGFqPipKF5>)+W~e@LN;FqaD9xC)UlYe$gau>y_QW z8|iy-`JOkTu-oWNz{#rk9K}DpPgg=C+hnTiCV=W4&rw?k<3P*qZ<{#h%;;dGdD~@J zH!Eiiofu-{Efv^qREkq6*nc@gJkoKj1gX`9Du(|&{+Vo(gJRT3bQI@^OEEN7DIvIQS{yar=H;y&sn9^7#B* zeVyO_dwO2%#lwDx#)PJd>%o<`?N@*uexbl3A#Mej!rt(Yr%R-t5zeUvK3Tt_5V)JZ z%A6*KW8;al!BWKWekI<3_G1j*K~*GI*A{Vdk&sy@=B#qh^^?#KA=KX`?ZGH!)=yqqu--Vd8baR zDBKj*SyEGHV<6@jHkWD^Zdi=pFDKT`g}prt&|*MMj+K=0pR|*-QYz!np)-lcuZVjH ztdjn7a-PE0U;7Y0yt8O$kZh}76eZ5?8#L=tT_H9|6q2`Fhn^(9S&BDgorXWC+BpWK zU)X7x>qHx&*SDAa(24THKO~wql^GIY`4|p!mr>xenOmJgWa}$XQFu^q+sAoHoY;lv z(tt@A3{Iu4aQ^2Tw^Eh4Z%WHu-^AYdbq8y7!7zD%i!M4M8n2~RE?m=4SY?bp9(ZYG z%}fgM(UVEb8fxp>EEL&yF)NeE&*^krw5+SgSy#jF1CRl{@uWV;)QWU-3aJV=%Sjc@1%Z!GseZn(Gs4J(1iAv$Ks-mMWl`N1J$<*$yJ zrYLyjByJ6{YR|+1-k^wC#!Px8Wb6RlA$d7QW=(Vo1hwe8!ENPMhyt+d5I=z58;p}_X{Z4!-A;9Ac9zrbQmk;Cx2;p? z<3HJocmE38l<2kyBv074=^RcnQ_Q=qhnf zg8T_b+x^}Qks1CRMeB-hoi7Q-mJCFvmFK2*8M&EjFSYUxSIL(7hH0zs&JM9!sq8R{v2%()hlGt- znBs;fa1OvnI&}&HkU~6R|9zA#Vb4|X=qh0I<#h!L^bty#ia*Vb@;1NOYNu?Jfhy$< z5-y^GV{V)^Y?7t}SjKzA2=nm;un40cTrkqch2TCPhOX^ORm8yOl z7it#wH6Yjl9cO3WHn%BlLTiOUTsu+K@+ksAIe09fZTD-tA#Ky5;RLS^B7^@qdsF^^2oL+B&q^0O)bZV$aV(ICdNsK_ET_lFZxuy#Tu3ZS?1MS`Svi%sQ z zDb;8wv1^GL3C1K-Sn11*90Rp7;IIaS!rfq-oLg+pT;l~Pw zpSLnNr?x+zj8gVSkS17EfddV*6wFgZnQLa+^LeH%7kaz1#Irtunaz_~&HUnUFZfpkcj^2hc<)%n` zU-3-e(s#cv1!xLvz*Z{4WmZ6w8n)bt-ap~?GLVvde-&&L5@E&MG zpfDRFkx705TUByx&kjbwbf_p?dI4)ytL}F?!7Oc*_eYGMaFL=xc)nU#sc>ds*CITb zfz^?ysA1~6@Q%u_{kfm@aZAPkTG6jy;Ys1XN0+HoP_8`RlWX}ktVZvf z)=GQ|76M28HiH`nV;Yr=r`tPOBSjbcmM^5M)i62JC}W6H$tItSXSen z=VX7ppO0J{*RNb}R#Ixfok5&@fkcdu;U`u^u`MJKhl}37E@81E2X#e5e`wL-MhbmE=z(TWk{dJi2k! zQA|#>Nk?Ik{xqY_V_}ZFjbFx<5I@)6y2Xu*Na+*@!Di~fhl$BM=zP>p>2k0PMApEU#iSZ1@R$t&>y8C7mWRGGQI1GoK)uvU>(F9-(S%f?Ib3WbT;oiz|ewT!9azxtypQ3*H1vh-SelI}TGQla5O1y_wUUEZ>C zr?(pjsX15?ST0dPT4MV||D8`iy-V+zfHu9lLzT7vN8(D}t+_20OeR_3ViCTUXTlCG z&+5OZQONt^LRNw82K=>3*uLR(rJ~jt`m8b$ToIj3dPup65u1ugK?@^csCs z#wGZHP$+q_j~~_G{hPGV8I(56B{$H>$JyWM}T;P6xe!&R_t}qTUUJkbm&aS7;MaZG_E{y~JqNUIzY<(L z{mDi^I1zZk(tR-TremE2z3@sWCGG|j?fphcT z_8|Z=quD-C;h|d#q!Orb?j`ckt;zV1)>KE^4Zg3n(l}wBK}YYn`8LFrpXqmVb@0_#@9dbt9xxedWO_x*WSj|a*WLU?xk`sN}B!2W1VWMkMAE=fE5_c$xt z%=F0@4ml2QPNyk+js}a7hS38F84natnzwMJ?JS!~Qi(h;5V_(+0z&QLJdyLLUU6e^ z^n71MwKJVxR~iQ1xK_oCuzBnLm!jh$f|jiuc4zVTFKpZLcWW?4m)0Mw-u^KSIopB` zk#m%u2?o(kLLz&_xo1LyaZ8O{?ppJcMRt7q9;QVy^3bMQB(XEG9`_8=_{#Yfi3##W zG2q(}=EZD*>!F9crX9yg)6V(7pdf;EzWy;`rk7mtBM4duU9EHpR74${U|YdlF-2%N zQ9LAQrRTm!Cb5naG3bxTl-6+<#-qOZoW;wpS~!(NrofTLFso8|zE9|Z(g3apceZMdCeh^>D=kmr#khjs-+n~SHJ zPgq+We`U$L{l^@?#n&3R3V(347Kg6lK&og!CL~wutj(_=L8*jhjU*&|7f@{nZq}mh z#W}Rw?8n5VU+`R(*sD%Q*pt0o%v2Bk&TL2RD&wX$%9|KKhr-`q#D;Q}R3a;*hsgJ?HyLqsUkva9;NBqy=U{AoC96!p>7!yN&)S>@tk<3IQDNQzq+{mTVUO<}< zMlwctvA|;j_HC;$(xx;7n)5?uEZ55zNf66>h&Z2i>dCFJG_FLdt&es*xh1lWJTBMP zU1pD{dH)h>we9D_rjXrn91V_76Qq&-(E|peu!LPaFVg*|ME#MeR`JXr^W-$D=$bA5 zAI?$EcSn67IZ_}0^FFs$3*mRA%sWhln*1w-^#T0=M2rlIwzPpc|G!+97l4<(qMVIfG*+^UW4* zcO1n&x^huKa{5j5^5mr$%(LAE_XLI0GF<~U&p)1yWiR%r2m{`SR>@|D!-s}34HqD+ zmwmyMaUOkuoa$~E`qnys*Y)Tb@p#8{0+=;X~E z&H%>WYRl^}C0bpZu8a|;vPMW0ue^S;eFHyrCvYetbua#D?${IV!-nI!jlSR{Y7{t6 zs3$_(%Qmj8(5Kbq+r$eJDg2&5)8fa(_GUV`jFo%_65Ul=w??QBG8!Rhmf7TIcU80; zpA?Y7dZ{e@a;(X$q|N>v%bY$NT1k?UqD>ARA}=@gA4uB7Y#+)Od;3!Q1g>1cRvaPP z_1Oc@o1jsz&K5 zWV0i>@4~2L^jDD6BbQTQTSv|!4I1QLK;ZN`hkbIn#|PD9?p>^&mQ-u1x+A8HR8iP! zH?UYLiD{Y{AK(l7jatk`BIr>>D?oNms*-*2l1|*x4<2nR!PodCT~E%* zN{;4@=&2O=|L0TreupW)cQ=}3vJJ%0pwj3uEFZwzdp^ak`HJ)Ai5 z57t65!2&>~$HSqW!h(Km*f20B@2wBkA~Bg-Arw zzPJXd`Fsj$d@1+%6fx7Lu?VrK>;NOgq>KJO#(H9vRKtSF60avih0)m6s5rTc2s!OY zYDAf9T2>nK+jTEO5VsdqX1H*skK^qvaL&((UlatM7nZ_k5 zaU#jw4m0W*lid*`vk{{SyDn0T z!d}%XDwQ>;XENwVS{R+KO5nKv|F0?9Z>s=Y#3J)w!|;!T=r5EAPDthsADIao*~oes zA7v4j6x7Hw8Z8STun3VNtY;#e*DyCxz=hLRh(Yj^O#)VWt-=3+eDEX+zQdcR_fu(i z(oXeF*dZ$Hd9WN1ii?)jL7!!x2E{3B?HOFY(a&-JGwp>5Mm&?fb^DVtJ`p`zn|Sni9T zsMQ0rMdtJ32P+5L9wq(Q7q-Y@A$fZF*EYO}vc6i2@QV^gtLk!XD@+?G>8>J~z03f+ zqR7^k=p$Z(g{@YZxdexIFu22;32vB0$A1d=dlGU8{Vj3Oi(>|@K!{rN{v;O)@A0&I znu!55ZuEB$%S;ED*>cP!b}KIwZvt~+vl*duxo;|c5ofqp$oFrh-`E`)6ez(}c59JQ zFFxH#2rCTzd zQ1Xt0nBp#e5zkEG8g=^Td#Y#5E;Oli4BnGQD&T5vQst*vbgk<#(XWRyv@qogPxc>& zr}XJB0D>>*3H9eIEri$m7q|i#&-p`hSshZpFi=>kTS3#8`;6)X-iQ+3Wh;*Q0YkgN z&QdOO%<>SJ=6)ZsK3~Pas&A0%vA-3G^aDzZ;~+D$UIeK{jb%wTtzUih!W>${v1AEb z&Rt}lQN-7veQ5rGOAIvC>Mrzm&;Mf%42^qJnUS|hO$aaN^?wu#KLej^($@MknrLyx zHDnhCg5JV+&y2*1QD8i`NB8sv=$R^}XX-{ko$sBpiPnh5wo~I6lOr^$%8MlEZhRwVeH-T9e2QW@GMn^g>tF!}g!|G|JZd zX+t<+>unHboVtxk1VJLY21jLe{bQlqr92WDX500}8h_T$d?4DWi(YNY{5$sjzCjZy~ZW-0xbhA zXdB8P5EwPV`SW!(4DB1|Y`;VdG?qmOrM+JIRZBc5);lG|e}7H`?V>hXJYF+Yuidx} zQQ`U2?mxju)bVj_`zxG0IDv4*tLpus8S>Po^9@m_ItU;o6 zWSktkQ{rW|;uPcr^6017wx%r@TxB0DO)!1xmgUnJQ9@XLG|jxW?&+<9$=Xj)g}5*X zMge9?M+^B0Pr+b7)tL~NjIEP0#3c+|?zon)0fAo3Qhb51@&ehseB{FxZy0QPnG z58(lySY#aIHK)BM@gIvMrlNlz(nI&4g}c(9qwiPtzt%aX85y+m){4BvCac5HBqOKhL_< z)um4mX#*sH1?qLja9kG9M{00OT%g3vO*(Wciym`j)ZQVR|3={;qH`h!$rgDkbn_^+sIf%TR})Sdzsz+-&2 z6)HmOz5^D(ogsJ+t7=ju`YND|uDisXxNME(WWnG)_yDnK@AIS3DliYlMCwzRe!q=8 zYZ~*Jo?&30h)n21P>uenpNIPFAC!*yOCAfKzq-*(3`UyMj98gw(6)PzNJtn%WM!l zxi14TTJKR5CD#2@Nh+62n`TY;vWtIYpX;+1sb_sWXs}<Mjpso*Zro;Moj%>&f>ZO2cC}`ja^pbn#RXujxucY3q7;sqZ7=EMzPz*PR78_ zVO|*8cKALvq*ys8POs$qe}U6^+W**7T7-4{I2=zT0vJy^Ja#*rDS$f2u-M{_F)+}= z9^OXSrN)Y1z=+&@Q>#|j^SVWoKdX%DxtbwqoRDhp6vwTvvzOBtDZxNQ2~p6V4^3$eX^W_hq==6RgI!OU zl?1`s_og2TM*IG?94gRk881gEm=o4y4*}{NIrOIl9o>_R8#&HF<;Gp6DU<#S5!1MQ zZ%HA3cs1UK%WM$i`*aH5C|lW*_XtLP3|0Qo|ACNM-5C?T{Q8mx0uX{3LJ8P(^cg{t z*!q|%HE7##$|8MVw`i9F@CgRYjvGZCM=U*#O=R!TWXj4(l+1cnDNX&ccXNN+4CYL8 z8I;1+UmXk2Ip`xJ*hV4K1T|H+*R%B@D|JgtXg%3CkL);#u zE>8nz(srj8^-PxpgT{k%o`ty@@HSaTrVFI?h|_I*LDtMcBSBv!Ud_t84&e}r@Z0ZR zA)T#YbzhZNzH*CVvbUXhbT=1FQd$fg^&sY@Gaj0)Lk@?(!j=NELZY4m;6l#QPr0s^sLhM6st3p zyy$R4&)>w;dcrULBuHU^?@6LKUIR%I={ylhMnSsxuukOw#>rD-qcy=Xu`*@|WBMeP zlrVnyyGXZbhrv(+?fllqj#5f6aELinQ{SF+3L1@LF*wMsSFz)NVDH+9g>s90@T>e9Q_ zsUNwvnLdB{L~rfC_bmAsmQoKAXa`k@mTR6573}31 zoI8&lKW9x2G(lD6bf~V)x`l)HCc&^!MVG4&b|mmtoIlA%tD{p2EHz55(>hP|uhsOn z((WBH3^rz%HabJBc{*knRN zl#f4_7gcCkKM504bs7ku)z4iQ>8mu#l=E&oaB3qod@uzlKliaLJ4;KFFU6~~a?1*} zU5Vj(?v#-^jwM0|A~e9PI}}{W5Erafi>}!r(d1(7rqn5~z#InD;jN4vC~HD-cviPq zJ44IZm*5*d6&=cmuYZ=Y7j_0<>jQC`_T;qnTuVNpsIFN==2K~+vLj$wMp;mB8t8l# zzxI)R+xWTHWI$bcd02~44fHEECtwZmvG(}2N`=`~+6}i^^J#=um)J&M$Q-#^VX1uY zE87HLZfNZh4oP^CT2z#BD2sRte}7z2?0(!mnXupeGIX-sejQhC*eYF`ML~@SL(4fU zBsVMb`$9@+f3CvLs|3tIQHCpAC`R5d1htq64nh9Tj&V)vu_Q{3bzL5*Fw8Ut2-(|p zwFoTeOb0$b%~(-dQRY7Dc03+&!`#Di+)8Xo(od&mr_-@xw6Tm`>R&xzCniH2EmPAZ zgR4zGg@Do|18Yr@9g}h}#8M+ynY9yH4>|A1seKSqUidgQR4hs0ff%4B=6zsED)`mc zEOl^V0*&8%H1`$En6CLP+-g~vs*$uddYC|(;t&`p==~%34ec~*w!tJP&S!5l3$}bX zZxpK-F7A;+qbmt1VK4E5U;a+_27msq!cT|sPsd1(A$>;v)5_J8?^fr$;z zeQU)A>YMz~Xs{8)P<4Y??PZ9Bm;1X&`nX2+G6~ovTknCn2I2N5<#--f2vV<;qrkp| z7;h`o4bHAT?A|uFWGwx-hK|$*#v+8}##4xDtJY)PCI{DmhNGD)42tG(u~=4K7_&!zgki0cprPC+bxcs)sX2WrE6| zz{2xncH?{QkQhF=+cr2v2FjAiQI!3fGJH8`MQypwv8h~r6YU#|FbH5kall}OG|n-mH){q zPACCw!;~F|RV(-U4RF(`j4oA|zDZ=xo^KL`NeyK>Dc#gL6m5Du>ecu;ce|YbE)I&?z#V zj*3lBb&v1w8%2j(Y7b=l6wq$`h^x}Em@(e!qJO}Uz882eV1DpIaU_8y%K#o56ZA!i zUkZ@1ND;f?M61GrI1MjrDDqq)zZADbwvw216t8?Pv39wJo~s#;2Rf*on#Q} z%ev_9Ig*^%Dt0KElUnR;!N%x$WT(tJzSYnoiF6CsTfxxsInI+k{v7AdYmCWzB{fKc zOKQ{B`o_d*r7mo!K8#4URo2F~)*wFYL2RDhMRQOobn-HSV?PgfSS$;a!LZ2_UT~D+ zt%sO$hulw3%cVuC9tNGNOG<$yKYj;Tsx$1? z>rEv`KFVz1;4KJZp1iP^?kcXogCZ;@=j5JBcygU#7%y+jFAiNS`J;pb86oyu`T8|} zk$St96nH3hQY-L|?u>S%hAC2X^yJJufw`6h0^^{q%aoDYpyL!>@h2&1$ zu(f)F=i6xV2(CFoTszxjO(kCnbKKFUR%5+pgUFYbJVhHoCtoqYsyX#6&!#_SB$8c=5Y0-bpnd*tm zp_5@H^_%zXoHWSQHRch84i4#9^L$D@%62^WUM5R9$BCbXq;=PjhDqyny!w^SY?D#! z3w}Z1K+Qe_L$z*UwERg{wXwl%2JPq(+%n;}F#Drq6q}7!ZNqbo9hN5385%7KnByPx zo?Z9p9Lbct39MDB?*sZEB*b!k%Uzc=Z{wJ*G%qo663Fc}EYjXtO~$_<#l~MikeC~s z3Piw-j&Z zMh~w2(CFrjZzlf8td4&CGLdS1$_+!=VOzRqC9|#|-iYFSzwwQ%Ux+s9UVLaU_!7A* zv}7*XZ0{4+q^Vsm*LZU$eM1i)BWto8Pt9l48T3{!o2NkiCbyuO0Qy_e8hoHn0sww8 zs$=ur>4~|GmpPJ5hi{u9VM!xVp{7lQ@TQ>Ch6sEa)ye+O09zzf%n$O7X|TO@xTfLg zB6vx7a-?k-wePw>p-YMv#uNpdo8|j4uZv%DXhW;^a2tYFlupkQ__qp1bxQntRCX^h z@ILJFa0kE%0REaSr#5n;=Y`l-*#Ax`zdvtTa*Ilg=_e^MCSd=XdJkfVDgENV!?5-r zAomgCf*_AID)B7Z*`C%E?6jdBXGHBJ^}1Q;7G(kNmqJ?@fq3}=rvIx|8Yb4YYG7kfDT) zI@T~bUdyrmb5%+%%E?3+4smF1hi9#JNjKNAegS^q>-vGgK$%qLC0r~|m$CfuEuZWA zakMKKhr^P;N3JgHntS3!&5a-p*G~H>TmD}<{V*KdGnQ?IATpODg~5jEFOF}A!HkP4 z$f$AQRpANuRr6~60;55F1rO)^&F~drgu(j9ZVvk2T>{6mYjb_qu9!9Teu_EihQBe#{< zwqI|v>M{#kX0N)$pG+b1mGm(TIDj?!f+S|MRC*$T;h}m^5G&kZCdlMEK{n%okm?xB zW8w;4(9a7=QI37tzC z>}4)jd9gjDSg@D>sE&!_PP~>9;gOXWn06Rfks!1~4=-w-WhI?P96Dr~#@F(V*5-5! zNt(;F4$rj`=ymM)>YCldxYOMcG7ue!$}yDbs-_+g@dmXyUpB0n-#6ovWN)cW%Es@h zj6T$*xm?qNZn68raPD2kLilUMGXi3Df19VjOK9^4xx;k&tS8r-m?1H2H@(;C|aYg(l>(X9Cx{erf1^X_vqY5wn10eox?5Zx3VMP?4 z|L;SzJR1TihUjoBah#4Y%j;`u;Z9IoC4pkwcII45 z9q2#|gOXCLf}}(%+6F4OhC*|0U2V!|Lf{_&04pAt<`DEXmEE)))4V#(C87XhPnhA+ zh$=(X>`B!kctn0C4)c>Dee{1P2-JR8th;)yby>GsDa}{R)G_ZtlenxvDks0c0P)B} zK2CRQ5WtWs)C~}#XkW4#oIt6)y+37&f0f?2h&4Bk3bSEsCZJP)D2Qe3_O#?>Y-g;PiDr1#$XyAM!r#M2dO=Zatov@@arv zr7MGGZ9$HWD`yowkHac+s>wR3He z1dc)_*I<95D{>zoo=}3mSYMpN=j~q^aglz;OSu*;cq@`8*P@->T#DK#o^e*{M#JL6%tT0Kc1cgrkC&CReR%l#z7VI+OYCxgJ@9Af@gfpm{pG;V z4!kT`r9Pv6Hv8!;^?$1Oe@?SJ`{{M!V|gaT`lkv9@qrn%l+r8q_g@Y^(O~5>LQ7SQ zM6eGHJVjKlmxp=8#?biPI|g0b(4jj<#TyRw1~SBimk-wIfnrp3ZgrT%jech*F|M)N zLHhW#BD5KwlX9v7DX62U`i&^!=0-8K(9}WGjz>{*Msu0R>X}T?I%}3|rfo&ivM<^K zRf$@L?`C#o!E7gZcC^Y9?R=(H1_oo8;zFi*dX)$jNJNy-Sv>0?}A^kf&}Y{03q;uDUz?k2-|l zjiaPeM}rISDs|+N+CU#BNjW1A^QOk6PCMyChcq{uyBPMnBw1Qe+7WAJw_O6Q6pyrf zMzpGX<{^phVx8lV6){!ZAcf~+NE!->(Z6U@xMymVxSC(TuEJD1o9d)_RSPNe<3gBe zyggSCi`IpUQhP$s${;})ih<&<(p<`z_2EoBM2AOkca=fLU1jw0$U~;Gg)v`CE?2qq zh1*We+epf-{`#mz2Ta$}+Od4?^qO_*p& z)Kqj-RG=~L*$Ldh6gE?RH(hKXTEVpdKlZ%dz@+$ph^1`8PPxQU1P^@}AP;qTEq7`woi5g#PU0 zU6|$nQ^_v;&wou~YDY}fCMZ~#?`f8iE2vQQBUpgBQX5tX(4kDY1=H%z!?)NY{54tP z2i+54L^*V5FU-7$K2?6;SZurp#GZzhy=C2@yKf@DLtI?dL;aTlRqmulkq z_9kvx5#~*nzj+jX6bB%k%CoFBHA^8dsfPNPHJ+q*EjJnqXOd{$rLkF#e8_TLP1xL) z>uM4UCB`k>amOo_Z*j}CQd?Fs*PGJi*gDQ=^{zYpp6aDI6uB(woo_J$wszQxkMI*0 zbE9PdwrbTIOUL%LK*m>1a@1drs-26twGL8Mi+O|7Rdk8+HnH{`ACKanyMLnnk)&D2 zGBocJ5_FeQBFk6fA!V`Q5SaHXgtX-nl3JJ8*Vb$7%*k9P%TDg z^uv!;`Hhr${XQFuIa6KGwm+fz^F@To8<+x{R>+;^vZg+OCBDt7up%VqiQ#2v@{(7L zl`1XEb7MY%xEXrm{jFASX>>TO4jQtV!PjKRiSB79rtd-EluYB(asyi#<2ghybsZ*# zKMgff!xQAnU{$BQuyie-A?r~<0tlnDNddEdq4fPwB>XiD0<)~t%>>+pS$G*yvG+-> zxLUNtJ|%G$>R)4|K}s&09Eyh5H1pGNX^=NTr?GwdAjx(tq!L z7?T4XfcC%CS-%tvj*OaiEA&0Zy|bJ<7Vw^;-C3qxk@W@=x3lnu_FxPBp0 zDS{9i2SH`bv?LL~#g&Vy3_ugB(}7^)0VK`x>}k_E;C3+1`Osa??D9d3V>kHF9E@A- zb;35rx}k_`S8PEHv&2GZuKUtmZ^*5R>qom-g8S3HrXfeP_aeH(u~KJTdi3SWcu%qr zc1k2d5X%snZaPdP)HU@65&?nA^8RxyN+M!Liqa$9_)$beaJwl?MGs3s8$VG{+SQjS zeRp4-JMh1H93BT@4dIPp>&M(Vk&L4tP$gr~=|zgZ2c2n+Ze2kOn|cfQZkTU%Qc&uI zGr^`vZ|Y}c0ltXCUstp&`rIIgPceWj08x3ZePRDqQwuND<}ZF-ObU zNE`wGHc1zxvuMrnZF7{wdsZqqH)twrIp|R(BaQ-^lQ6<`Y(73tC<{iYu#W91bKv>ij6N?go%!x$Ui6(ku zF!nb(LV6ShdagFGj=D0!v3T?lmI+b7q6F>HDcfW4LQvihVFu?;-;yl!zXWSKP8w*! zDk%A3=SG7K!uu|a=_#IfnBH#?u{Y&WNp+u>@>`QR#}Xf5GPJPIJ9Oa2R;WTH4<0&! zRe1K@!DZBiYrsAdv$!1LG`W^)1{0p_0i@rw8w>3_UMNA^ni0=8Z&)!(s%nq*mpAi3 z%%7dAW*SRo0l-X>_DC6r?h+~AwUrKuL53YxryS!YWtbue)>Yq;xyVo|%X6%w-BnuB zW_H`pk$HfE;Uf1HvSN77Eq-U7^?I+QwA*dU4_y?KB zy2n*5H>7vGAf5>)|E8OR{5u}1(1G2;$yjQwLYsFhnIm52OHH`7WKtKUyJ^g>)NR2i zC=DZ3ZRg|82pf^=wS$AK`o0^TV~|C8UL+;(^vPP%q%n)#6n<`{(Bw*s(}de?rB8dn zaT*n2I1`my^z2k?V|>d5Q}-+ypB;RJCvi@%wAWGb^x&fu+Z)YMil+x3r6_%&H%M`b z&Cp}SJ5Y2>Rbr6w&?7Xcr4Nq|k6^5gUu+M(wd+LR-A;L}N`0H-odg~4R@rbq;&?4v zi$;f=n!j5P9#jDp~uviCI!U~eFkW~Xn?`3eo4<7HuG+|QWw9Az16B)a?W z72C6b;n0CNBHHkNm5mHR?^xA?@obTM7YXINNNF*~1bNV^26!!5GHr#BP!~t$J5=(+t@5k!ic8#XcRa@1X zaBPozN&H`A89xlILYFgllvb|Qsh4Kw7khP7aHwkSXt$Ow)l1dB4dXx?AI!SRc)=}@ z2Xu`l5qGDd$3osPykP%A4K~yuk|ig)2Rfg}<;MX4gX|X((_TqqKJ$;wDJ_MCT&n zeJ1S`SXj`c5NfP3LY;%2yfEUnk3mH5Z0=N}L^T>im6~Hpn0wA-gx}fQ;xx8)^to2p z0E@N*c`j=IRr_-+no&Oy8@Hj`u5A&=XJcJkmM#P7$uG5iw^Rz90V1x^8?#y-?JBfPTm7V!q>ykl4t z7}2{-#2XIu1}fwebvioTfxcxKZ;Jm+e30LFiT*7VXeAawl~{XWMlxcDR65eR^keuA=}|xNlM|NG_yP!f@&k*Qfn?x3(Bwy3Itrq2QMS~9^1^iW$_4? zV5YPuc17g@Vpr(-Zt%RpfGalH)^(`EhV6qLlpV+D1mL!7pE+<`I1>za4b`sIFtdJB zr^3I6E2M9DTsJaC;4J$(V@ov{EFXbjxZ1jyZHiMydF~{hC(X=&2F22sQC`1oDl0-= z%6`3NF~BYiS6Vud3a@Ay{NmWFTEuC?jIHL712@!aR#G2)Q8-~L#kDp{*2hZ!iiB+O zn$;KtYvu^zB$@s;O%`pU)wt1Wz1$o&X)Kxn3Y}{nIgsXL-NK5>FgxC4wII0<8U627 z;kr8zMTGfpHQ~C`5!Pj8Y>jzP{JdQO^7*puf-i@t4l3R?Gm!nuz6F8qYY)mQP+RTc zqDvJyX|xT$0;(qC7g;wl#?Vl&Llh^5%_!zfv-`a@X|zchfy)>&Itqg;J?|}Vb*LD{ zya*Rz9`@Ug_b>=*z3(l1btxHv#qYxS*HO5ucD%QY)gWSwHTRCS68hsTxYfS*ma}?v zjKEwT7c&ZPt6lFcYqiK2$2ZiOr>|kBwg_Wz`Qz2fg?kwtrD0a=ANP`FyT`23Z?v(3 z2lppb8aAD#ODzwT5r%foK1@7#Po6w!^Ws%TDZDM5N16JIw}6n0npfU}Th9!%5u}WZ z&kqp!%_zDFgVF<{xN7)QU7U1=hs7tAkrbs+8l^Dg!3;z>!)d4}p)Ly8aeTU!4}~{X zIni;Oj78vx{@{&5;zCIc=j|=&=<4d-ta-l3z$@Fh=3WCct|K(hFDlBeRHl7#+&w>X zm0x2xk<}>QZe>L(9%MCKxi|{wAcsq3SO>38+gjbi%r)-}8$BRC2mMk0uDk<i*A(CZBh!#i@wWj44bS`ay-_L!Xb;cDLcLNknuusHPcsyjLg-9?7lC^=gPBu zSViIwrZjh0F1GGiKFOM2T~bn%2*$E{CFqE_n58mXHK6J@nANLO)@plbsRMCrf+9t) z_(94Y4;1T`?pjD;?Lv(ZR4{jhbr3`F+|keZK{Y&4B%9+;dbLg~73eDC6D-$}<|0#( zw+_=9x4RTx*aA93+{nw#X4G~F^lhkN|@dj^)a!C1B#@EvwYR z%T}zRRV?ZzX;;+h?W$A9&;RIJ=elDNFq@_1)>HN&4X?tOL`G$7i%nG`-d1;tJpDH4 zL%LqGuAzA^j_S-Hk%xMAkl5IoYXDr8862Xvpp$}v>!IRR^a9Indc1Pgz&BjcxsVB- z$qP%&K(6gIMH}lkly=G!Hc2rps#+`{0m(_>=fS3U$-yBu57m)Z%TtK`u09t>DP&Q@ zzEAxMaiy+YT`-SH+_I~`A)pmgqF5U@Y`*PG?vjbeRWi&}VwGS;JE2IzB;}{BDG5Qp zlPkCbxx;nz9s6;m8kLH`=BD6x72~PkbT=bP5ftls>f}5nKK(Hb^DZ@1+5QJ!_ipk1 zK@LZh@y_sbBTE>+eaD0*YIn>TUxJRkWi@vkCp^M#D)*D~qVvr7>vh*SHmq^gTS+X| zk(%qF;$GGbzNEzkdvolS2mPv00u)(RmPc=$Ja0ko@fv7smWifNC}2UvDsQhKERESO z@R4`UAdgl76+iz#)5`=c9DJha9fUND)hCsP4r>_Ump_s;W)n!Z1P$;XP&3v$FxPSe zBke+sRzq(M%{^XyI%|*19Ym{EhR=S?@e3QrUuSYUAvK+1_esi75vm1015j9}N;c~y zvEeasD$d{He zT+{-WOf42PfZL0rJCDr4=C944S|)FY^NL>m4T&yffm?>RT_;(_RI3yBK%O}hQZ6VP zsPnE;vb^pMq;5aMVd+35FDX-h^{6$w0;$o3dkDFY*$#M;FbqzUF$b`8=GSR*8_OA} z#!|SzwP*Lku2fx@^eW;5txtQhJlVn2<)XB+Ymy!49Ir$>y%5su)v)r@yFF=6#CZVm71h88H$;lEU~{{ zVMuE0LN8W3dCWVp8mF}FWTMrzTn+j$spMrfj;G!2-6x!9RdbbUx+|?8QMaRh!qB$n zWAcki`d-M|-4cgacRKB;i>ZlMPk-hXWzYZ-BVW>+!mugxj(e#FgMO@Phwiu+sJ}~+ zB}R|-u(@jFD_L+6Yn{h$vgXZ&a$Q4%LUk_k9c-gi%}{H4(0i z$X7bhiCC(pZs%;fu)y5n?vdk0T&Q@Zhh&9_d%gz@X|&)V8=&I_9D4lRyWkleYov+B z4w)qFcct75yQBqowVsw?6{v=ZTrFQEuR!gPq1WDyBV(fll=7?pL+>0JY(de7_Y1vq zW3Scw7z05JwRMl7cC>ac6h$u%%rC^Tc5lQ(ULmSb?9%ekyxik{tPM59)k`wXCN8)3 zzEE!;=#a$U(ugbd)lT_6T@sD2CVIeHNX21?R8alqsGZk89d2EIz*1L5Vu$3ec`^3R zOP-GYui?!Lw^SbMs{MuELyV|r{(@*lv^hxLLJb*y^7QK}O#9U;K|hdi#n$R_wk-Qt zSw0or_Npa*wAl-6-1iWeKO8fxMmYP>yzSn&ct+B8C4IqBzFfq282(Wn-52jzQ1~4v z|GrZpRJ93lEL*%o@;nVM zSGi$I()k)v1`RaX|5Avw2EA{_u*>C(7dJg0UK})Fm}j>YrRf*=gl~y zTc-4oeNUDEDOP|hcGp-`bawjYys);?_BCWUQ4+UDoF}}Dj&_wGtOu}WDv73KL65X7 zDTJAhQp9v6qP-ICk=3pp+?G_q_haP(k8X-xEt6_`nMkR+TU&9o&=usrrc4K<9g^4^ zY1_!w0Gq>O-Z1Nd#nu*GO#IL=zoAu&S9!SJ zgHZ+h0mJwkF5JUL>6Uz$-?YEjiMUZ&aVLnS3iNE4o&T=ErHS)nb>Ewv9(?_QvFV?eCV) zxQ!!)wI>q`v%VRO)i0aZ`zfxp%DsLg-d)~-{3u$Ep&e*Or@fb6&4c&OzLz#-TjkhLwjM#NSY@9t#n z8j*i?ovfmuILz!8e8UzW9&%G0Gzao>+)5lwAvYQJ3Z>qQN?oQ_!T;ahk?pvRBY#E6 z!yJI)Y@TNktkaWZ8kB9!>@SMNXz|mco2>6w|djGkRWs+E-YA4E`fj${IcDd7+#KU)4B#HDUL(ya~!4h zc?$yzuV_p%P{B`2aXY+g)}(mL`iQji!cg>Pcbp!`Sb|a zq)_??;&SQnKFp?&s}Id#gh!XwZrl*_$lM)wXg;iMe z|BwxE6YkRNFkow45l|=^(WY=v&Ig#2Wrq7Jz3-(LLyCnLF%x z*iZerFT6judC^fZ4^Q_IJhNr4wM?>nc-h5V6Fo8zS}kFvWZ{ znW4>9VtM|TKa{hK~QAOI1z9mWp5IE z4A;UJ&@nrz(#HMB9#Rb@k{w{Z)20&8&eYEnn42wloBPGa8J}eX*~X?myU3klf}Q{p z@e5-ZZfz95YwQv~Grrl<{BES4@yzHM-|hs`A^l1*)%WFN0!}J+vIu-iLcePyw6p7X zVA5_3(!ybf&6$P_8Xv};hSuX77WjMDQ}w%2;cwGN;VdK%LWtmmx`%f>=r}BbfaR|T zP;qaq5Ru`pmI&P@@qv6sY3v1CA6!RJ$>+OpzL|p-<1oYTbqps&g}#1BlLZT+$o5!> zn`KaTXmNLSeT{Fc%SP{~d>7l+pufL)?|t`8oc}QMzS-bkZmQ$QK4tLvrAYH1zCRDv zN3CYp<@E^mRB1tTy^$9AzQ{{Ar%M|1ST3$Qn-#+I+x6OZ2@+;Wiu(q#2%(U{ve;}W zb>4b|({IWy?GnYL(Wrf1hP+HRRk1a6o9rV!L|f5w&7ABnmuZ86mhF7uhm;eYmFUdQ zijUatyP*V4ot1#&39b$xAAxIZe$61s@HTt1+vkUehnI4HsqSNZ@0md5r1`bF_}jz7U;bme z`}|R+Td>x~m5h=L!C?&(>9Ru&w18DJl=jq~)Vy3z6FoXr`&`jM4u;w}xmc|}`pG6d z#l-g!%aMJvV|TrwQ?F$lIf?)r?Yx%x3u!xhKBcWlAR(j$!|vz5OW|Z ziq9^ls7;0dj}j+>IgI<~$kI$!;n&;sDSlQsHRFGdbM{NY^$`S;K~z+jIq_E>Bm&za zn4jeD8bkijAx^>S7=FvbF9m*E9)zRV*SKAqO6TK;yR^sxEv{M4N|!>0_q3cw)Fc69 z=h>@;!hqvbp5MnQrjz-lC(Fg3C=W?WFcG~$X0^O_Yw5Hhwd&|b@Hr5i8|;?;dw|10;_eiVmIuXaOzk6VoVtIij^ z46{*lR`ZI_X+YK$=WTZ7vx`!nP)|_Z!>#Wk0b2*|UTR`6gPY7D$|r(t7<{JF9Nc_x zHv5c4n-b8Ucr9WFTjr*{&C3nC9C%h)iAADhekROEBo~cpg2Y-pFcugi>jq}Y6UZh` z4ZKQ3-?N{y^y}d!%zauD4=?A?a`*=0Lw@0g(8rK*UNxs-2oUm9L3s_9Rwi$QhE?-7 zUm;wFp~sw5C+b?Ws!p-Eu=f9ztdR#DhVd%rE(_AN;L<9Q`gSX`|D^NcZ3mE1NHrpk&BaZOAqD zJUVLh4NhVe=~fb2`733ul+Ki{p2@)ftA_F#qts9^2v_w@0#ma^ylA+sa^~ROZ{d!_kL%=0uETgv%pqY8OFHdqNc`3YYa>$P=e=IbJgu^bxZB+b1~ zNgRC+Jqe2cD$AW>{(~38`|XexoStw_6hSZYDB(f{LFP*wdTi$!%}tupzij!Q_HGX~ zKswbbYg?66&U|RScDPAkOdS{4>DieCx}l3uMpk} z*L~AG7s-J{(gnJh8XecrfeI5eX-eq7COX~jMQxk1^b)|L&~;+V+#6efh#Hm>bl-z* zrNB`&hw(9^U8?=s5NAgb6C8llW4<34f1;SHVqNH&l1^%~99>RS`4fkl)T%H2b(>>Q7y~oTR$ZdTM>ZzyBK6w4LhGiIrP0#l2hVf-X{#F~i{@X%NYyPXP z#^;j{&H8fepoeC?`IJ*@gJ)HPcUDh0bMWmaY}gQN96a%)!Rn?BgQsp7-1pEU2hR-N zaZ;tFB{f&kIBbn!92B#RuJ#iS*L0sS%vtGJ+Awa48%9E4hkTLTgXDN14sScVP06=m z)Zd2TF#KJk4wY;5YAU8%G*KceQOy{d*#AWDxxMxH01m@Fe^j471LE z3GyEh@mDsUblygKzxhU0E|k@rLgM&JwN`yQxjAnrI~C8kIo^P`n*LX+C!G-xVn*ee zY27geZ|~-8F8ZS2AaAA-H@XfpjeFl=8ObKR!v>|kclFot+6jA?f3p6dAGQ_G-|yhd zUmE?+A3pt_#WVXqH1fk+Ub$!R>FaKpx98SVm*08f84vyZB=1f0=6uwB%jFwRSg^eB z{?T9l^0-%ytZw|xzkZM!{MU8M&Km7F_N$xTeeA|p7q?A*arm*@p1mP|zwy#b-QRiX z$4j5Q;I*@_JM!M;-+J=Aw;g%TmH9iqeBlw@yQj_{Fvp1nc44+@O|auA(_e2GDKqC2 zM;wBt09|5^;~l(>fN<2;>P!>k;Dwcvx0ztot<81Zfs2l z6?mMWchCbi-T^-)a|R(lK<|eM{z6Rrew0`Oa+_udC#emok+4ourWsP5@u5jl>l*Bd|n0YuT1Wa3M06EgtA) zgA)nVX$zKTM{?F-`6Qkx{~h#`^xu-84CPdYa*`p>=FB8>>sp8qXXrl4P?j>3oi;-) zl%dYJN-NHVmNZVHAI_XcaukviK{^>o?~EY13dxNiodTp&1*sKC3DZl|*-LJ)))Rj8 zjnz&=B$P%IO)8>Ej&#=tC{l2GB+*p%w9d4b;?PYbYq8R5<+}^M&W!0((Vg6Ix+CMC z0p@0k9RlkaP7>@)hIyH+Kf|P2NEhem_(jBT>1gpc5DL8ln*BdrMLb>&tDADTO{Si-juIB={b|0-RW7a z{AbbgnWpC{L*7r*d*qX`P;d36m7;1ZmPjt3s4}^hq?uqX#AD7;c|0- zkeYiNHTO1Y?rv^f+HnKoz2hqV(`om0#Z18TaC*=dgb9 zQ%FD{uB1jDhmahK!wG(e5^Sdg+a*Co0m=l4QX**9g}%Z7{nH8{+WtF}UcyV3t!y#F zbwthlJV?r=tQ5?;dbkV)PD5yGb$wCD6|zj2n_o(`TWL9@6Z*aMHK(qV2q}q>&*(Ok z$#%AQEvA>@cB4wCAX}r5jMpM0GD6}FH4xoC0%OI;bo+S3*sE9C$C7OAe8Sp-5*Mh$ zZP6VrJH9O)u2p>t()cCOw5~ZdpQ*H0Pe96m)-FII)WNnPM?}F>l=?NLeg$aPfOZAw z)_`sW=+S^41?bg)UIobFjW)7K#ND$}9fm)SzH3pETxjaWShmz&y`?#W6In&0RlVEr zUN7&m*;No1WHBY}u%z0dIo^kW32w5%0BVHHFQ?pMUf4+iA|+VZA|49@iVT5l;W1@dWhamsv#)kB`6hs8 z_Hy-@Ij$5!=w+YZDfUz+>7@@-d0mv(-yPaCQtB4ds%@amO>iQTu%w8_l!}I$7ovVd zS07~tv(QnlOG%BVosJk+^5P^pbR91;$8$);r@X;oRv*+YL85I%XTmMP{~#rEf#`Od zO}j*6y=E7$l6<91oy#yRH^!`zTuu{sDe}{)qjTveySd6DMJh^>(vq``OZ`3yL_%wZ z1#*eIC`gCF+#_4I&dNex?J~$Q^1qO(KZ*R$nCL)mg2j+V&&>KO(Tkds-83TWPZUH} z`zzbTk#8R!HG_O;oXj-y?c!(iq($`#1P5E%@2|FseYB8p3lW9jPQYG6; zhE!aUj#GrI>k$yX^RzNA?`d6Y>oh;i68H$%sY*kz|by|6EIHM?_w@}cY)$b)1)u=;AwG?Xt zL-*G|wgyA|qv+X9#MtoS`PNEbkqRMvVq^C`=(@Hd3(Jzh)ndr!Ju=HjxichgJ+*Ug zDb8GOR+pQE*vNNezB*y-k>^;hN_6W1Xvt_!R; zz&{KtGvHrtNBkRngZz8H@NZ_6e;8bCeSZ`G;OD_l6aNMq`FF~$_&2EdH#214b;7=x zPCZRWrBuD#dSmPx)a-k7SL|c{eTUvH;9u{q+Pf}SCQ`1#)aL51f?C*5kV<AhDH3jQ_WpbS1SAg zYHsz_012-$jT$Yim+I5V(2dCdep=g0B`=R+{e!TA4*+Yh0ZT$#;+lq;i>k<6b8fS2 zJDJ8ZZDVpq`-WXJC7MCg%}djvsVOGpoZj$1vnq+k{q(PM|tx}@%L(f zi@%3BTD7B1IeG+>Z5*5BY~nFC6HR{sD$34him?GfV#~5{g))eKOFtxx?3p+IC~W0* z6L`UHj~n|-ImsUNnQfN87X+^|+pPA-^;n53#M!zJs^#9g=uJ(#!0qlhbhJzp;VCEW zuE8vBzf2Rrq%bfNFV3cpj$@H=ChvSoJ2J{qygL7PBIkT`ZRvf-TqMyX6Y7OaqoFz=#I0qhMOu9{*qv73U#v zZZm!AR2{3j)ls8V8d%%}lYJqQt9=m8MbaWb*Nh9bAM1EG*W>LX3fE7!?o&*kIxlBp zm?iWCmJ7%p~(|;SXQ5@#+961W6KgNz(X7yuEI6MO3t%=4ubjoSfjbzi?+H>h`nW4Jha0^CE zEw)^Iv5~orn(I}jkNP$J4yYv>0fBd=w7i3x)i~NR9!6grDNoQgG_e0pw# z8~WSqtNt&t$~H;=1R{|##r!P{@TBRV2-V1;Gr~}hjh$AC`-F~5;2h_lT1EDyvuOa}(rQMR!#Q7Fd#RDA8Wi7^ZvMRaSEqW~WPhq_$8Av%jV{1@TM1q%H zoPo+|BVUm+Js*~-N9URu(lgxNSSlURJKRAwJLwHf7KcIASBXxv25*HWC)!KV>!#F> za&>CG4XO2#A<$f$ozj#rF5XtBF^p|2%Q%oamhO-TosQ?MX;JlyH7a7TaRfb+k@w!p zZO0m)k$;0%tOiO}PcfEDX-{7<)|;lPL&jaM$c&lbicBN@C+WGL9_pTrrBs=Fs43_RV}k!4df!aXed-zcdJOXPPHvPu z*OwcfiNV$FFczm7;1$BaQDtmIT8(b((#q4O%fjJCgo8{D#^~Fj_!Q9I{Nw8+sqL-Q z4m83RLP)AGmH_`wHMUN9_SO&7v*w>_$bj7+z$y(Xn*#yJc$u(&r2@m0H;OsW$@(AR zdGBIdha<~CZqfFfPM3^l&#ha}1#N*Bq{Hbih!y%C01>vA4_JPp&De?8T};Hn~`I^a0*v3Gc4`) z47W+oUv_nf!_3udFBs$WaJ-WV+Lg+tvzbIovDF->F49iU!=j>nYm$c?3%!WY&g-y-R6*mG+4@E9eT8^anW zRYOB`LT@0Dpq`W0f@&Yb_%0-q2tJNgAP=hM15w;()C#kjNetZ*he!d%N8 z<8%{ai{j)iy2{rglq8#pWbjFrb@!Ac!>niR#AhK|lN6jU|U8jk=MKhamtyLYwW5rV8AyF+m#MD$V<>o3WcG*sL;bX4lj18Ms0Rn3gjl-0lwl)``!>(II zmbJCHgv75~k`Wi6Jp?U>(6WN|60{ORD+=1DZ1_D4y#|4dVG$BlBa4uWxo*IX@(gAg zhXtSFNe1WY4+Ce3==XuBe!maJKg8^d!agmq2E5M*tf6oCEMP}SA2*MCLu=i{8tGZA z2%;5yF0}u!mP%t0uZOcujLctjtFr~X5=h$34t|?(Zgq2mzvuUsQW%&?WCx!BFp(Sl zJHNM-!@!ngcJKuNlexi{`Mm`UB%@lEGpvby)Hq^4J&xE<0ruB`{RO}gWUNOdjG4^y z11Jph6=c|1Sd95tH-|xlx+WU8J>(EqA?Cp82uXK-3sGSjd7?VdYA^V;|iTQVIAhA zDYo)l4H~WaG@>1@qaCj39H9Y6L@TGC+QVnXxb`-m3fqdh(PE07*_+e+o_TZTVIG@) z73RY-8r%e5W35#@-m`ZH!$emoYHi=Gp7sKr6xGNk!C!IuaKQxQ$xa=VM z$HNr+z_yHMmq;zjLbMZnQ`u7(Kbgj2*E@Es>)KkrRlV=p$c0Ju~Q; zNe?0>IAY>Xr$FJ@L-d_5lLU>MpKmE*@Nk233!?7KS?cC|i(6L?WoGG@8*e+tb zi0vY_i`Xt=Gvhtsyhp5`sbeR+M2_Mx=RIbVj8CHno; zEVi7Yn!!fh4A{YQ4}D>OaGDXWN&BC{Sj5JHsiXQeGVQSEknqT|vQy5Ql(IH6YE}nN zLOm(<=xL;4YqlVBK7ED$!VDUt+>yZe5Tv$tX+y8ef5f6e%VzUJQv1!z+{m4*OG|#v zlq9`rkwLewk`u=aEQ!O>)3_uKip@*npw+Y_4m7-2{2o&Hf z=|QXsILzQKC@Q9Pw#GbLVOBMuDjIUUW;8Fr15&tObw_Gh9a*HY_Zjj+#%PR=)Tyhz z$&h(Y=8~T0Jl$xX=e#e%$C45TVMoKl`ss$AzobEeF^lB^uvA2RvWrJdO&|p7HSg0y zaAP2^d1oXOve+G2v<`Cy&Ha58Xvoav{LiZn>r>n(_zy{6avz|xspMZ3#GW2OoK1r@ z1?uh9pk4tHWBng$$2XJ%dLF$hCvWjoGMP9?rLfGDCgOij2wFM+fpENG^Vk$^Dl!ph z@gz{$?oJi+;`YA_K-$tf6N;{-X5}r%_P=HD9K2<0ruH+N_h=zfCcy*d*VUfVb}=@M zx6*?K@mYe?2-hG(*6_$ZKPG#(4yI=vJ#VLH13l-{^D_*XAIE?hR);h4H+Fsz&L^>J zE3&}kR3D(`+J`cxN*Q9&w}Hij?Fd@%WkBz4hJuSD*VdtBtE-rfBD@BKppFpPf%zzc z-W=v8?ed~6$*0SUvcXdb$IO7c>2@6eNANoY^mD*RbpRZ}ZxLW3F*mY_lhL0unsWXt zK!0sCW$arBdK^JtLs0NjI6uSAhvB@7onL_SW_ErF&iAtOD{x+B=<;mB9tCQTR()$k z@HDxK?`TNz+eq<`fFHCY9{w*vD=L(i{eyo4)L;EE2GjNRt?D-N`|lu$ynseIB5_I{ zzr%#H#Tbo#TH__6kJX`-m%hGzyVAMWQ_knGEFz@bVpcOr<1D4NEwxTO)2yD7Y)CVz z+*MKUV7r~CGSWMtmTv>Of9;r@=`v%~+85c_dVM0g?$EeEVF>OUTg$MFHPXyHs{t>m z8eg$ns=6T6T#zcJ{_TA!%wg=)l-;$|p}@3rO#g%Qn_ct|PGiNiX~b1$T1@6!3i;MT zzK!TUHZ5I4>L*KbJ(uWYQxTnM4cj@MzekEaV`(>2obB>Z9Qv2H9;XzdljtEmlt|F1 zH$lTvu9MbuSSQ&|d*nW3&h$SGf%yT(*>UMxbHk1_1?eGk!#%3ct+eUxm=Jyp1TP-^ zh*|I%Lne1&9`WMW%!ql+%MWv@A4BBgQnOziMeUfaI=o`9SzStb^qeVNA=8oP5S&$O zX_Q`Y)IYJ4zoqP%&9IHEnG#m-sWt+@7i<%%`P~ zBKXf6;F%EqOR+%KH-?b*_=R+5`K14AgO`$`eJk~eGX=g=$3T;V$fb6KT~BH!lnAMP z8dtK}bwQhKPb9elZQbU+$FN|AOA{o9NBg^nNuByuxx-9^OKzhIb(+TOWAE|c@Y;eaAd2i8D15kRO3;Ayw%Sgc&!2gzH&)AwF z)xW`*9X4b&2O|pXbcU%!THGKz+@L08{FR

+ Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Provides a set of static (Shared in Visual Basic) methods for + querying objects that implement . + + + + + Returns the input typed as . + + + + + Returns an empty that has the + specified type argument. + + + + + Converts the elements of an to the + specified type. + + + + + Filters the elements of an based on a specified type. + + + + + Generates a sequence of integral numbers within a specified range. + + The value of the first integer in the sequence. + The number of sequential integers to generate. + + + + Generates a sequence that contains one repeated value. + + + + + Filters a sequence of values based on a predicate. + + + + + Filters a sequence of values based on a predicate. + Each element's index is used in the logic of the predicate function. + + + + + Projects each element of a sequence into a new form. + + + + + Projects each element of a sequence into a new form by + incorporating the element's index. + + + + + Projects each element of a sequence to an + and flattens the resulting sequences into one sequence. + + + + + Projects each element of a sequence to an , + and flattens the resulting sequences into one sequence. The + index of each source element is used in the projected form of + that element. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. + + + + + Projects each element of a sequence to an , + flattens the resulting sequences into one sequence, and invokes + a result selector function on each element therein. The index of + each source element is used in the intermediate projected form + of that element. + + + + + Returns elements from a sequence as long as a specified condition is true. + + + + + Returns elements from a sequence as long as a specified condition is true. + The element's index is used in the logic of the predicate function. + + + + + Base implementation of First operator. + + + + + Returns the first element of a sequence. + + + + + Returns the first element in a sequence that satisfies a specified condition. + + + + + Returns the first element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the first element of the sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Last operator. + + + + + Returns the last element of a sequence. + + + + + Returns the last element of a sequence that satisfies a + specified condition. + + + + + Returns the last element of a sequence, or a default value if + the sequence contains no elements. + + + + + Returns the last element of a sequence that satisfies a + condition or a default value if no such element is found. + + + + + Base implementation of Single operator. + + + + + Returns the only element of a sequence, and throws an exception + if there is not exactly one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition, and throws an exception if more than one + such element exists. + + + + + Returns the only element of a sequence, or a default value if + the sequence is empty; this method throws an exception if there + is more than one element in the sequence. + + + + + Returns the only element of a sequence that satisfies a + specified condition or a default value if no such element + exists; this method throws an exception if more than one element + satisfies the condition. + + + + + Returns the element at a specified index in a sequence. + + + + + Returns the element at a specified index in a sequence or a + default value if the index is out of range. + + + + + Inverts the order of the elements in a sequence. + + + + + Returns a specified number of contiguous elements from the start + of a sequence. + + + + + Bypasses a specified number of elements in a sequence and then + returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. + + + + + Bypasses elements in a sequence as long as a specified condition + is true and then returns the remaining elements. The element's + index is used in the logic of the predicate function. + + + + + Returns the number of elements in a sequence. + + + + + Returns a number that represents how many elements in the + specified sequence satisfy a condition. + + + + + Returns an that represents the total number + of elements in a sequence. + + + + + Returns an that represents how many elements + in a sequence satisfy a condition. + + + + + Concatenates two sequences. + + + + + Creates a from an . + + + + + Creates an array from an . + + + + + Returns distinct elements from a sequence by using the default + equality comparer to compare values. + + + + + Returns distinct elements from a sequence by using a specified + to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and a key comparer. + + + + + Creates a from an + according to specified key + and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer and an element selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function. + + + + + Groups the elements of a sequence according to a specified key + selector function and compares the keys by using a specified + comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and projects the elements for each group by + using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. + + + + + Groups the elements of a sequence according to a key selector + function. The keys are compared by using a comparer and each + group's elements are projected by using a specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The elements of each group are projected by using a + specified function. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. The keys are compared by using a specified comparer. + + + + + Groups the elements of a sequence according to a specified key + selector function and creates a result value from each group and + its key. Key values are compared by using a specified comparer, + and the elements of each group are projected by using a + specified function. + + + + + Applies an accumulator function over a sequence. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value. + + + + + Applies an accumulator function over a sequence. The specified + seed value is used as the initial accumulator value, and the + specified function is used to select the result value. + + + + + Produces the set union of two sequences by using the default + equality comparer. + + + + + Produces the set union of two sequences by using a specified + . + + + + + Returns the elements of the specified sequence or the type + parameter's default value in a singleton collection if the + sequence is empty. + + + + + Returns the elements of the specified sequence or the specified + value in a singleton collection if the sequence is empty. + + + + + Determines whether all elements of a sequence satisfy a condition. + + + + + Determines whether a sequence contains any elements. + + + + + Determines whether any element of a sequence satisfies a + condition. + + + + + Determines whether a sequence contains a specified element by + using the default equality comparer. + + + + + Determines whether a sequence contains a specified element by + using a specified . + + + + + Determines whether two sequences are equal by comparing the + elements by using the default equality comparer for their type. + + + + + Determines whether two sequences are equal by comparing their + elements by using a specified . + + + + + Base implementation for Min/Max operator. + + + + + Base implementation for Min/Max operator for nullable types. + + + + + Returns the minimum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the minimum resulting value. + + + + + Returns the maximum value in a generic sequence. + + + + + Invokes a transform function on each element of a generic + sequence and returns the maximum resulting value. + + + + + Makes an enumerator seen as enumerable once more. + + + The supplied enumerator must have been started. The first element + returned is the element the enumerator was on when passed in. + DO NOT use this method if the caller must be a generator. It is + mostly safe among aggregate operations. + + + + + Sorts the elements of a sequence in ascending order according to a key. + + + + + Sorts the elements of a sequence in ascending order by using a + specified comparer. + + + + + Sorts the elements of a sequence in descending order according to a key. + + + + + Sorts the elements of a sequence in descending order by using a + specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + ascending order by using a specified comparer. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order, according to a key. + + + + + Performs a subsequent ordering of the elements in a sequence in + descending order by using a specified comparer. + + + + + Base implementation for Intersect and Except operators. + + + + + Produces the set intersection of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set intersection of two sequences by using the + specified to compare values. + + + + + Produces the set difference of two sequences by using the + default equality comparer to compare values. + + + + + Produces the set difference of two sequences by using the + specified to compare values. + + + + + Creates a from an + according to a specified key + selector function. + + + + + Creates a from an + according to a specified key + selector function and key comparer. + + + + + Creates a from an + according to specified key + selector and element selector functions. + + + + + Creates a from an + according to a specified key + selector function, a comparer, and an element selector function. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. + + + + + Correlates the elements of two sequences based on matching keys. + The default equality comparer is used to compare keys. A + specified is used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. + + + + + Correlates the elements of two sequences based on equality of + keys and groups the results. The default equality comparer is + used to compare keys. A specified + is used to compare keys. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Computes the sum of a sequence of nullable values. + + + + + Computes the sum of a sequence of nullable + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of nullable values. + + + + + Computes the average of a sequence of nullable values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Computes the sum of a sequence of values. + + + + + Computes the sum of a sequence of + values that are obtained by invoking a transform function on + each element of the input sequence. + + + + + Computes the average of a sequence of values. + + + + + Computes the average of a sequence of values + that are obtained by invoking a transform function on each + element of the input sequence. + + + + + Returns the minimum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the minimum nullable value. + + + + + Returns the maximum value in a sequence of nullable + values. + + + + + Invokes a transform function on each element of a sequence and + returns the maximum nullable value. + + + + + Represents a collection of objects that have a common key. + + + + + Gets the key of the . + + + + + Defines an indexer, size property, and Boolean search method for + data structures that map keys to + sequences of values. + + + + + Represents a sorted sequence. + + + + + Performs a subsequent ordering on the elements of an + according to a key. + + + + + Represents a collection of keys each mapped to one or more values. + + + + + Determines whether a specified key is in the . + + + + + Applies a transform function to each key and its associated + values and returns the results. + + + + + Returns a generic enumerator that iterates through the . + + + + + Gets the number of key/value collection pairs in the . + + + + + Gets the collection of values indexed by the specified key. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + See issue #11 + for why this method is needed and cannot be expressed as a + lambda at the call site. + + + + + This attribute allows us to define extension methods without + requiring .NET Framework 3.5. For more information, see the section, + Extension Methods in .NET Framework 2.0 Apps, + of Basic Instincts: Extension Methods + column in MSDN Magazine, + issue Nov 2007. + + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..2806e1c82e450ecddd4649996e82d399bbc5c2d7 GIT binary patch literal 383488 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εg} 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 Yj41GjjkF-gad&@=%5=Xd|275w2{wi_sQ>@~ literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.xml new file mode 100644 index 00000000..8e1b594b --- /dev/null +++ b/packages/Newtonsoft.Json.5.0.1/lib/net35/Newtonsoft.Json.xml @@ -0,0 +1,7917 @@ + + + + Newtonsoft.Json + + + +

+ Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..2bda0db9de4097db65b7a310f59eed9ff06f4b82 GIT binary patch literal 412160 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 Q_Y*%yb^1kBe(DzZzb;GIG5`Po literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.xml new file mode 100644 index 00000000..6ceb0ca1 --- /dev/null +++ b/packages/Newtonsoft.Json.5.0.1/lib/net40/Newtonsoft.Json.xml @@ -0,0 +1,8225 @@ + + + + Newtonsoft.Json + + + +

+ Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Represents an abstract JSON token. + + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Represents a collection of . + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a JSON constructor. + + + + + Represents a token that can contain other tokens. + + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON array. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Represents a method that constructs an object. + + The object type to create. + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/net45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/net45/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..9adda64d3cfc50b43a19bbee1b334bb569df8b34 GIT binary patch literal 413184 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 + + + Newtonsoft.Json + + + +

+ Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a binary value to and from a base 64 string value. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an Entity Framework EntityKey to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the XML node to a JSON string. + + The node to serialize. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + A JSON string of the XmlNode. + + + + Serializes the XML node to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XmlNode. + + + + Deserializes the XmlNode from a JSON string. + + The JSON string. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XmlNode + + + + Deserializes the XmlNode from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XmlNode + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the list changes or an item in the list changes. + + + + + Occurs before an item is added to the collection. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the properties for this instance of a component. + + + A that represents the properties for this component instance. + + + + + Returns the properties for this instance of a component using the attribute array as a filter. + + An array of type that is used as a filter. + + A that represents the filtered properties for this component instance. + + + + + Returns a collection of custom attributes for this instance of a component. + + + An containing the attributes for this object. + + + + + Returns the class name of this instance of a component. + + + The class name of the object, or null if the class does not have a name. + + + + + Returns the name of this instance of a component. + + + The name of the object, or null if the object does not have a name. + + + + + Returns a type converter for this instance of a component. + + + A that is the converter for this object, or null if there is no for this object. + + + + + Returns the default event for this instance of a component. + + + An that represents the default event for this object, or null if this object does not have events. + + + + + Returns the default property for this instance of a component. + + + A that represents the default property for this object, or null if this object does not have properties. + + + + + Returns an editor of the specified type for this instance of a component. + + A that represents the editor for this object. + + An of the specified type that is the editor for this object, or null if the editor cannot be found. + + + + + Returns the events for this instance of a component using the specified attribute array as a filter. + + An array of type that is used as a filter. + + An that represents the filtered events for this component instance. + + + + + Returns the events for this instance of a component. + + + An that represents the events for this component instance. + + + + + Returns an object that contains the property described by the specified property descriptor. + + A that represents the property whose owner is to be found. + + An that represents the owner of the specified property. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Occurs when a property value is changing. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a view of a . + + + + + Initializes a new instance of the class. + + The name. + Type of the property. + + + + When overridden in a derived class, returns whether resetting an object changes its value. + + + true if resetting the component changes its value; otherwise, false. + + The component to test for reset capability. + + + + + When overridden in a derived class, gets the current value of the property on a component. + + + The value of a property for a given component. + + The component with the property for which to retrieve the value. + + + + + When overridden in a derived class, resets the value for this property of the component to the default value. + + The component with the property value that is to be reset to the default value. + + + + + When overridden in a derived class, sets the value of the component to a different value. + + The component with the property value that is to be set. + The new value. + + + + + When overridden in a derived class, determines a value indicating whether the value of this property needs to be persisted. + + + true if the property should be persisted; otherwise, false. + + The component with the property to be examined for persistence. + + + + + When overridden in a derived class, gets the type of the component this property is bound to. + + + A that represents the type of component this property is bound to. When the or methods are invoked, the object specified might be an instance of this type. + + + + + When overridden in a derived class, gets a value indicating whether this property is read-only. + + + true if the property is read-only; otherwise, false. + + + + + When overridden in a derived class, gets the type of the property. + + + A that represents the type of the property. + + + + + Gets the hash code for the name of the member. + + + + The hash code for the name of the member. + + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Initializes a new instance of the class. + + The that holds the serialized object data about the exception being thrown. + The that contains contextual information about the source or destination. + The parameter is null. + The class name is null or is zero (0). + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the interface when serializing and deserializing types. + + + true if the interface will be ignored when serializing and deserializing types; otherwise, false. + + + + + Gets or sets a value indicating whether to ignore the attribute when serializing and deserializing types. + + + true if the attribute will be ignored when serializing and deserializing types; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Represents a trace writer that writes to the application's instances. + + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Get and set values for a using dynamic methods. + + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the ISerializable object constructor. + + The ISerializable object constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..4b8c1d2ed318643e980c4d0bd29cd8303964a1c9 GIT binary patch literal 386560 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´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⤶P(U{RIK?XmT0`K;Ozv51=kB+ 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 literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.xml new file mode 100644 index 00000000..a0c871c7 --- /dev/null +++ b/packages/Newtonsoft.Json.5.0.1/lib/netcore45/Newtonsoft.Json.xml @@ -0,0 +1,7750 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..562c934232c1fbe0629c4b19194813e0a9de69e1 GIT binary patch literal 332800 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 literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml new file mode 100644 index 00000000..758e7fbf --- /dev/null +++ b/packages/Newtonsoft.Json.5.0.1/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml @@ -0,0 +1,7346 @@ + + + + Newtonsoft.Json + + + + + Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..4eb9c7ff74337aaadcc376b14fca7e561585e218 GIT binary patch literal 377856 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 z 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

FK53Z3u^==z&eRiJnX7`G`7r@N;^$ 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�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�QsLhP8pLib9rkm?Jz54l z&l6wJ#=`%SHV&Q_i7#st;Moh}+(63$k81bAa}2~$Lz@iyQxMl6+EmzQG%xH%5c{~6 z1N$uTyfz)43n2D!Z6@rWh!?fl@H7#B*7D)MM7*rcf&Ui}`?xk2_7!5YHXruy+Cp%w zbrF_kf*6z5#jwYN7?ake;6&>(c(Onog{{kB-%FfqT?tP%af-DJ{;42FrnMZl7c_`z z*440cKm&fmaV_lW#F^Ih@XR32vfc;(Y+}Cke)#i<1=a`Pp95kJw{C_#7sT1MbqnnI zAm(uE!>|_;7g-;Hr-)c=-46d^;!^A5@Gl{jSf7A@8Hj5}>r=3ogSc;Ft%AK0Gzgz{ z2kbIpx%C-%RuL<#&%(bN#MPyBH~6^qd9c#@0(jW^5_sCW7i_Zb120-%1%I}_4*p?% z6M6q6{$+g|o)%(=?H$;mws%37tp>c=b_fi&9R|DFJ^;Jfjv#M$5Ob#OW3Z>~D0rvs z6R@}KIN0CzIXKYv1vtp|72*ej2I01y1mkSqfFo?*!k-A@xNJKOCfgdoR9hpMZaWK( zww(hrY!|>x+fU#)+eL7^?GiY_b{U*zy9(ymeg*SvzoE>0&>*hbu7lTXe}XNxzrcTN z|9~dDf_sOUxSzP#~umh*zxnpBG29xoMZ0>F1GgoOYA+t4fZ?0`|Z8J$LzhqC+vN} zXYBpJUG}@d7wiMUm+gbWSM5Wi)Sd`_X&(iiv?qh#*;By= zdpg+GkpXsaj8#pz6KKR8%^z`J)FGO|FmX*W;>n$2lL>eGD!^3nnOX9L*#drTwu0Bp znmJYcZnlAcm>r<7*zruycuN>K#u5rQsJAXx*X3oN~zy>bS9OgyhfMXe+{wZ|y z2Io2Yf(sn|z#_-pV6kH$xWq9SEO870OC3YO6^=O2=ZFVaIfjE3jzn;sV-&c-kqmBh zq=K6q>EMHo4DcbxSa7Rj9JtLf0esYv1wQ7u7p!zl2A_0H1)p|!!D>eixYIEm+~t@F zKIfPX?s4RUFFNLcFFWRfuQ=v|`yC6x*Bpz$Hyn$>w;W5s0!J_Kpkp~0aI6I1bCluU z?k^4#o}-%Nd>kC$Tn*miTnoCL>%n2p`@jU}{on}a1K>#KW-!UQ1svmi7##0>1f1yH z4)%AJgW1j}z$wnBK##KuoaWpC<~pANXE>h)XE}F+dCuqY1Xraq9(>X{98Yq+@3fhh ziCU)ye&}?VpA)~genC7Z{%HM@_)v^=Wq@wiC~%l76-;oYgCks7;5{xAnB*D@rnn}6 zX|8+0(XPqh7}r!V)8z%nyK?Xp*jCru;0D)TaHDG`G6(bRORwN!s#wV3Z)Msg>q;6 zPVn?cq)-MRQYeEEX;6~dPqrA85r{M>BN1s(653n96hs=7G(;Md(TFrEneZEx@rX1k z6A@`tCLym;$ws76nSw~8;z6XU%)(MtnSn@E$we+z$wQ>76d+Pn3K6L)^AM>izV@e$ znz9O!no@yWnzE*S13c>xsVN%}sVN%~X;u8hZHTlgk0R2lJcdZCQi({b@+2ay%2t$S zQ(i%&P1%J=oAMkYZOR_hZc|=Fq)mAlkv3%~T4h%b!edtswExX&SKdOTT?t^RU3m{B zbXIQbU=p2`s19>NIxF2fT!(#ohq;#F}F`})_|k1k+5{edl@DWOUSrK{3M$?S6d9%ZOD zG-l`*LqpyD+!{pDB z>yxh}cS;$Yl97^~GBxGFl*dwbrM#E&dx|r)V`@@rM(QJ}ds73cb*Z1EUP!&1YD{aJ z)-CPMw0>zr(h}09q^(PPFl}Gj+i8c=n$rGGYn2|Ieoy*{^oi-7^abf9=^N9l(+{S9 zlYTkfIJ)iVJ4d@mj~bmbde!KSqqmLrkA80SFQZ#Vn={&F#AMu;u{~o)#=eZtGkT6m zA9L@RC1W;>sT}jpn8Rc0#+(>)ZA{eI=&^T?9Xhsr?0sYXV_zHl>)5}>Iy2j5cFT;* z9F=)*=A6uxnOicS$$TO6wakN=7cyhU4I7s-Zv41u<2H?}9CvcuxpBXZYd=1B{M_+x zj_)}kX~O6U%OyyK# z#7;??GHuGHDUVL^PkDPv{ggpdCr_O*b&_|J*FG(4+MH=+(;l9-d)hnGj!!!~?fSHy zIfHVB|ES#an|CT#XA*W#N|R#{3~`RlQb?Se3TQvuf6=)vNAbRlRD@s>7>} zt~$Ny(ki9gUVcaU-Q{uR8Rc`zYs!BpPpC+#m|8KrVn@Y$6`xj|s`$C0rNXrOw$*p6 z9;#+N1_2C&xoZZSlJQ^)t9g+{?o5BC} zr-*5xGVx!1`TrYVSDftrzvI4sM*7V3bb$p=4p{KCK$z%{@7M3fXCOY4aNb&sbG8RC zEA7Ob^qkl&_K4@j`*^0k4s%mIzMcOTpYITR8lNCO4fuSIPa{5O@Hvam5BQwJ=R7_a z@c9v+pYUnI=OR8o<8uk0U+}q%&lP;G;?s=JulQWU=Qn(Q$LIf{?p?s_x~?+8U9K`F zV>^~#BymC_lcYUKaM^lUR#H(?DwULyC6%Ho*>U1fxpnWU(v5E2TfX;}q#{Y9Kpq_+ zK+FuC89s)OuRp#fGhYWt(>%Hd7);ZcM~64z(R4E%UY(``bh?3rJm&w`TKjd*xuq+| z2|bo?owMI-uf5jVYp=cbKA*<#Gx+@-exJqfbNGE8zc1kDCT4JK|J9g*PGN32g<0d2 zyME%l`wIMS!0#(3hLHM0$nz~o?QI+l{|0w6e$SqGx4Q*<)4TAy6~Egj{)xL|;``m5 z6F&*B{GWtZ{!hB+;`coK?!xc+6F-L&QMXNe^~A^Et^YCiBK&qw{EoYO;&&nAf0t-= z``xe0ICSjUwdbaLAx>mF_&U6J7xVSq*GjnWrX@VI^r59+wC81uzii>JM}4g4>rtNd zyxkp?dfx61OZXqUC3#-4d{->|jc!BoeWTmlMY{P$i+`8Jzsus^%+T3>v@l* zzsJ(wW9jd47k5n|-+L_IH(S1MMm|L2doJ4Ew_3SxMLEWQo5g>d#ebXC_id<;>EC7e z`b&GRPAEQG_Ix{@?El**te+E#*DDi$cq_}lYeMnyt_j7*cUZaavV7lV`95gj4Az^5T1`({I6R4uUh=CTKumgp6&gnJ%8Jtzhlqev**9F z=fAh-AKLRj+VhX>`6u@LGdv0Rp8-FFp2W*9SiWDf@Gn{T z-&*+JTKHEi{3{mzH4Fcmg@41szcHzF_8S)eTNeLY7XMoo|1pdIn8kn0;(r(M#MAHF z^AGI#AME-6+VkV~{9}9msXhObJ^!;k|BF5U!k&L+&rjL&zuWU~?D=VX{+&HPXU{L# zb7D&2o3!Wk_PoKK&$8!@_Pp7ix7hPmd){u(JMH-#dp^&e&$s7S+w(>CyxX2Hw&zRn zV+cb?y>Ma7Jiw9UxqO0|7BA;PrSn7Ut#gDu=sl|{$4A8pM~$U@E!~Av2uH? z+&+unXYud2AGPP3 zL=UDi87JlCK%8$>t@bfLbu;;+q zd&l+PyPx=e)mJF}&)IX{o*%d8f3oME8#UiPdmgaoL3+E>3xC0$6L)I-g*z2b8}{tk^Lvs0Ra1ZPn!BbRKJwJ$hvr`}_2Ky^ zrrvzwM`O;HQOwFA7Z9IPuW&Rz0{~o_5@%uyk{s_N6!|xOLeGM-l&3_`MFl6ZoCRZyCQc_`LzY8T_7@`hlgx zQ@^(KM!Y`-e0<&1%8Z)(H$6G|t#5j4 zYWlGsntcCbzc~4lue)n%&(}RQ+5b8>b=%5a_RGSFArZ`Reu0Ozv7giSTLs{``(z>pwbqr2W_UJ&E`SZ(Kcb zKYky-;mi(^}rcMp^-oCcA_x28c{jE13 z{*Cy(aMwpKzHryC@edkdbp>g2>4el7f-n*5b_ zzF_Ki-U*s{=SP5>yQXddZr=acT~qIW>?4!k^RA~Rf88Ez_cOrFU*7Sl{?|_Z{(GMdoc$qi*99DZ zi|0pB_9J+H66v46~#md zwc+%ML9aXA>U7)@yc}tF8+}+-H;YOZCMS6w>9>bPUm_M)-&!<>3oXa0&K8Xp;!6#< zrD0=ONN&r(>hx8U=6c;>qunj~d?_vuCGT?YLZOXn8xlF&?>DeZjPegRI$K)l(y-s| zu1lnLL0-?o+I?Bx&h&emMSrNpq4UwZ@xida)g1QvuWNK$9ahSmh`)&P?66=c zhD#lt4k-g^*yAQdySc5wu(vVSFB-#kQt?~%xTB3>W2qR%tc+N0tagels#tDs#F!(E zLE#=Mwgnew8g1gwK$Y&tpyFu0yR{MH9xnQW6biyn9P9Nr8pF_kMxAN&2SpY`Al}&P z#>iuxUSn7)Dsg#P%`r?6>k&RX#2~J2flLhJN)LJT(RPz)1Ci$O^Ou{&CR6glVW`ja z25n9DqyU^1t+`&O1KMS|@<5(!cOQ2P%l$^PFybiZSStGMMyLJtGLY_QyRqKw4TkOJ zAT8wkf_jEIY#4>1#GWcPdSJSwB^##D=Z5VLx>pRQ3H6bFyR}}p zV_Us{E|MC8I^AN*UiVrwWBQmcu3 z-SXCEr$EVLTiqt|%ELnYG_+qI2i&ZpS|2E4FZ=w|Cseqc zP$6>SY~zwU3p};aceil1SOXG(va`jY*8xAdqs3Zdt23-7oB@sj3UXSJLEsa%C(+SsGTgWur zCJq~Y^a`Z6DyU2dS)23%Dge1K=ur}6!pEIxTtovzcQtL{4I7=)y;kAu`AEO92_ftl zf3(*GF?WYd^Y3Z;e5dfq_L`<1Et;K1U)hco#Gub*O$MZ5XdA5{43;s!7>adh@sdMj~!l-r{BS{Gdv&^5Q-TxC`uoAxCMIkT$r104t-+ ztX|5xoF`7$#Ck$!Rb>i~8{rV&UymhgtyV`+iqrlG@s&CvanM1EPLfB$N4DA>>J3DT z)L-_4M5Q#LWpNp#B2*9Hcw=HP&0U6N@gtabp#Ju| zjgBaG0Yu^HL6x%!tPM^qYW(X_BQq4{GG&@dZqMLZRVaHIE|-iG)jAshb_9@7b3$L| z8er>I5R}I;Cl!4t0-={)^f0a~)Dtp8E=x6-@N+U|?;qGd-)%w)R8|wyLElNrA1yk? zI<;5uD%2^@9kGEC8EncBbQ?$cS;U^FisAWQ%aedbMw)jEC&R!e^7$lSInvwewnjss z6_d-L3n`wFSrrere7=u4YpJnTETKPCu!wewfTrs>BU@|09XjS!dd+qU+M&LQN`uz+I7o}M ziE)%Ptaa);ahHrNpc6%_*VSZUAYH|744S=ur@iV_X_XEbBe;d5?ZIYmAPT(cv=P?9 zw9rty=@twx5RQPfnla6Q`zRwT#kp3{N1$tpPb*vMBplmEQ_CFsWv_WXgnKSewg*Ed z9BcOnL$|zCG<#hr$CN@tc7th{&Y%{%Q~1+vHU>k_Wo{XXpxJ$Hd4B|BV-rip?oeCz z@+sBW=Q_wBC|a=TLj$U@mfryY=Vuafo9iM0Emd%t!Fqv=o-i0o^t71d7C6&lzR-aF zjd?k2o{B-Iz>x|nth5naINckz*S396=FT^|>s&wRBA;y}okQ7l#Yw6U+DB=T<7K+? zY8EoRz@sOfU6%#46k?30t{TB*I=mrR$s2P95<@9>kw%u46*GLuN=^ib8bTI3Eq89K z-SSU&s&&Af8x(zLNmRZ3&{J~;H$a>N(>`)x(Q36RXyuX`l~$nLuNOzQAwZRs> z*J*BbAmx|ZUti>*N7}>lCyVYn)}=FbpdP-kvT_896>xE^T>yo3nWUpSO6-}w&B&ut zUK3Y_w3i9vuUr({*vjKuy*{NB%HM1~`Niy^I&z2VZP}6d^V~$BSVY)iWgiGrdiBrYJ7Ra#;S%4nXz$ z_S(A(zhO>7Y3$$ zEC}`6ns(_zdlO5Sq4N2;O%k41L&%=T+THd5daH5{{&Gq$<{@8DLU@E4VQaB#)aMok zQK=HM^uhqy`c^wo&C$V}CDf=*8Yd+a|Fr4=1=Jww0)?B2#9LwNjP7GT7fCu$O{5ql z4Iv9p5&|alq7B&TU|sc-mFXp#D$By;Rpn$06f+nqiZIU(%rx#R3=vMWdgpQK02gJB zP>@JRSRl`GY7|?fyg}i$xP9SmzfA`u9B6VPqxf8nGr>xe_3EtPC7P)$!W}EC&8m=kJjBJq{=f{5x}SoTN_e zyu2o&KxZ&GY|6?hNfuLTDQv=~ z6iY#38bIh0hdYRH%pSCVa-{8*$w8-R3EMEW6g8u{E5c$X&sRyeM)F+Xj`Og)0TMUc zqGlhoL#W6Y=@|AZTU3k((>^=K6RVdr^U9Em4|a$IF^5&K_B4i=w$N>MwpxXuiG9su zWhuX5xFb##oA=L%z~VW5cKKj9-*JsDZ@$cZ`^1 zsMI-QIVuUhc3%T)=E7g9m6sX*t(23b(_1v@n>oP+8>m}sx7?9luTwO-qHc{&0_k4)JRe2g;mkVq)K)i_g zBu2aGrYPkrYLSrrKz386xy7wvrrTMV>B|r@e41X)nxz<|yX+nVb z*su}iDaRIV_Esc7ky{1PK?k!7XK@s##S zZJei+HN3i`A+b~zLXW-9)=)Pq0gnM# z$ag=Fysj}g)@iJ3|HYq2nq{XlBiBj+JwUfl*v8;Yp{$^Nvt2H+=umEieJ_bYuc$S! z+^NPU);D;OT`{IsX(3GoYswb0idIZ6&3=zAN|7WSMhG9|={2Fxo*OnXyA3w6K3!|W z&~%ozcF6cmF%sDbDjAs0sVs@C><7qzz~jNta(f7+lo9&IIB&V5wOr(5p^gO%OAYW! z0PX6|mW+;6SczR}590i~0^ZqJC`W|!Y$rogEd+}2@oDXN+)C`2{cW7#mrbe8mtVJB=5);EMKcU)z`&2F;#FYxw3v$`;>u;y^&&zehDj_ zZwphF24T(*5z9SWUaCxmxu^|92zoGnj zRCaF{*JNVXhepXBhm*e+QEWo+LUrOpqaHaAS05*THDU=aOz;xdM;dji(S>V9w7psu zMr*d^#)SgwZ>(X$nhuwF z*cQYrcJ|d@cXk*P&q5=^p#k(*o)J#ReK`d-ylJW$ifLKYH_&?%IMat!&=UuZ<(@8- zv5f|c9B}4eLN4)VR~Ppq+irG!y)WKjZh5u|*JIhY$MTVDIm5-mnvQKA)cRl@aI+W! zzpo*FcvzrzVfhpU;gwcUbT*QV_{yVgIG(7tHOSK9Ahw!?IGw=FtLP$=K9YEmb_0-u zy7fpaAr5}PJnrC@dx_S5q6Z+BVRWHVywHU!qIO^6=gt?+3vgBuGt<)6hMUExa2-KG zLG_(K3Ijf8@TbCt%xJ?x6{4sd1#sB--{c-(%gt_XcDB_sNQoH=$I3uCNU_m|(SdB* z6x=X0a1T8M>Rk`pCC7`Q(yYodQZE6FapsT2NPCrW5pKu&30qw7dz+E`mEO!~iAuax zq*{qvm>q0)o95yq?|$}mM~d}!*RsK&Xm2Y;u)PRoVUU7{C?V80zZFZ z{8wm39cuH{lIj^lp|9%}?V1_lLb?iZLpw(qwwi8v$rBdBQY*PG_ ze`r`|4t=K;Ro`T51g2CC!Jeuw+#1z4nz5KkLp1#j^p(96%1z;9BsVs>5#LpdG$d8A zX(Y~MAWX(fSJkK4Us9U9FdcrsiVMbu0Bi)aYmgCO%rzPejudOXexV@{4-TjG2QKDF zl35LBTN!?tFy{R3A*QtsE#11`8|aSx^N#h_hu-E2?31vuwucVylxy;CYppoP1&_#d zpK+#q1`DJA__Ur{I9%FTl@p`VdtES)7r?8>`n?UaD}zL6 z%}=5rpKV`+xtUcN9TrSjhrxrSU0F<)VatvxO{bi(b4~)uN{w&E%N#gBWwlz&Z9Eo) z{All(mNz9wp+pT=2v>+UlBQ5&Aigp{GJNBYf#APfM~aA1>~@T||n3M7-g)aODbxS>c*c-H4(1(L~L>T{XG3?zvXJ)$n#mw*urAwKF-Sngf%vTn}eQS$*BHO7^HO zp8475P=TLjLqwKp%aefjYkmL#BF9=}Q`k|m1bft`=`<#I!jh?665@R@;s~r& z3cL===jttqBap8DJ`p* zGnPMYGM0PinJIG(PD+XHUM^JQ^J_&UMcXeI(kaAD5dQiBD<%s#Fr1uXZ*+iA9F)eo zR~PaTdac99OE&0*z7p@ajT2kV3)R|!>o#ki2*UEu_lsYIqZOT?Y# zFC`i56((d6bfOY(`DNG2W(3_cAVp=zVVN_GdzQ5tE3nfrCms-5;c^mYI-KyRSQ9XN zm90DB6**VPOlnSL9(`jRA@ge>|1RTZu zRillHDhUz4;Y?K~}FTm72E>Y8LRO~x{wZL|l4a^hmRhr$lm z%amcxQRKPAPs-NN25tfKB+R&?8)AFqIGphm9Nq+=rAUy$o?xlET=jLp6sPPKvLQxo z#Xbw!ETsBnkx$f_E+j+Q7r$35++Z3}b4y6nC8GR=B5?-hS18IGFy~QzEezgR^m`$1 z=KsN?Bzhka_!;L=&|BYr4ytu!8CDtTx<3(OXt!WK7KUHLthJ(j6BF567tiq*0I89xmd_C_MKRaH0Je3U0nqL+Qy!yvxW6Ke(I*qHj7`eLl|Utu zISoSQN~V))Eb}T-w8vhrP7raNOPmUNW@>Oykp(k(@2lxq$Lo^W^=f>%%heo}o>sEd zz^_ZNIDQ#)AX*uRa@)AGs^5pUnV{Muv<7YPHpC``!(*X~?EoBa#KI4rwpdwiVL!;G zFt1g6z1$YBqQiq)TO-1jonz{2up%U~QdFAD3Z}VAOCTWMyJbR_0GLX(;qeFyb!=@_EW(Hs* z`YC$N)F^Z%gCK7azY<)k!@Q)xLga5olCT^k0C`Zz~c zCsYY9*r`5mIw<6(vjQjK$e$rrs3JiI=3rbWXv&?a70W%qrO}*ErFVud$h4NYftR{0 z`8@ZByh_$7*(dD^918=2E|MVPPnr(F0S=Ro9Gi;ppQ#y;YNmWBD(R!!Qz!CL=kwaQ zzupAOZF7hwbhR!+)_C=#33D^Vy*zMjKucd?mv^!`2lnan3^QC}Fg3Ln*WlubGo7n; z02ERL(j@5C)EVt;=wcV!1T^vMj*F>vM>@Ucg}L75HsJszoNupLfrYixa!ehx)o4-p z*;bZjWMq8P%AgwdtTDkf(_vg!$Uw4#!n!Y2>V`~GW{zIDXA8Ii`16!f27R^NS_vA{ zXp)h*>WT|IenQXpJ{#6vp6kkS|CVP4jaB+J;Y*YpLr=L6OJO|M=;Laqb&L^?_jlcV zBbDXSEcii%HTLi&Lc5~xerE)itTfMSL-Ccztg#%!8QSjp68v8J4LTm;*mQW8`j-3P zI;$C)xxCRK44N_FBqonFI?x;}4>x8{)0qSJLSgd^`ZGLok~H1asZTrIIF0$QVgZFL z7JnG&L9oh2i*{-Ta4S8z?^IYiHHONeM>27&pvSuuqv|cQiTF*3#MC#+NUudnbO8%mcq;RHMBzbg1)tUTq zCW1-V1)SoM37t@;;g~Lz8j~f+R5{QddKg1`WS`km2&6MIQe2(MmTTIazDwP)Cczw! z2J$fG`3k0(OwKUU_Ccj2=qNKWu~Jsje9lU$5Vw)9TtS-9Wrc`IoeLmmT*eqLJ5rst zc>&9DIZW+!Tou4RWCBib;x7noM%lnAvWxyS)LA5>fp9o|5GYH9<`%YZE>yh=r1gh^{Jw z5xXWU8@1+gZe)2`9EA)b&DuwIs*-g!$}n#-GuOx<653*}kdm~X(tf0t95WYb07oBc zjZ#Y>FpreLjtN4s+(Rejc2NjxW7mMTsEdWPj`?O@I@DuV-J3K(SC8x zlQMiYlWQ#ZNo*DZwmTxc|s@6@UIGJw;<0{-9{ zqI2D*4go=*?Y8Lasr5^r8LO^*cnPDg-KVFF2TWs(T1}J0POyQbZ#ZSc7RA9vR5k6X zgnh4r8<4H<>0}`eYH}CZbi5CYeicNU%tz_FpKD2sdcklqJmb_#1SQmKcuZnKCH|ta z#0QEX?d+gr1BMwy2F~xJMj)@THt;PjN0Y-}Uu0cMJ|La&^2POZof-z|@{6m6)BIJd ziRjxI`=H_-!5Oz6Sr@>|3af)>ratfjOw!?0U4$bchZwnYC&}jGpd^o-us?2%GL+G= z^qHtqiL4HJauwk8h>_C7k%+hC9k8i6cHlmrK^Uv1r<$%9$qxoD3}W~y1u6e{ws3U+ zuZEwUm^1-#1pjG{omeZmh!K~$kD{bBm!f0|uGr`My)I5m+7a$S7FCCsNQTp_g!#ok zF$;u(`Ha9#Ij8~@yrdZ!Sk7AdGF~C57c9cZ7zGHGcsb3(%|jN8F?21(*<7gWTH7}A z2<0tIG%WS{*rBrW{mcIA+M3hV6)y3F>WPWo0}*G-JZ&_++_-TzO3S1*uWB| zGtuc4RI4|}UTbv#8myUDW^p7`Q~t?%rp$Yd+SKsS-qX{xM#w(9!go56T|3XG$&rd0 zh-|(XNA{0Z(Fmv$Xs5wVsg$h)DiNtcoQ8ZmNKm?bid-8v^O%B5M5GC+F{%#oVvM{w ztBzUVT6l2ji()We`kL4%6f$<C_P(>(m0f()P6(f9DRD+`e~p%j;5_ zETGGAef2>pNBaffSn=e1pHb|9P;O--Kpp3Km@Lj7H4Gll%+1)CYVofH#bsZ`g4Hh` zF5yCwiZl<%rSE|(p0SoFdeO?xD*Myx1grKa)6eQecCKF!?9e^HD0T6xQ`dmW!=p6t zI`R3XXnv%Q|78PUhgHOv4~9{i_m>L-(&EnZ)|U$sn>`l8mw>$f5U4Mo*XnL}r`gDa z66ItiB#MWZT4GBM`?`?@qu3g+!BB-Xn1rqo@VQQ7Ap6gRI|i<`7H?AXrn6vUlL&Si zf>UkP*V@xqkPwDi#MT)Na@Sg``65Xz?0Ocy#@<_5Kg3COA?g}yq_%_&Q@~|!rQSY$ zx{->6X6)@6A@e<2ydNOeQkZbSCi1e}gWrQJ zbm*MdGLI4=3V)3y^Fx8^VK)VL?_uSPZ^nfCEwWPjfdHvZ)pBN+an*XTh< z^=##hl5$KLCVgP49lca#pE`KL;qrs_#@0r1k8d8c4ndF05z2Y880Ia?n4uOkISBa)sb zIkb4pfh}lmg!y{`EWom{P?B4>_&KQ%Dq}qcS;Fc{VkMKdki;@CSHoP}H#$iIv)3l% zB_d=oa{{A%T~n`{QDTYC0Dg14nksE@VHhhdgElg?rfdRaUMxb2t!=m^$Bb#1HH!bM zj6T*sf?@BHF4zwNaLOvZi*Qs#{e~+$|1;!|YHY?DHOWdW%1hPcge9tpR&`B+R$5Jn zbg!(nQ;tz}q#RK#Z@ei8ucmrVsHTi65SXD_q{0f-EOlhIQ?5}^j3W1%x^hB{)P2>g zBic>~wpvBKE4e4yO8$%%d4EkJq7zEvMK?_GIe7a_E?8rP*5OM?AAB(l_#u~TAL+O( z;xFPwY<3kX6$j3088rfWk#EeNR-6xoR+ONVcL+6@M?Iur1L?wfQMQNiEoXk8lCatF z3cRINhY+qB!VUo~ZFu7Us=&?S6$q)E{v*?^pz)pD^fTk?jD5%1AP0ryI~dq}csx8+r|2zfJn zZpXZE2xYRY9`NoRXkO1NU3llOB;d*&Kik_EpxJ-B=*#)1dB4zb!*f~iC-rtO<_<&u6g>WK0&{Ww;8f;aO8ly~idT%3aR6foa8^%_wxEk78v+IjCOUp6$9 zq*1qqqYA8{Fe+lNF-v1WDod$n7`K%mu8Tj$?Er|RA z_(lYNM$s$Y;p;Cx$wtx%`&XnjE;BP1yHVU;EwTgCj*~ecq>|abp;{7dBRdma07t=Y zH+=X$=JKc7jR0AkwuHiiZ={BXl;9#wFaV6=F!RYlp^cy7*x!+27fi@_`8+s&E0R>W zePvy~dW+dYp9rqN^}UIGX-Y_YW$a?Vjf>+N9rGY%YAK4jbkL=&y)ssOKCMdsKBIM4 zhG8bJwVJN=R^zSWN`mzvuNL#Gd~L=wM`oH2=28U%sBRMu|B zY~To})zoye40>Wug|aVXaUyLn5%}n3d|IamF`g)jJ_|ddVo61m)gYayibCW z5PyM7sgD8!$kj{aC$W(V0E5|XP>MHi#8Cf%_VW0MU zVO|yt0hZvpIHZICQ{c|7O+`dmhz~;tbTwi6a>APXPj-ctI2Zets0#Vb~Qa4=W22~=+)HHXje1X&{q@u za930Oa92~RgIvv18n-Y4MsSbA$j%_I2$Rjy4KG z+bd(C3`05OmKh7g5Yuc&KrJjGz!c*yDdXQ6KYtkqb8t%r>+={e6dcb$f}9P?uX*7LLW1VtZIC~ zRW-@us+wZRswNn=stJm(YP`o+HKl@!YL+SnDtSCYoDoatF4q3CQG{chHrh6%9wOLx z!T?raL20{OGmc5P>cX3a{RXlbW#z+p_Re9og^|Ua>*5$wV>7wu(*`@XWZ&$B)e@IY zfpvIZTuU1tnL{AseWxs&Y@^wGtrfhIrY2#F#skO2he`cevdp}=TvVQUw-{xm)r=CW z%A%#dEGB|kO|!Af4K$UlixJh0fWXs3R?2o-@;Kd7$>QRMi*C(~NUSNDZr5d{(w(|2 zA@8SRHQOu7a%X!=Sqf<)i}1XXMark!vKTCk0EKD@h2Orh2Njo_`r}^Ej$>l%t(^An|5U` z3wI}I@-{vK$y_xbumG9~R(^kx-Hd9NUI&-CztUOxERS!Ynws>*EE?FcsAj9_VkJ{; zRj#I_8>i2H&Pq*s@*xquI6AC!>GSO|0M96ntucFGk8s;G@R(I6{=QiZoTB>uUf)|S zN7l5HBbywfPQKXSJ)q5KIW6fs`*2^a3UmZG)bE%C{Vu_R|9E!M$DqW0BLs%rLWYLB*#Lv$ie03{M%p~yD;&|MoSfNF0EUgfe_eo;m_ zMVJQLD!9G?l?#n=$HQzi~%tKy9S&m6NLj(1p2n zpF@oclzbJX!nh^GuoLzT0~osFSS1(3lGLQQkn5-PqLt86oaHrvv>4zEZKOjJB4y-5 zsGfpyk_eeg(L&GysIh{LK|-kUbsj^7&rrqf$YjufK{$%=>r8$a)v<%lr)$1j*&047 zEW*Evv@EA*H-kwp-E(0x6z+gS+`@-D9&6noR@R_MY~$XX0Z(;OEihabvMCbw>?}n; z9UiS<5K2tZ@vB4&$d%ZLs+i<4Pv(lTsC{IDHd!-SQ&3j=Q5%_UHCJ*lg2Nr~!H5Xk zI_5;~fCt<$0;6c(F2(ohm^UT_(;A_>t7b|wK9CU$gXT- zEN*Hm)`nC7EF}x-HL-GQA}^h6^Kuj3y{6(89k4e@9T^tloqmg`k%yl2 zWFJW`i(3|g2^+` z=Y&)Sk%_PJVGn`}*KTkiFS; zkl3P!;xdr$C{;jMu`1aNePMK*2s^MT0I-(m^3}V%;4l9>*Ii9Qq&sVO1&1W@4Q$@5 zLUQk}<0`RrU`uJ4Z!%SA1_sR;Uel8_RD`c>fqO_%LSgVlTWjOvc9^G%W)JTB5XF2h z_w;(4mDU!wOF(}TmO0pawZ$|on#Z2AbXh{RWRs`_P zOxEE>w1z(c#rNr@$7Mx6a0{VB%RN=X7Vrgnz1kd4ED3qXBD8I+GSD~N`-bko%dyc1 zEz3J;n!>=RF}xg;)1)MtxgvkYJ@RCKAc>Ugxq^2?lJGEelQmV^1sEb1pVS-@wHRN~sG5c1LQEcY;5E%c5NLSx z0~otMm`?Kz#>@wV(BNj5Ze9gG(AdaJg3`tX$gA8(kaU~bA$MyR!R2aA`MwIE<6!7& zm*pe?jsu(lwxX`Ps!OwDW_QMnda;m?++ke31`ow z=4y(}XvTW-E{Zjd;bWErF$KFBR+XB9mo$E5(;WEq8xwYGF45`_3yH}s1oYN)yQNO_ zQ6P#EjMsl!Y22U;S-sfT&-lV3DPLcPB#r|vD7N({xr5R(GFl2Cio@l)-eYS9&Y!CaNTFE)bYivBMxv#JF~S4C5K5$Rh}96l;x+M(e_6G zyk$qNL;RF=I(Vq1s*s}*KMP9bI+NP51QLS8E(}CrY&TQr@Qu=fSglLz;v?SeYfABC z%g#pPqh#})jsyzZiSHK)=nRKYYT-v@5kNdV1(s8S|W zAxjSmD_d&Nn7uIYrrxe$N^8dY9^cuOMP;B3LM?-by5h)ns6Q2b)s+LFRGz#GF2UEf z1xNhIEXe7isKD|$2_*&!ymE#NQdQm!Uhd+fULy?O>-6?(E@tI!?9!#!A%3~BYE;gv zt$_-;mmdlvEM%lDp>~s<`VjF7C0o{ySrkAquGWuj&hm>X6!2_e9VcON|0$ScseqpW zwN1Gb3t2IJbeMqFU)Nqgzl1My^l%q8!zX)}V$d)5ZBdO!{Gf4sr*J9Wma9TJ=Fvf zqhWxy-~>QmaJJJ4Kni;xLI<7Snp9C}93JKci)OPt8;xUarJU}fd}^2~ zcR@DJpfa+<@m07E3-+N(b0)?2n5iWXP)3LXy)R_`cY+Ilg%;|Ob-+>Sm~`VvfgX_7 z;m6|M%KLW&o=XD(iHjsm=fP#MC-bA1A>=)9d=VesLeVW$pngsQY|jx*l+Mt^+||LoU?s3DtN+Lix@TJ>jc4|wMo;b+5jEC~KPFdhT z@ZN=lm*qAI+^->tte{s2>7CY3){_c@`U*VE5*bHaQ@^C-F79y`_d0FJ9+Zs?X|-w=uK0adfapb1>Lfx7e*VQWew2Cjv92lFI| zgI6(t>O5{m9vkeoqi-Q;>ayD=ONoSVkWvi?^vVzxUCe1J-WvW>Igm{2SScC(OVy8O zM>;93!Z(q^2Yn!<`t4QFCrFpRhT5YI`%sLCD4;NIPZ)r5FT1s6;yTnMZG+sn9nqwm zaF1{G(7>P%Ch2=~LJNiw{LHvOiz>N|R&2lFjv?s)oQrY9SM@s}COBbd!>K#{3_~Ca zNn7rPFsOC0e~Q*Y3QtN?5Z4eZi|oU*KEjAbbqbJG2jA}i`|6ed7r;3j2Qh(oYR7i~ zhD}H;fQhm39|L%6<6>h;{A={?|Fur9VSB@}>Bq4XqzDJ%dxNUIN$r@72k~nczP$|G z*3e**bt@LgBGGcz;4QGSWP2+x&!6?a% z=^B$O`@9%L zC%@huIF~B>0Q8C&IfblyJ54$G25|wU1E1jnqpPqm&{+s}O!TI^uDW9A6Pf~Zf-+?` z6Dzju%%e8d@S<=e?Zgn~9Byd)QPsp4mSiztyU+*-#WTIg85^THn^!q?UYyNxXg^{x z0IsrBWd<6Rid1mIp-h&YI=q~g1b5n$bw>h2TgXsnXrzY$eS+ankkZRf_{r#cxo@OS zngRvMsZc0k38hGLI@Xq#O_<2#{HL#eCCk|o>*n@QoR>v^N@SAWOhSD?i5VnR_tj^P zTm#dU=q;k8hZr4w>)o86H7QZFM4$_m=>q+x(SOXog^z<~ie8dMX=c4g)p1TIM*~*Y zOs&z55CFoHuM%Sb?|j2s-$C}6cAKKdb5{^$g1j|;r%~Se@+Bx8Nzd#I4O~xd`&!oxHOP!M z?QdKkN@gI+4z)_qHsOF$AI%0YZ~KitjDxP!T)QKyJlPIoZi~kJD>eWuK4cS9YE?~A z;FJZ9iEb355EFH{>{MmyaV2_(ZMBe8v#Zurbc!O_?r!2km$n=-s`c2`prr}yUVqdS zh<(f(lAsy|7VJ8;>iDSTRc*Q;a|kYt@#G@SHafDz)Cz1}7m3nC26puqu}OO|xZsUW z8_*xx6>p|~qkF-1IU_+^ZFKg!)*jc|tKwNEVl3#PxM_zP(B$_z>^qy0@M4gZFlb;l zaaeG28WQ)8s)+~+f!P3sz}n5Quum)uZEuP5a@_KYxgp6HMXPie0#G|HMy|8qXc3nL z2o;fGfGV-$d6b#;$%gNYN;H`kWhs*%b^%Y_@8C<{fE?Z?qPD=0wvvOZgniGA{U#KG zIGJ7JJSTD9LMFbqk&A703R2vHN{IVqsPjYf;#OSn_27&MtuB@l?7=qftu4#FnC2V8 z-0K~ytBDXBYwh(d)w1i7vDoZxR}+A%7F3FA0uAGs8PC@wE%#yb*l6@G)Ra=iHYUI{ zZ3d(m$35H_^4)t_mmt*yenYU5ICpXhRbw*6M}}gNqs8jh`g$%_H4cQs?L->b4K;x0Q)5hnI%iFfoKrbHUQI;svs98V$svI?qo$q96=mu}XCu+osV={o4Vn znteHok*pZPi3F}t)c!^mSKkF1_-qf<27)}ON;QiyM3^lGA8_=0AP&3dN5n=Zwp|hU zC{QxJ0}pnic8UeqJHzfgYj;PnCWd`op0FaPyH3(4iGy+7cC?s%E(mSnGnS0`MQSkX z*&a-QUc^f}Vg^zKFR_5cAm`QweCo3N8mUF}T}tVzv~#++#JVs-yo{8nlUcjn^wa{2 zEA&|y=`j(jy*s$r#LPr@BBxJ6v63l#am_7l(L@Zka{A>`nmP`zuB_be=9XSEbNJB8 zimYAmDJlCPo9YSP&bZc)_n@!4zAQ(?Jwqaw7 z*)%M~J>R|9hMScvPYDW8&aDUHT-gJd<5rg{<*^Ds0+@}y%=h3j2#nbzhZJX|xW3Gjn*)3Z2(r)S5ZmSqc6L~l`S}9{J>*knU^x1SqF8X?SD>8;s zo=P%ZS|&02h3S^Y024EdYm`o5qz_`GLpL9ceLECi8(BA3aTzE-qY`SsM=y7{V?Uu3 z%LeJcZ*Q4g#;Ag*%d4mk8`gp(28k)F?w-BGm^5KK z8xqhBC~a{M38T#Ef@m1@`vut=ZiF)ui1i-22A*3I`h1#5T=u0a_=BMdYYO2aLERn< zeP96$yyt;EO}t0S-&4zAwWRNx4%jW@Y44u5fWvfQK}7An--iOG_U>aAVN<{UP`vMj zWc1+fJrKd&3uGtY?mdWLX?XUo#%94X+tM_8uYiOY91-7IWfL_uti1)pUdj(~6k|dM z_U&O-cAy#b6U~MxTjF7hecxIHY(K`!H@BaR5}Vu4Q7bjKU)aK| z-m^oZeLvwZXKS#rkS!?ak{_b#EOshkqz}ODmtJ5(XkH+C_EQ#^DBsU1!tk*lfF}SR zAnc`<5A65&U|R=jIQxKff#3a<97K1y4uPII0!|MA=nxUWJ|JKh1o;3!PC*0IqV%(k z2Y`!{a8!>Gdqw&)&dejo+yx_tnjhH5Zjj`3Gu7A!3POS!cpV2cJ&^Fv13CXZKq@i} zK0p$RL;L``p9duC1%OiJi^)0A7%?6n;yS|Q{dPqr* z#X^J-E;L^`zJ4Wmrq} z_MlKCj;Ld`$mOdPtwF+rLYJj{ocPQ2wa`l1Ac{zxoCZpH4^efTLBo;(ojhCU+7!AX zHOoVsKF64lMYVjo6Wn3>3}T#Ps1J z9|G--N_xOuAfX-&J0irxYL{G7O2x2(A*I>SJf1uTnZ4D|vO*=(@ zX;^GR3G8jHpO2d3%q+wvmUDyyR?V?ipbhYijeleRm_#a*eZoUj?80B5Pw7iTt!W<`}I)Xc-z-_l?;K z=r%#Y>H}jI;}|J@u8uiIs~jUMa%jv}Fh0INV~))#rV?KSC#}aC8%V1J1wGQFi8}Na}=bS*C zv#Vf*K;8|vIUWd@%0r>m@rpoFg(720H_R~LHt)L;YI`4#uo%C+y!u4z z(<)+>M6c|9R75c-pW;N?Fcb+w9}q;@!ZKD=DUWpk1he-b^q@e)l1-0%kZ|TAY+G^@ zQ5wbVcWdyobw?h{0d=#) zR4jn-OF8<&wAaCUsh3b88lJ8^Zi9O1hQJFvPB%`6EmWn?Hx~V#0Iwz44PWxKti;nP zNd)Cv1uyj428|er`b$^g;GpBBNRmlxKg@q)%rsn;o_m_BQj}xo!(2qe09-cQjGO|n ziAb#?ZssE0D;Ss9T0kqwynbjLcsVno-O#2#+`#@rd>JuwGF+qmGe81a6pSx>a(x2g zhr|GR&mE(iMPaMeZ!366KJ+bEI*FoNSjhm zFQOE4zd5_%9t;@Rp`D1C1QUUYSoI8)VXr7W0C23aCoXp&5$rh%g`c_B&je>gv1wj~ zik=;sOSZ4RBv5&h@dz}W%T_6NV$Fe<@)5mmw^Tlg6DY8rL}HAO;|!~17)!g>`Av&} zWKdkaLA8xMjC9pmKzB^vL#^GdV>zN2CB|g#qfWOPXfNOt?U#-H2d}QjZ7!h2bQoyK7xYV9?WQL^(E+fZdqMCQEt3v1mHuY9 z!UFDdxIkC*F?C#_2MRa?N|3IHnRdfj<5!|DRCyTgUpBDc69E@kt2uhKXC89 zV+S6%cmIL;*?W)dJ#gUO2kt+#XV0Ozy~p+*+4Bzfl9#9l?ERM?xc~n9A3S*QUhp|? zB_Y(xM+C?ZjKUk*(-aLT$ZK7 z=KZmpTx1I?JG9qA-xoItD-Kl3)17R=F$(jN+{<;62Wk=3Tv^!fjuelR&3ZUNsLoSi zo{){bs9Mo(e+k^%zo0FU&gJGEPkpGdfHMNGK@-S%HwcIv(e%cKYq;KOBUc;nI;kda zlhC`d)W^4wIONAF0DN(zcbNl;|8;6Y!WzB{$#zBLi1b(*G7fnlqbwU}4O@`pIA}vu zgrsTz4lCBt-Ug0fNJXY#Sd3>|4^}B`M^_ZhcDb3)V#xPbp6U1jta-Uyi<6%nWg)EC z$#1Vg48xcvE);;6$B|9Z^05P~S7a4g&Yp}3$Ue*g@F)}l5WFaX$ZHTgDsDEt9zcyk z<&jD=P>7A2IZYTo0dN)}t*B{Mb9i)Vr~*%@292rA4iNF9I?VfZs7h%m z6%TN)(KDnt4VFam{+*M#&M0s3#VUb)g2QE3DU)nyYrB@IZc2|efkRjmRz~HT)SF1F zvRqhiK~u%ug-05=wgHL~xHV{CTyq7%t;jmpZ;NeVA(zC+CBA=_8wyp_uEbf_6676D zz>wN-Fwqw{0?;kE2cK;i)bVPQ2;MM7=y6M(M=>p`p3%mxfR}22i;xtn*|sah#a0G zc{P@{xq8vKzXA2aW_=NF<|WNyIDLRZYALZBEaXJx$=*6DS{FfV2RaA=xT$nYi}n>s zX5A6FAgicgTal2qsUJi`ZgCe**il;|L~^F1LPuC8qm)2D$Zj%GbnKA0SHz-z-%eX8 z3j=1D!#$cl>SC7(1{jGoRqi=qTEmUI8|sm+H>K2Z6n(VV zrdOmZ&E~5DUEif(<>{~tm%z@`>$n<%1vY$!3}O|N81LMll2iEzQC<>O!9^kX?q7Ogv1Z(v)NrS7ximu0qio zV2hU}qNVvOQ8ZCFT52JFvw6-aQp$RXVusEHV(Th$T_Byr)Wd=ZK90&wfbht%~ z(r8zW9CJelMCvAo&Mlt9vADur#vTd|edCT8+)3beG)> zBjt!&a*OV?dnMlA=I(dzaPCGNmUA7qg%a-2tdw8G-7RlLn6)oR?HfqPu~C#-Mf`5J z$L*E(ZN%Zq0_W~~IMlM+m2++2*8 z9D#`S(egT+bIs?T z?#La*h!GRZGI~YA)u6L;JHgwslGhCDjW0oq+ai11^Ox|(o)@5pjJ4skTrtTu6jVnxJZxAS%UTZ3+ox!yd>o^!m!r zJ^}&JMgfW`+;{=-qWGgYVZ3KhvV}5*B9h{*0iwQuSY-}eT7o>xPokqJilT8h@^%ro zg}+sSTm|wH^0TX~i;T%~L>_BzC4=W?Pa~DBHSkLj;t|0<#QHr-BP+O@l^`ivH!v7! zf88tU#R^L(7Ls}}+=P^@&LPF|aD+JVxM#gY;9hg?%~z{$C(-C9Bps7A!v^uAjszH+sSmA*S_ty7^@Og&zeMehws?Y7=96eQf!Q}C)eb@rF*-~Fv z{QdQnr=WZ>4eWOF743?si*wG`VxVxl3}P@~SHAnp56(QmfrFCJK^a3Ca3fR}KT;`Y zUIKPgRZ+)EXmTIr5l2MDFr`n5Y%ivLty1QtS|-iM_p}z!$xDel-t*9d`b1e8rJC}G z)b);Kq)X)Z$U9jN9 z&7N4;vYVen+gLtaJnK*?Xwjd$yakld6t8Z ztFlmrqvJ<3r%_dS^4cRR2G2a`54imRW;N;Hmk{(<=@K|)4x)=FEH7&-i{M)*5vXsH zExIE$qlhdHp4S87lvSoT_MAFFA9*PcmHymZPU5PM#HC(Wq+SR4^Y%zSUZ}V$AGrGD z#ZF<*NPr;ur{Iuss#w z6cdNSD_)-Uy-GPq2jXBA1AZ+;E?UJvkmtO{5PEv$opVT{jG$dgw_z%Z0?A>~nhO1E zp+2oG)^!Fowb3TvnQY^S70V<{N|RgoU3TskrYBr=%Oa*Gk0s_i?%eexCAXAH?HnRM zfGIENKzIQfN$MV3PTs?*ZX6DY^it*(&YfEr-0}Hj0VSe%tK|?_WwcgGXfE(L3lM19 z^X|brXAMueR9m=2;VPT=Npq^{N}R7F>+Y+nwEVCT5BXn9=EM>a>gH1PmocG)9BUyo zUPdHB?aCO+y$Y1raH_@b+$@J-8QoAukIfRzksdXk1_d`sntT&}FlkJJ!tPXBr|~8<_5}Fr{Xx2eyXQBrzRBT zE7n2T(ZN48;d-^r-N1g6kD0;&>0niO8qZ4@48q5?=^EargC6d_dJFNCA-IhcWtESX z@g`P)9zw)<27%CSlI23g`Vtoug)lxb^3n!G*bR<{6PPA5)*zQ;F;HrFs@fu zLHSHn=1qo4z2rAHVp^`Nlj}{6GuMntkID-=ZlqMHu~|RS*VRY??rnynpsa0UG0Fp7 zFDnN}U00q{m5RBeJi40PP)T$G8$r>Q ziJ5M8=Q{mjK;^D##Hma}4T}qbd%P6nbVKSU?QneJ@^e*E$WJ;caf|0fq8vi>$2_Ne)KOaQ4p5#d=a{8$jLNTjjp}uA@u$+k>!ER6S%#}#E=Vb1 zsSN^>S6y3qj>6D!g@>}U*H+fsEB*EdYPd$|j{@#=3(Mni+}_1vRbZzj@ zVQjf1db(KSlK$zI-2%4DXJ8-d+d zr*nDLQl-0N)Dx(+(ta!E&4 zXsoS?+|(e+Ira7)La5MEJE3kY7UbvWb2n)z;OeC*heV5y=QoAhoqGD~yJ@UC(ti)R zi8s^U6?fCi`sQiCuEq@S;^XzP=<4G&8`Xc}el)0f#OO!eCXP!o`g?Y}lVOCl*E_A; z(as|(0X=NGo}eyA<wIo}n{MzWRxJv)cH)D}!#3px*oZ*hC#mHAc!4e2qfJm1`ce z${jx~6mhS}leT*tPeKr93Q8DK1?42$OxF><4QTCi4@=!zS~1{tRo_Q)16RZ318Smt z(>-%FZn-9@mJo2ota)fCfGql**a)y*hh#ygjp14(cER&;czllW~m(k(HgGGnav9!WKXd=(3B49B&YqDXpF9Re7K)(3st)n`2pX)5=cn_Eueo) zV{S@9Pn}o8Oe*nnytpgxA6+R4m~2)@GNY;_NplhFiH`eqT-AEZ%`fn~<;EIB&T>!>QP*4ez4N@pM0xwBr{sBO~Eb(DS=@gq{bR}A$RQiJjA zmG5E26jCH9Pb8x!k+L}RBS=Q73h^p2M^Q|K)G2&k@XBuJ;xW)v4>>7SRuEUm~(y8r{jKPqIH;)_!u?|My9}bu+iO?kS4Z`scOWdRwL^ z^y>Df=h_clU0shmYq=`RapzvNcNeP%p===HB*|%{9KVRE6KB1_`@{M@>Bs9KO;t-Z z^?9@2)gVhJXR4c(z2TZYW#3o!A{uT}vmhn@d#?`awd|kyMv36K0*`tbfqxjHP2E&9 zp5yBVSBK-;P?pafwMe`2&S$#Od6`$ZK&%>(Ye6^^kx^ZSt8(}TY?7S>+R{xkWpJzoC14>R2ckWQ%Jc6wtBxye^zBRsF`tr#FK ztT-D{h4)(eG_dJMuAy_L zZZb~X%GA`;%T2xpZn3X1c-?(3MhW#x(k)M2+zwHbZo*LAq6gSBGtaR&5_o_k@5;Y>^ zUR~6A+4oT`Y0Wfv(>dC2al-xLp;0{NjZG2Xq>OkP#rHw^K`?#g-B<5G)f$pln_ASU z(5c!*3&Oe#4?7z7=aeN&ta#-Eqbl3vlN7KQ(TV64ZeH>DbgKH72IA?+(0^9 z$c+w4xvGx)Tr@sJV{4!W8=bmG)?#i$yiVNL2Q4ilU{0K&ak} zu8v>_ofudm%Pl7+7>n=WN;{-XZ9Qdc4$?fPL-iW+IXGDKKVnI(Bdhz>M+Ev*EOGEC zNp(Mf1F81Ic=9InWAd?)6Bm0;{OHu}$&@xePrB+XOurpJwW_@|^_2&%uDo{^8n}X9 z-R_7K>`k1ciY+uw%^*ibwR(c59^UnXpP@=j6zL)-=V|3SqMO6*own3SPu@+tmDPLY zI~PzSt+)=*lnTq*aTO3R7wc(4eXh#xrzubq?Rp73?x>PtC?MSYe*(xN zHkL$KQG{|Dt@cp`(KRA_tG-`#7_TRZohe#Jk))Vn)4iy^RmCQ7aD%Geqr9ia!MaKt zl?UmDKS8VSjo3qJD(pI_@~6?YcwrV0}*S6a{4{>FE@GWKzWp zBe!p-l65}(DD&!_%1|s)K&AUNkz!H$c&b0n9p6Uzv$h zJ3&EOUq?9#NmXb_Cwbi&RHZ{i5vpr}$?XVJ>Ww=VOy-2|K=g zh5^~_@Ka0FOH+EOniSSSae8W?5Zcof52wfb=@+1uacxG8cJ+ccRWWvpDxiX$x@37? zBbz-81W@7NC8f2+_4k44-Ssc0ZDg)o#+$Ub#-hqZ$k<1+jXH7DvX~9cEsvq5 zqe9Mw13Wjp%rVA2^vrFKPfWfMeY_X0(67MrD1K+r4hQjm^hEwXaul%UYF?Ef$f{oX zQiV)~619Ers+Nu!h~#z>U0$!dIqUEBFJo^H`QF|uj^6hIUoF^G=-~ZI5yP)U%d|12 z+y2KKHvX^tuUFH{pPpZgmnYQJDPPniTwR#>v~(edj>E&7WK8Xs1jpqZJmPP!N>Fzz ziO9D`$>?scO3R5Gl&{_VS=5+&b?6$R&acBu7d^w{p#XFXOQJ4`FfORQV+N zj;!fsJ$j`^0~eO}8PmObNeD!}?^E)xC$ZEY3$Wgo&naA4P^9?PkT++99lJ^Rz^|9f zC=(LOSgwUpAr9iglXE`DDK$HK!NXiE?ROBxH|kN29Wlkt!MM~`e0%c@TOgFWP_Oe% z_Gu>p4f}>(zap)9^sbjk;@4O6>Y9rb=<%bhI$EaB$rw>PBK2~)p$F;Qo$)=k;||ot z(szPFnHVhlEeNESb}Du4FnheQJ&q5htb#ORY~oEk0mLR zfCzue(y_+KP|;CT_n9MOsC_Un)cm{Sb~oFA9Zg&D1@s)nZaOOID?X%4OJn*}!3K@Xl@ zJkk4FIZKvA7@X6_a|866Nz@Shxcf2Ev55yVpy_y+LM)zynBQfYJTKFPgj0y7OdgV6=*{zg1JvkyZ(-iRQl)EauQUke(5==G=I8Q z)bs55Fr+%T4l3*P(z#4}1pJ?I8YG?l{{q|{Z}%GAgR64pm4CGpgFpR>Y4S~dGKpqY zsdMIxWUHbyWh4~{x`c>UiAV`NMW!O1jP3<1MphMos*J0efxHCErQU9L1{J19a43xk zDyJAPZ|ORzT0Z5izH!p^Qj*JD5*|C2o{%jmi&y?>9S7ypOcV)U9N*-%R?!hVQpYjh z6FDZY=zj?CD#xa%G;>t)#k(IJKZliP^s95shj!+e95q*~?u+LWPGG%6DM|RFox{TQ zNUHaz(}JJk>Qo$cQQ%5Im7p5hxXKv|PMfMxrm9YzM4)8;{+$tgEtNep=#3gwg533| zhujo;(jaBSj;Ouz{dMvot>&3xzqHP4pHII#N{6(f{~>^TmiN+dBd$;L6CKBbqe4cZ zq*o0PL^)#9E!FjW8_0dTPF-njZXsWmdYvw6)*E1BZ$6|JyaC!s*~PP{oAt96m&0*+ z&SkEaukIkHqX76`zcYtbXTPh7F?Zz$pXn;Uc-F1%`y}j(llL@163q=5!f0}IIIqe{ zo(n?v99>Rv%UgGm%q{0uP9QW*`V$FGVmO@CJLv-BZl=|UMl9+l?sjUy94MO4baCTe zro+$Hv|cI>Iofrb-@T|V=K{(pfw(*KS=>s!SXFoC;*CMIHQ$n-CU6L+PUY@y%6a-T zM91?}fHwMb*XPLUxLw;gDgD+pxVXhXm9yyqY1K#LdN5kS8K=h`xH41|lwZvU468It2aq((H1sN2e8P!@|_Q( z7rc-_&r#Gh?eC~5uiaBj4#2P6S%`6-s_Mqpx_^IfV=F_$tkMOTh4 zt#79h@$ko$I0X%ROa|ssxQE*14(cmEw^P%p9DXLih||gtiy*oI={}??*D7H+o^^=# zWJc+i(+EdZR^VSs3`WqayBF0??9>H-dyAicm9t#qw1@^8St$~#rej5jD&3?8-l6Ch zsWcc)0gZEWyleeBxKF~C) zEvvUC>0D_KeSEa8v~Evu_`E)()a)r%e@ zx~@CVS5@6z)y3{&cahYGT}`(vI;Ikl?k2m*=0uLEm`X&OlqHKwV9kY}u&aK~Cm1AEurkp|I>gg6Ul#=$B`jJ2^gRtA*7!Z-tY z*TKY_{r%6m_q|uu)fD9j*i2xl`R@0*=bn4+x#ynyQQx^8MDxw>XH3Xe-g%V7HgUna zo;e{;g7qKs?A8Fza{#kHX%vU=x6SbJU4fI_9^Cq8JTVwaq^jhoerhh-Z zvM+7sdwDCGhqEKCy?iXOrxyC@4;L_Qjc{R-$AlsDv9&GKq#Z2^zJ$t74&_UC+eZ50 zzbNRkY-F$h$qEwBA$3E`M4)SP!dK!YqjBFl&i!p#@N?Grs}i$$9qx_V)V(@#l~b)t zM)Tt%*{C*a-j|4F`(-r0t(I);K9!V|HTR>XxBhz_W9uIBnp1T2N4sm9<1oJ5x|0EDjg?u5uB3kubm!SjvTjKsd!@lN&K95-9%htzvgV|IRM zuhkO8d}@&%We|h-62%{zlfEDvMMSqZsJ!EuZ>Qs%$4dIC@`;}L7D`9R1gOg0X>HD* zKItCRdd#8ltAew#4&;1YK6p*oSn#t(je`O5rKIB9?j8rC0VzDHY7vjo!f-Ccr(n9$e2GA@oAdq^c`p z`DdCV!{;&Us`GsBevR4_PaZ~Q5SyqM@@cLB^`nAV-iNcO>6_Co<+Jig_uuWO8_4dU zOG=bliIBBzdLYq;B5D%Sww;dlf!$4ifO@e7<$^aF~i?Wj(KW z$c}o(>WjlWlfvC|m|7)zWqjDxKd9#7=eR$1HMn_c?TYeMAvgbJ|54mMXoOgN;Iw<- zWcRSTk#f>?Pr%+`y=q%Vl3vtZdd8_5y09)@Pq?8c2R#%VF(ILF&(N-B4lX-^{4eO~>sp_Dlj;=Gtmfz6rCj8(%qW#fpNN@vegAU(d!&2r(>lg+lPV%g`d7-R zC?M5BsdM-vIKOYag5LZPW@2a~CbMG^c@89R*!n{ykuLa`T!tZ9O z8Wp`$N8D%bT{Y&9JBz+P`KS-O=V9-as9ELbWwe#%pWe<)p?M~5n>gc%4P3)ttI$dC z=WR3nknZiM+uu|PH6j1&O2Wk#>fH@pk2EywLm!5enMG7gmB*>Sfg{uPqX_b0FEunj zN2tXScAN&YA(FS<`i6iHx;)LYnt=VWBZx4qsnzb@&4jC!m37tEu~87@F%w$@eeYUI zWVmK{tZ6a7V({}~2O33w= zfi63KF}wM%k#)~*alVv*$kW?pkYrQFdfBX?b&9{TpbZ)coH!fypN%x+e9Kb@3tT4W zd-Nb?sI{}0X1as+9H``@w3uv8?4GlP}{@U{_owx zQIk@%*Syi{Cj%BWXqD|=52;JKwd@$9N!;`Qom%%qy&_si{;oCckGlIyVk=wH<>xeC z_xv4i&hkOHW9^1}X3SozB;{u~Z(~&DwX~4(9Th)+0EZdVbO-U}wdf4Jmg5YURCl=Q zx!gCSm4F+2xay;9Zq3F-W@_s;0ZOmPMo}h!<57yleoG~q+#)@)0|#+g;KyXUf11&0 z7nga_zTKw|dok|nbzGapBI0)qb?&~GzLnI85~H889`!e;Ml$;wNFeP~NCWkS!8Md> zjcUg6Ga|l*6Ju%i(&nGmp9**D<$1=8Yl(j5o_Gx>BWhk@%5S--qt#hQg5oBevigNZ zBwjCO*=oht#=W@4A>wPJwHW1@7$#lkrkS9qth9s7UVSz4=HZ(4&0cVE*3^>4Sz8Y< zoB^gFDNa^_UelObA8i1d+hvp1pwQZ%<-+;5%7U1k`qiS!^_jRu=1Z$=8nhOz^V3M8 zk_6DT(J6yTTRMLn8K8TMpud`RaE)Ov8>R7ePt6*c%z2~5yGCXlRgs;pR*Ukg!_Knw zjq2Qb2Bco2mfkp$>ge0KaSbaKUMggil5yuyTfN!dp|gmyf>gs^17}7DZ@*t8l5BOO zmcEXU*f2ht_|}@D#0GjFS*&|1uv0c?c~7k0I;p(Hw#HtKB1!eQ zDdpNtGTkC2LW=5Bf2^aqr?;nEw5dPxN7r2ZWg7(_COxj&^TIIBBodw4gx5vR1Gw3# z+UCk5-WUxVt(xi$0dMWJ~_|Hsdn@mgutw*kgNY?53xll*=)!1zKb{l=Xf)gekeI8re6o1av zXW(v2u|z}fYV+!Y|LW>bTqjD=(A*}x*LHgpOzL~pOfOg;sr=ADnKy>Ct>(;TR|UgyER zJyE0bK^)cWUPc0d01(!hLLXU8FN*y27c9EoE`HN_I7ha7#C7i@bxSBs zo7v11Meh>WlZNl&H_**%C2HW>#l(ee%sh&7ZjwO~pIe6ee45 z_wReheH7~AQ60Toq7f(wp5M0-UOJGfGynb9Cds=qL&4SBUAQ^V1>GY(y)p37oz!(N z^N%jco#E@Xuct65zCYfs5@+qFw+}k({;J2Dg7ne&BvHh#TbA|G&=pOM)@v}abp1H^ zr|1vg&~iGwaXnEEWOAGSeNXRPwH`f#>0o;8{PPASnqTO)=0wERbf0SDiN~xNidHBI_eKzZ8hF{%SRd1icgZ zFP7kL?fS(MJip|R8pFMalKf)Sb#Zay-@hez;gk2~jw7sXxzGPPDz8h**CwD{_lxTS zSpxk&aA9%1Ee;9qx2TSr)=G`DyzZX8*Om0m5rw$=IvJHzibwAC)3a-J!tTXJybI`@ zk_mWeG3XiB03mYMIuNkIi$>B}xtG~jOLZL9*O%8|RsKz2aiRV2+Q~F8)8EKuk#9Sb zY*{=6)c4$l8-K4wrYXIWzB4`5v=cMbc_gzg`O3hV{OX&_e;9~*Vo|5LlD%)P>`r*? z6dGmHY~`6he_8$K11QbLH4mxo@%pX5)1XCwv$>ebpZkL~razQB-W6A#aXBD8NqUo8 zG{qW}*w`JDyu($rkB5^cAGarIvl7WoT2N})b{1ltH;v#EU5^a<(Z7oP8_APXJ%- zu4-iOjCEng>!l-poEqIMCPovyB*gb#>Pl{OeaYA4Cv(3Km7G69FKC%6TI9_VPW^s8 zm)C1EoiJP2s+VPK66JjXz1EIE8+d9st2wG&I(F{%iO4J6nxG7fQNPYGlp>@>N31#K z$@)IkNfB9Bho5b$MfeUoLP+lGFE%woL_w!RFV=4eb@X@BmhrUm`^4MbKL_MW;z16V zdi%4s#Xj%}NuoKim#cMqMi_Y?hy%2|?LB>_cwe~)=gjaLr$oPc$M_tM`_aj~CY3l6 zHU9e_-tohv+GXiA4tKXq<$WYS%=kSfS+Mw4*Pw|qJ`<$lJJj*LoRHclBj z5yu4E4*z>ex)d zO-3UzwBj$^{BH7f@7B6ZjTE8F2aht!627PG%Pffhn0*)Q%Wv3>9)-~Q@w~ZYHiYzZ zdbeA)qr^vI{@!XfKWGP7?{$mrCuxi3 zAxSiUwLzNBn>i9dYk%c-U}cZ&WK5gMTkmTatVA1Ty9bUWNB2_x04;FythZ7#YVwiw zhqn5@8>SD|Zm53Tq8Bds@8~Z3e&Yg}(EH+X&zr*|Z;)5d^r`<>GyaNWqL;tc6E4X$ zmF+in=nK>G;$t$&XAXm145?3~d*zSp`<7j=82t@6sapfoHbL*=BZKD}!X1b-@i)B1&#uEt3Y|*|=iV4rH_hL;ol)CaudRiL-nh=} z*`{ly?ih}Tu!59Fg5FpEWV%uZD*ijg7t4g`I#e|i?E%n2NhDUd9pvLLnY9-fne*)%KlZ={*-(d%R>&lI8;>lQGFh-Sbr)X$lU-oMQSY+ z@s#8#8O|3S=ZhA2)B}%N;BgN;UYSfB_%MZH8xl|gP=lQH<`sMu{?#n>l*)k^4s}-? z$}HqtWQOsVSTFlY|v*!pQb)g z{c8}Mu~Oeg->XyZv(91e`{7yQ<8DfyQ zQT|ocVTu;Fzy)wiQr`~v?IOjUeCpc+0tbe~PWA0rD;SK=GqkM_z7UeL`0dKr7{62O z*MJd{altN(S48!R!SRYfTSaq*A7231sB}*C%@v0R3PXi*p;8zwR0|slBZbjIt+25$ zR$z=5{-*Gm!J&zX@w=g+94K3WBzKDspHSC#PRe^hpKt5)SaC?)LaOtJWolmVzy(YB zwg zNT0GkgZd13HBY z7%MsdvpN3@IsZ#SvflhdwW2YcK!Zc$oe_-$Xs<8*pzj6ye%ro}(Yqsb)BVGu*`Y?g z^{tV~fku5ZLs|hq7V**n^)`J1n>2`;7_4tDPa+mcswC8T1v(FXkU8#rQq7hUbP~+| zNBmXPF-PjnKQ_-HJiuzy8vwyy-#o@xYW|68Lf%%2wc5xelaBd_^LAYc60SJxl5V`c z8hxDsaY%br8F3Woct3UqG*+*ut;CBG#A~=rh=c0Q?~FIUS4~Rw=2z;isaj2Z`HWZh z1Cv3`XR1koNnqRrSyEy$BHIw?9xl|Xj8i0zLAXVu?jd%$goE0?F<-Fe_5!N)ztAqZR42eGhWzg!L7;g zSRwc}q$%|+!%0z@DwRs=tB#BnEOKkIHK|;m1|qOlQrwypZ&({YP$EAGMK7J!ZUwd$ zZd{vSCAJnCYg1H*RalriX^j6 z+nR`8F=|s+vXeseis_ZH9=cSjlt!sjM+kQC20V*Ot!Amg8&kLR0P~FAv$v!;QGa0~ zBCxi|VKTnmh=}qFEdm#WI<^*W8Y@D={%MjITMOHac%Gx1&RgkZ@804skCg@@m~}Hb zymy2yCHwdLVe~G;DCqBfFm@=hOCywZE8S_BW#HD$=y2CzDQhY`6WDrdaYq2VwGX^} zK8HFrHUN3x0%un`AqQX^m`a~{gOiA##q5wCLOU(ehp}PMTA26=rcY7=)P&rC1FHc zj+EZL3>ilB)iXJ~U2B*XRK;dSCu)!fUczI2#W0u~8(B(1wUt0%^Gj0#qFWup;RhSz8ct2?W~8XZZ{L7x_8I1-s5lwzmo z&}SjZ3gVw6ck~;R#7>TpQWH`3HYL)?#&JV5l^ z1g_bqjDI#E+gv0h#c=`u6N=)vrEAzU+QWcg@d1nweZy2H#Tauc050(Gn5n|gXE{dz zd5eO71&p^%4mcj(DjAeW`3WV9@0uJ;lhXVF!7Nu?&SP6cwRFo`1(O&Q2ZsEWm9Q<62+Y=RA5snW)oyr zBD-DRzXjrowtO}s9 zStT1A#3RAaQlj;;J~R59#D+26`srW-6;5h_(R$f1YrSj%TY9yAii#iV_rw|NtZ^;Z zh~VpsA_d`|tx3a{A+7H#sXE2-VH`gz33=frw0+R7ADUq8Gg+*$PRGY6#b7EBEI@HK zBqh};?21Imzab1P`H8CHjHYAl*{;yjx$L7kKYgI0wk}Nyq5`3^J0Wc_mtFZ{t;!tz zDiQt45Ax$pVGtvQTl9~_40)u6a~U?^2MytgqwF}!fTOf>A`3*Qw2$0BnZY z0cXY_1K1dZZMP;cdIQS}15Qq{VvLT(2o6>RKF32=Im}Y6DGkGlY>hyx6~Rs;jCD9e zOWzs3@U|O0Sm5K=U~VYR0L)dAQiTu$Iw@8f4QuUOt%fXb{nY0S5@|~==mV8eGzSbS zoE%#N4*V$xMwbJd z%7J&~z{!JVmx1Hm!`K*1DWxn>=(e)xds}_88owWMH5wR5i#3yA1cqc_sUb@cUNVg} zj7o=;`-qBSXSt%lnP?Uh5SnvF;BhRl-vj%N+Gp&$pF-_beLk%Z+ZyAo6+W_^jkiV* z#h(;^Hz&B>Z9gmSKArY^H-{qLo#^Mq-_7ZOceD5OVDM?LcOWI2pfRnufmEKe3Wj_jtdP8^!2u^rXJj8t!cZ{I&N)0p4tfqqA71cW0h^V z0naY!K*P$Ju4fgH`) zY>MHZ6l<8&X$}NHbVsme9j&*1YzVY|>{^uaj)I^hgYpX_u)w&7H#EWL{~yN+O&$Tq z!YGQWEH~+EBGl-(QQg_PQMD18Q_QL` zNtlWeL(N(ZlO!?>kHuf~;KiElxwW(*R&QMtoOd~#;27vzJn9xD?{NQ)>dm$(uKUSj zH*;D=@4M-IfKDJZ6cHao*uhZFza)9x&72w3fiImU(OY-^-owtD3HU?lddA%k(+Jp( zzS%49<7C2v?23Q*IC)k8^AD2u@c%yy#}p(!bTTZSto9RQdgsGYeGesc@G8C-dCtn} z{PiiZAB2*c=tQ5!hp31A(XZkrzaIlq!+UtlV%j3ts|)qQD1NE zf5e zeMW|pf!YYWmZc)puZ@B>UZspGWz>R5G*T349|OytvYPs|J1>A1p%+RX6qW>EvLKq8 zf;eD>YElv)sX5vggMiBUsA!`&3e}XG9hWD}WywIlSQxKG)msn5D7>SfDb0)mgn-=; zfCgOofV-@ku-M5s!^#}T4E7iV@sNjY4@GK?;y&VlPWk2)uiL!Df;@Pmt??zOmLl8e z89CH0oZRPn_q&7#Qmckl2*$!K8Vh|hvXDH1g}xbBNId)dCRl&p)YxxPk(iY+(-@Mw znPnde>ShKhNX&v{*)`P76~$FN+)R0!G_DE;>${3){V0o^N81dV82q=Hc^&^S)`F=n(<6C-Ns<$$(vFoAZD~x zA!CLGHjH6Yv-u3GMA#CD;l@T14V#dmY?+lYVC!JECL-y3^|{>#|9jmDp*uWu5Qn~c znJLK@jYYzsQ*l{1gV(8gxFT(}V#f^X(ym~fS)14H!9&+z$`FZh2w>KrR|*q?r1BF) zAk8R`_-f#V+?1wUXUALjQLa*-rGJ@h@6!@x))x(&Ur=Vv!S_i|ko0W*nWlG+X|U`Q zl-74uYi)wkV$yP=DAOpkB;Ul94^hR8P3T}>7le;^!Qi|iWG3J-0ejshdG*2TMDT@^ zab97~V{Q$mml?vBMc_~yZ+&dTWQmd7`k3~9Z9CP@BS~ApQ}E48Kj?%XD~|i6zD&eG zWn);Q#RwY-_h=+&aBVEF5CBnB|R9E9;7u5=x42Y)sTNRApfebDqrO! z0d06yZ5U;mk_nXwK{gXQl@$n!CUseZNN0jMd@;KRa281 z=Xa#~*(h#buzK19K-c{G1e&;-HY$6Pu)uLJ;wNehTg9VhXi`Peq|+RLg%a%%nE+81 zIgS=$#zb$cWy7RLlX77b1Pi4v1b1vB<0bk*|ANV)_E-h4(N!QXL}+6Wf=pw+#`qno zxDeJD!4Gm$TFEkEqzM7zS4M+Mielz9;s~PRtp-(9MQodVp?+G`GQjDH2Qm`rkZeui z^~xKolHcJ=c^HfOuv+GwMI}_qw-!`zYEq$l6vx7Zm2JH(aVDK;F=QK&LXC+jEr~H_y*=p$%mzN09o5X{i;Nao`r6w=zj1t!Sg~5`A!D`H zL!&m*{-o$hwMa}4LR%Lu=YeFDdop-hkKoxTwNR~DsS|ELY%H*1!4};GsW{3&KI>n@ zX6NLPhA<;Rl)L{8+@rC627Rdif#|tAdd@`8$>=#AJbg1gLf#SF1{k%enYIiKU>f@P43vN&~B#Dts_}<>qr*8l8at3Y{V!&>ADXDTk6X|F?rQH z`-P`+STF5QkLyq;BEzbup47Wy%`u3QCN;4D;YGCltO=-&|#Cl#6uIgpVX+R*^%5@!g@g%EFRC0~}I{Ce{#P=dtSdR~)&` zWg!P#8*t2iF85iT&S(k_1wtrbN(dB?hMKl(nz7<#pUvH;*LAl2TvGML`-6D5`n{s; zR*7!F#Pjm!k}+N7&7K=sO5UmUz835{Br;!N9T0yRA}@7KbO?}{WRVA z(m{5D`QJdF)MW-;9`TnkbY0>wkaY3K^Y_h=hcM>wbItP_vWQxD^Xi^{h^lm3Qn$H? zQl0szic*EJHAtvtw<>FX9cCV2dWE3w z?;h$Fp$H~p3Q+p}bo+?xF@FF0R5GSK`JZR6iE!#M-3U3C3@Gb$x{ zg3T>f3kfYH5p{C1G)&=4DM zNE}kD-uxzCbp@n*aU*pfRRSNyzkPDJ$O&5-&A(jsvBnt2DSF^;TMd)ORGtUhsA2IU z0_>ksNvP;^eS}O>W3no_IhKnWD*{>2!Z~bKS+rCLvhu0VOIqGNX8qgzoB|JwVY6Zd zt_C)&#t=`DT1^;u83mzh$jEV7BUbx(z_Q+ck{nFRHFl00-~+rXjV+Vt`zNgSkU`Ou zg(TEhq(y47m!*O+?8Jl2xgn~y1*?{aSnQ+OQpI@tnN5ywdnFg=ht7)?X`#>16>3dg z^x{x;`;1Vt-iT4Tp4beIlH#a1S@)n!z&0uc;nj^IqD8<@1~W@yNsA`TLaiiDyD}!) zc)icLuL~C=lYxYd43s0LUZmF;Au2551=ZUWRL0yP{%rJh2G|=iUN}@gN{s=-P1f2v z`o!I7b2ocj>u^3Y6pfLUi3(KlMy)ORxqAC}3a$=Ss9RM=f`%I4nf3!|B#N2V2CdJl zMTizHAu87EtRz-Uqxg!3+*fUgec6ZiSKRsP&^8mL)on;j|Lv5K{Lh)x@&TsL{KFc$ z=GFb4PJQh=_gX}u;;O4m!ToaZw2ns4-7)F+V$2utpj)6|<1w?D`Uho0^fxfAWqHgj zlzCd`-K5vxHb&8wI)7H8l&Rr=CQ&XtFu^34KG6IMjR_m1&7Vymt_qSUfdARRAqhz? z-LjY}vGuN9TwF}dwW*-ja>fD8I|MglD9nOr(-!>VsAXo&gFO*tzN_e^?%?HaNIk(z z>bmca$)x-xH$Q6S!l;(z;EVOvQ|2Qs_*$1z-(~p{<;#3Z6~rI$Y1x9Xb!C7{EQ1)N z0qcJQiB6KRd?Af&Pp4JLunV}S5T&YpLfKnSjUcp}uZ1wiL$o&CY-^>}KLrNqYTEi% zE#Xg7WvrA5(k3elJK9KMF@kEO0-^nSg)=(z-$cWgBl4;9nBOK!ta&C%p&p&4k(XtL zylxl>0iV_t9ee;}`3l-P5M|%OIKnp{#$Ibv*x06mc?x4pW_7X3CVe*Rvqhil^toQ2 z8}zwRpSS7rc6}Q9Oz5*!pLghUlRod%=VpDj>GLi=(Z0e|)EUvd%QCq$#wa2PVWa_b zpy<%ueFMu>BmNLA3(83i``VMnX3~WaSjpnEgFhuQ&De`V1^YT$QeeR zYj$kyjA=aToI&zv<+L-WD&|qc-ik_no=z{IXS5DaRLT;~^AnusVKd?|k%(1#l&v-{ zv{g3SVLUEz+LRr>F>=%*!Y|N&EBp2KjW} zD?D#)ZJif>z&_uA%Vn264`7`(J6|kr)P@D4tR)i{798qU0zMt(MX(pOTg0u2Mp4w1 z9#g4VZ>az|4Zt`6E<1oRsu^%SpDhCPJ?MuJ_ zyzNX6%Fuv&7|(;jCk@HG6Ak*3`&lCB^OYgQX=$Rg8UBd8XHtUQE^Xr#nK8XvUa+Ce zS+eu+hS1>t7AqF-o*IN#=Mk$O1sif;SCe$1!BD_DB@HO2?UZTvONljw8oGkkIVmYI z-X3p0nIQTGno05)!f&X^hwz8*y?q)PlW-Y1`N{nM`R-4j+;H%bg^RnsI`&8ZVf(3j zKRx)H+y0-wdGfmV-|>I{%C9X=-twovH}dc9`NHS!+x6%NzWd(|T)6o^UVP?1%>Bh9 z&;02v|J#51pLhSe|MlNgo|!H@{zB!(FTQZ`mghck&p%zc>t9|zcgNTNhqL$p==wjd z|NH0v^}qUOtvet2_kZ!9FL(aOf4Xtk*!%v?#4Y2${?V6K_80%)oHU!MH+dp~s7_uOQ(E zajU@{l`C=Be6~0-c({CH{nq+{`V{xG>ofNMoW9y*uHVKfM9$gO_mAHhDhWctYTTZe z5bkG>yn@tY_z&t5Wo@9$x5SNFtaFvx_VRfB)=K?Ah1yizT+M3OU&+8b;7U0RG#YaY zv&>fqtNPZ;e!~Or1pkK1+>x^JI8rVV4gqvMYUW1FEd@23<&`y;Ew}M9x7ceFp2U4% z?q6GZHm@1=e3i9k`_Sz>@QxAnOJxppJzb0W)^jz%VwAE{6>N?bFA-33Ed2{L!Zmp) zY?VXt8}?EX0+vDmcPv(NNpam!wiQxM0B`P87&VJ&9Mn`G09N2hI(ydWiYdBc zKTs_XXbRE)A1)+^KXC5!sk@d}cF+1ydjIJM&oI6gPMkcka(?ntCr+MZNKT$ze(>}^ z^3gaydF-K;ht4if{-foy=NN~Rr;kkv#?HI$IKudI5*>gV^#d|!jJH36CQ&xGu2&>x9#_3hK3*Abf6VS#HC)xuiwn0X_3cuV%twGfsA{7{JBB5~Tg$_`FTUQN zy5(-`#;N@PSKsA&1JvoP>dxq+DG27yq{9S)5| z&r3E5bC$XJhv&+h>jzPGY5R!5^BUa-=1>B)J2W?Z74eDj-Qwv}OIGecgYVDG~F>m$c$}>ITLIMFG*iM4Vs;yUCK@-CF`em7x<%vT52GHZ z2N)gXrYI{eVdl@n)9 zE+?c64D?Nj(^Qy-bjvzSTzCU7caUa2nc2;J)%Ax|iPRHaB>bR@U%oe?!8|r5#`^)D z7=dl0HVhUASC)C;M{m<;=bHnZQu1rCq5`(rbdT0VgfS7a0%(6PEV<s9tvEKf3xZ%$$wM`lh z+}Ho}diy8hV!ora8EZlNeq1=uT!q6sIp%7ASYf%!hkn_M9gxl#RS-wHB(T@*va3j<$5hm({x_vr; zpHB10r_*IDr_mOxrgX>_M8zBnvYp0Il*1}NLQw^Hu9LaFp zs;*J56>I~`d}u`~O@$8rF&B>p!2J&1GJu)TdMsCo`(<@95{fP|bfGE86WZ~(0p(h0 zE{^~`Zh$tX)HbT>G?KT+gBuJN&pK?^&qaW-tXUyjD8;4eLZzzf?RYj&$rCgVOp5Ne z_+re!g#_{F6P~>|ngZ3;YuZE`ih*YAT{*{XDssjz=)Ig`m6Kw0mQM-E1})yg;4J&eaLICY4{|as zqSj}V3ypMfWK_xWBQ|*(B^~@Qsq^}urJN+6cuTUvxnDk?Xc^!r7kmRkwyrePBx^h0 zrD)(&4?65&K}wJ}onbO;RC6S`tbj4N9{DhVWuOA=VmiNR@H4e?4#P3~K2YM+Mw+V9 zRqfDT6F82zVz)RC+QQf_<$sCN#p{{oWD-bYLP)S)A$GGdVRsg*=oLU3$-~nYNXINI zwFzkIjKPat5ssE%NFsJdsYx}y8e9u=ay~ZnRWd4l6xRu;98qbIievnvY|`vZefv>> z^&^$BWcdW;$E0|Sd>#|?{8+gm{OdNY4{Mm&3ohg`Hx)ZZgx4t_g-wVs4ng{W)J<+o zf*tvvdS3^2=+oe+CVy!~#+2w!bJ<=fZ=C~4R+e8_7O(B@UCBR2ObLlm81`2I8U)t1#=ylaMSrsA_?WkY$OS`B_vBjZaf zFi-T-B*vRDXoV@>SNmSZBmG;|Z025ekDQ?^*x*d=npsVcok$3KKvXr~_Hw1_rmHnT z!}eQn*j);Rz2K(YkPTQBYe)@)>R(Q<&>i`hBKDX{poFhCjE$b>W?8ue9%^gV$P)Z{ zvM4=}rJ5s46|#5>yo}WsA~Ld6Q?gX^WU1!KQblidvQ#s&tO2?XSwf9@vV^FVEFqjD zOUwaTs?o|*4fGkY^_XqcKVKMuJ|pxX^cgYbWCSXWR6|UjN+TJSMsiddfl6+c^fE@J z5Rp-d%Xxu$M)Fh|$x~@0rP2sgqB`~XTA&^sYDk$Ug!5DiQ7M%|I7g+J11gO~Dvbmx zjT)7NETkEQN~4Tad5ub=P-(OpV)9fP&8Re*qtYl;3jJ$PtPvq1qY@Vt1C>VeR2t1w zX*8wMC{&_4QOOa>19gAz5DVcvl|ocXr4Y_hDdvDmqmfFZHc8lCzD<-THTc~nwcCE%dz zGA%0U$L6#3dWc1#@aZ?C_0DZYB6LzkQ@g|AxhA*ErZKSpYLZ_$r=hXltQ&iP^-PjQ zx>`2st_pjCS#4U-G9`xESce4TafX--XPqs99_~vMMUU4l$?O0>kKW5YJB7#QnAQ(w;)zAzXVY1&yfdkJ zH8B24ENdag3{XPAuW1-&qN?${<>D1BQ&2;oCYoi%wD+VGZ>uzSwHdddBO2`IvB$z= z>vw3=EzQt#-e^nX8T-BrkCU$BNR0+%5ir==G2FA~AjeGjdT+)h4`CHsHN)cSi2275H^fUl z)$LKd>;>Xs-NCMj_9roxww|xIzN+2mdTUNMrz@P5*_vp8wSLOFgji_7;otDhVzM2$ zXSd{IQz4Km9fT;9VQYx}@+`mWF`^jL!buIs#eq>I?rM*}rxjw)? zV3mDAcK+Z9V)UFi&I^cYMtF#P>6Y?1cizJZ18wV*gFm)+`LjcWFNs;0Cj@X5vpMI= z*o1{QLE3gDh5bwz;vS80k7aR> z#kj|_xW{AMx3jo!Lu&TOj@ps57wRqjaexpz!OmFSjhV~HfWDS zE^V?6;A#_2t~T3P(@3Xqk6qzHQ8jHs8-#82F(qpnQ3%Z3Luqa44ct*ix|@#xe=$9a zoFJASjkR=vi;>2=Qzl*7+d}KPRTin`1tqs+rv$8E$?f9v@eAFFUJ7HSq#Emi>? zKV(~KO}u6YMbbGoJy~8`F!jdPhBad;){jSVNS8|1Q0e55B&nDDhDoE!<`kgP(Q&005VFR{ja>#x5& ztIf*J4x8d{VxUnYFOKlAPDL}eJeJfnDLPT%qycXOb*8P(1@&+~Lka4$UKwcc93il+-(i!)s2rSg>`A2RqZA zI;}JI!iGQ7DLVJrWY**}98jh`I z9FDD~ZE%WcO?D&&RN{=0;GM6kkX=?KGEu2^&LN~S-_xTZ@M{uuxuPgn&6t+Y7qW9O zrVAFE$Z80h9q(RI_VLh}&0>9Z^LT3_Hbf_STJ+TgGV+ED2&zta*ANRrfN>d+f&5}4 zvR*VKED-XtVA2LShxWxDHfKYKi^ee*gWPOgEM8Y00>VXbx)^Y}2u?S=Ev*8El)h>M zQ76$#Ba{fWHp97;i$Dz-*`>qv}S$>LT7l|z1gpz5g?PG8Daz_W|bYh>xI zD2{2;A|6a5+SkZB;OQcS=cPRPvW||L%Bb9(k&Qf;5ao}KqyoEA(w)ENOHjBPD8eaH zdg^i|2qU~ky_ZJKc)_I*{UJs8R87=f}tEphNkl?p` zb1Z~yEy=Yk9RP{zNiQPveJmpXNO;l-n6|UBy3Ll-p2httxXt!kVyp_X_W+mb))QwR z2X!!#7lxZx*a(o#foG{?+@P&G(Pk)XsIc(5!`S5Z5ISg~_p%uDS%BP{3}$?3yj{7* zJ13A(g2bP(rab&(tZ~-5iqYq zbiPOyt#TgXLRMpprMuO`$#P%Tf7e!nEc;vE7fxwIECMrwOdQ0^0;NSb&pR1tPZ33g;9ouTmlk-ssn3Fuy*4H(X04 zdpK-Jd-Whn>vg+sE(IwVAa37>J*ACzfPpGtKP~bS2TE)!rQ{jOelVDYwF0~FHpHu*D#FVm$^ONP^GmP` zc@hg-X(i;pUS?4DTCo_QIkt`)Gh|e&)_r5*2H`lyn37ImK0nr(i%VB{W7H#ktUb1i zg-p7z8w<4vkn0&e9xF0TpQ^EJb#o9CT$wk7a#YOp!iWhi;#@tyAoW~$>MbP@y^yAJ zof9X1r5RgvkID4V8|sxX%=^c;FW4d^?No5lGYkP2d_`t{*&qCk=^uRjsU7AZdvKjSco(SNe38Q-eDPZscwElgi1gvcT4+B$ z8{X%gJiH3z-O@VG_z}{c{1wS*ZdJSXdA{4>qL=+$jzyzu?76~JqX(Qef?NAZWW!Ni z%Hypd)1@CtQF??UVtU%{5#65i&TBp5wLb!K(x2r@gg!z}zB-Ez=|h}CwzY0K{3v(p z`f?eNEnc6n?+Ult73N+M((U|h=*#VuFwk22bAu1v$~(JtBy{>}2(P%?8DJx(VGX?B zzDM7sgE-zv#G_5 zS~dO4e2f2yDdt|kcV^flW^^8cDIl=>S-g5Z^*g2 zA9{eb9tfv-mpQ@bk=geKd$jGv*Vd(!RO+z&AK z3$VSw1l=Z3skjdy4%LI7%`2>2G>(k$IhSZcfs50`hMgPM{Ru?@7fIS^Y|^k+WQbRq zdd`P{6~^u#YcbV@SFliB;8E?#%Pm1?6mfh*{1f+L1SkyiZv)k6{#datS_yACY11J} z`V|*MWYL7pixTz+accgcribiqA}1QGX;&`t@?1>mE#XQUh2AR~Tkt z1`F;4H&{8n-Bqe9pldhMpM;U76#i@riWyA@57masjfi7|7qpfbs8z0aL9KE=lf;=r zN}#tIUBxNanvp)h&mTnNWozbF%D#huSno~aI4JOn#WDcJmSJ$n49Bjt!P z;&J^x(7S-j4+O`99p-0vD(Zpq^^7kF#$zQ%jc|91lS#ZyzcHjNq6HKQL*T{w>fMnZ zT`r?BN^768y)?23E)`oi-4RVr!c@fHg02@KQBm|pHy4ExOvqQdkVSG{PdPDIk{wo! zmtigmgCm3kUU4>Q>B<-Tc(QKr0FtgxS8Re*6JO*F7zpyf2Ajm^I)4la9N&<7faUH7} z-uq)U3Uz_c;~dOW2OzRG8RmDE(PPCShCRG*vGsY~OV%yk`aGFEO*W*P%cFXTFkeJ4 z$(Ut}Pm?r1JB9`-%6~`iM0XCbr;6xDYiPC71&sns2rRx@aUN{78qt7DY$IpfRZueK zK?q1Dn|AQ=7X}5f!&Sz!vt!=a#;!=eWZ3+Cebi9` z-WCK~KtU^m6}TEgBRlwkZvI4Xn^PjaEkG=9M3Ioi5)S0F9I0RN5Y!^^+cq^)j0i$( z;wj~*F%(781U65(cIKJbmNin4|Gnj0z*Bh_tK1wL1iS7QX%RHC*>u_?uKX# zL{_t&&|XEPu5zQA$IWV+Wz7s^4yM`m%A_gC0P6)F!%Xo(>DgSas$Z~(Sx=z>U=LvC zY)mj#xkSyxry=@ceS$HHPGu16wY1LHWKZjS!)|td2aj@fzBa4-+}A7_9HGv@^>mfeiS zqhsYEd;e&wT{-1Q|E6-;BGB2=IGcP>qRwlPKi+xCoj-QxPkgX}mlP?mumiLHk`vfS z733I4A=%H_37JEO51u;CJvJU=;H8Z8Hae##pr-x^>n@cDt={%@u7p;-=r{m$F0-nUB5*ec&l(NX&{y;5T=}0dHdL5cul-A?1F;wqhm5 z-<7|lG3>>ThD=A(O!BFg%YynqNPZwqmQRLUzm~GP6f!KO8RS#Z<4WOPpzg7HIHGY} zd2Lk2GikcY!mr|SE4@%J4|06lwL?X2;;a#QE0)9QKx9Ifp0JxGaDcJ}d226Gv1Va% z7dcZlK!fU-A*nOQ!7F;dzIsvw*FOyb`f37wgOGljh6f8*Z^HhqG0mIFF(lKZm}8kg z?9Sb9Ss5exaOd#Kp!S4HZk)~@yy6y+PYZ^o>2*Ae_4EEg)Q)t*5|4#we5}3~uCmPx z9Vh7AYIHI6Km=l!0{K~&+#J=*Kz@OmDE;)JmY7VrAyP}Y*5`E|tt*=QEV)dqh&oe# z&>iT*_87kE$;ESSUz%j=^O=sJ*RC8TJp7rS1}b>1c3k~*G*$-`a@`7%lPUHa)Xn;h zM@6H5fS~*BoUFxiPF9`dt7sm|(xO6p3M!E+?Dr&YBMEZ~56IhBd`dpMUlNuQmVRHM zaicbGd11>klS?Hl_0`+WY$1^lWkl<8YV*461_%u##E=O-iJ{izx48`mU=~jdUQg1R z4}Bj!EGESi$BnL5dWr9S_8sR3B`r${vA%i+ZJHVmkFVbGOMaw9+lVX*DKddWC8_Hn zL;-IHZoq&=g7z2L7iGqHK5Ue-$`?HTbjwW{bwxmMjDq)&*m}F`wXH`)9Kxx=fVn{X zCusp@5?z`L#jPO~Yl!YMs4!1|F>A0V!FyjE?;vPO2I>sH3XeDm6-F)j%^rs#^)Qoy z4%CX%IBBds(n`hFF)cl0!FFAVJy{$sH?yHC6@YVhaOFdK%E35=Z&89kJ0{~TJ*ZJ{ zU9!37&-uN(muyGkGEw+dne+hJfq75ehYr4I2gWB;6%IVlS!NxWRZjX7lBL04*V7Nk zq*i9)3>hJgXh^*JA4l^J*3Kz zogBJ!8xvc`@>}L&2z0)qoH0ey8CSq~1_%DpTCQ?EKNret9jdXTR1=`%ozIR=0?Sb0 zVBAB-K9`gRQp09zy-c*tK-Of8iiAT0Jp-hD2>w>`rEoA7AH9nrr1wK0!6hhWw7BG> z>Js@iH_8>oF8vD1DrK<6#C&T#_0@;L^ist@qLX+I=_s1FUxRHR^ryA@W|LVj4835Q z!4DV@>AiGW_*a`g1%c3}Bt)PsYV7J}Zv2vL7wE{&XyG&{^9Pm;=AR$10WW2&#m@!> zqnop!zkTwWNeDQ=?X#<^c&z(z)wK{;Rw8A<#4EnQV-_{{iiKA%#LZIaIR*;`Fo=l9 z*TSu6%30KFVIwuotCiq@&3A@_mOU|R>`IJ|g=9QFRy3&>izavNoJx|`Ckjbx{;uUu zt(-n}?)0&hotEdw^0}3Bw@%*u(89?RiyvG*|K6#oT{BbqZ)VP%eIA;c+B3DwB0~D? zuG!r))4QjY)8ggh-?7;}(@V#8?cKY$XK`v_X5ZeWJ-hZz?cTL8Gd;Dqw0LaS+@9sx z-Fp|OW@q;9nmM-j*s=Mk={+;MXJ(J>*|o5HdC$zQsa^Y)_Rh~uEiUe!o!&P+w{LcK z_pZ6cnfax~xq0xK+qHZ7*uJTSsl{Wv=a%R9E-g$g?cKF+asJq@g+04>FYaELUs#@+ zTbKg7>3wsH(^GTP`}WN)PVWQq!s4F2K;6A}W@dSQfr_YkVQzlU-d(eE%Zt-{m!_w8 zEiNxCEi5eTn%^}yJu|m=X>oaZ{up`ZcF)i6+dXw`_pa%w-NzP|ryquDx@|_UzuXyg0LG z*W$5#i@RoL_U)Sn%jG?LmKPSLXQAud?4I3o^Rv@?=jQf8u7x>Bw79T%Y-(wCarW4; zy$j28v-5i(;lAa)duErW<`?%aEYopqCeBmg)c5eY+Q?re_!D7x3*}n%_M= zy?56!2)bwQ($v1?rKS0qshNd2`UHaRJ~p*y*ZlI{>7}WKUCT2wyXO}6&MYoYPcJR< z*zWra$*-lX&Z8^ylV?t!dFbT)*~#N4K5={pkFgv(efGimQ;W-!AJF4^$Ii|_xcsTp zXFoYfyp4?{*;q)bS!X55Xd$UYm`Sp|klg(K(`U|~1>VZ!zr8Z~0U(^4^a49R$g?Dq z42!uWxuuY7g9Ufb&dty7*gd^>VaLqAU9&sp=9lJo%*^lFx4ds=_x$cXyOU(BkZhRU zIkj_o=QJ&ZVR(3pQ#qXF*W-oeshDT0;*S)s`|Y#yXYM+E>W+sOm(S=)m?Ou}p8nK1 zd#x+^rLp;Ylvza^L>>9;P;%rGLp*?Z;NInjkNqF@gG>AW`5*jWe{kJ5{_|-;UHk_} zk1RiU=BQeD^tYh|EjXGr--N=^d(SSei95aU508F$`Q-Bax#ixpooAL7gu{O+|2_WS z45g_4Px4Qu!7k5}X}*uY|Mb}dCr=)pKXEE~@Z93*v&+jnmrkCv+<)^f%Iim)e(~R1 zLVCkkrf9eSKf{kr zK!fD*z-N6qJPXhTI-+BI>A>~Z+kl}Kcuzn8X6MT0N zt2f!RAK5s?FK{fA;{#wPdQFn1mguKXKLwPt$tNvNzR9#MwQCNAHsYmU2|2~{@OOoh zO25k>tQd~M^cbzze}|GfnzYR+Rs|P zoyj!rbh5`Nix`H7Hd9W$7=O4$Kl74d-w*elIgFObEtzmKxfwY6?UPT?@{`s}XP|?6 zS@c$m)pOl(lgSmMxKmkumalI|@ + + + Newtonsoft.Json + + + +

8(fpEE_wokg^H37? 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

3k8J`qZW&Ocumsw*5J3y5{e-RSrylTjRL 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⋚=RUM)7O`jF%iZfIUR+y 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 RWDnu*8+h!F?BSt8_+JD@$43AF literal 0 HcmV?d00001 diff --git a/packages/Microsoft.AspNet.SignalR.Core.2.0.3/lib/net45/Microsoft.AspNet.SignalR.Core.dll b/packages/Microsoft.AspNet.SignalR.Core.2.0.3/lib/net45/Microsoft.AspNet.SignalR.Core.dll new file mode 100644 index 0000000000000000000000000000000000000000..498207a85ebaa81759218bc76230e290c5b6ea24 GIT binary patch literal 321720 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 h;eyhWnXbY34p*Y;+oW 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

from table fragments + if (!jQuery.support.tbody) { + + // String was a
VEr=sFA0dN?-HVa>82&8gUF4b8*Bgt`%)K#dEq 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

!vQ>9!AQKX%UDabs-!({pTIHxxtEfZIrb5LY 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 literal 0 HcmV?d00001 diff --git a/packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml new file mode 100644 index 00000000..db87a682 --- /dev/null +++ b/packages/Newtonsoft.Json.5.0.1/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml @@ -0,0 +1,7685 @@ + + + + Newtonsoft.Json + + + +

+ Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Asynchronously serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A task that represents the asynchronous serialize operation. The value of the TResult parameter contains a JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Asynchronously deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous deserialize operation. The value of the TResult parameter contains the deserialized object from the JSON string. + + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Asynchronously populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + A task that represents the asynchronous populate operation. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Newtonsoft.Json.5.0.1/lib/wp80/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.1/lib/wp80/Newtonsoft.Json.dll new file mode 100644 index 0000000000000000000000000000000000000000..df8e709ba6acdb47209ac121b4784eed59603801 GIT binary patch literal 369152 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 D5xNN4wbxIh$<^@gl!*fXQ?|_ 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%0Ae}<-U6Ic*l?Il_J@eS9kox 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

XY!t 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 + + + Newtonsoft.Json + + + +

+ Represents a BSON Oid (object id). + + + + + Initializes a new instance of the class. + + The Oid value. + + + + Gets or sets the value of the Oid. + + The value of the Oid. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class with the specified . + + + + + Reads the next JSON token from the stream. + + true if the next token was read successfully; false if there are no more tokens to read. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Skips the children of the current token. + + + + + Sets the current token. + + The new token. + + + + Sets the current token and value. + + The new token. + The value. + + + + Sets the state based on current token type. + + + + + Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. + + + + + Releases unmanaged and - optionally - managed resources + + true to release both managed and unmanaged resources; false to release only unmanaged resources. + + + + Changes the to Closed. + + + + + Gets the current reader state. + + The current reader state. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the reader is closed. + + + true to close the underlying stream or when + the reader is closed; otherwise false. The default is true. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + Get or set how time zones are handling when reading JSON. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets the type of the current JSON token. + + + + + Gets the text value of the current JSON token. + + + + + Gets The Common Language Runtime (CLR) type for the current JSON token. + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Specifies the state of the reader. + + + + + The Read method has not been called. + + + + + The end of the file has been reached successfully. + + + + + Reader is at a property. + + + + + Reader is at the start of an object. + + + + + Reader is in an object. + + + + + Reader is at the start of an array. + + + + + Reader is in an array. + + + + + The Close method has been called. + + + + + Reader has just read a value. + + + + + Reader is at the start of a constructor. + + + + + Reader in a constructor. + + + + + An error occurred that prevents the read operation from continuing. + + + + + The end of the file has been reached successfully. + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The reader. + + + + Initializes a new instance of the class. + + The stream. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Initializes a new instance of the class. + + The reader. + if set to true the root object will be read as a JSON array. + The used when reading values from BSON. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + + A . This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Changes the to Closed. + + + + + Gets or sets a value indicating whether binary data reading should compatible with incorrect Json.NET 3.5 written binary. + + + true if binary data reading will be compatible with incorrect Json.NET 3.5 written binary; otherwise, false. + + + + + Gets or sets a value indicating whether the root object will be read as a JSON array. + + + true if the root object will be read as a JSON array; otherwise, false. + + + + + Gets or sets the used when reading values from BSON. + + The used when reading values from BSON. + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating JSON data. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the end of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the end of an array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end constructor. + + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes the end of the current Json object or array. + + + + + Writes the current token and its children. + + The to read the token from. + + + + Writes the current token. + + The to read the token from. + A flag indicating whether the current token's children should be written. + + + + Writes the specified end token. + + The end token to write. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON without changing the writer's state. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + An error will raised if the value cannot be written as a single JSON token. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets a value indicating whether the underlying stream or + should be closed when the writer is closed. + + + true to close the underlying stream or when + the writer is closed; otherwise false. The default is true. + + + + + Gets the top. + + The top. + + + + Gets the state of the writer. + + + + + Gets the path of the writer. + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling when writing JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written to JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when writing JSON. Defaults to . + + + + + Initializes a new instance of the class. + + The stream. + + + + Initializes a new instance of the class. + + The writer. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Writes the end. + + The token. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes raw JSON where a value is expected and updates the writer's state. + + The raw JSON to write. + + + + Writes the beginning of a Json array. + + + + + Writes the beginning of a Json object. + + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Closes this stream and the underlying stream. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value that represents a BSON object id. + + The Object ID value to write. + + + + Writes a BSON regex. + + The regex pattern. + The regex options. + + + + Gets or sets the used when writing values to BSON. + When set to no conversion will occur. + + The used when writing values to BSON. + + + + Specifies how constructors are used when initializing objects during deserialization by the . + + + + + First attempt to use the public default constructor, then fall back to single paramatized constructor, then the non-public default constructor. + + + + + Json.NET will use a non-public default constructor before falling back to a paramatized constructor. + + + + + Converts a to and from JSON and BSON. + + + + + Converts an object to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets the of the JSON produced by the JsonConverter. + + The of the JSON produced by the JsonConverter. + + + + Gets a value indicating whether this can read JSON. + + true if this can read JSON; otherwise, false. + + + + Gets a value indicating whether this can write JSON. + + true if this can write JSON; otherwise, false. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Create a custom object + + The object type to convert. + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Creates an object which will then be populated by the serializer. + + Type of the object. + The created object. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Provides a base class for converting a to and from JSON. + + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an ExpandoObject to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets a value indicating whether this can write JSON. + + + true if this can write JSON; otherwise, false. + + + + + Converts a to and from the ISO 8601 date format (e.g. 2008-04-12T12:53Z). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Gets or sets the date time styles used when converting a date to and from JSON. + + The date time styles used when converting a date to and from JSON. + + + + Gets or sets the date time format used when converting a date to and from JSON. + + The date time format used when converting a date to and from JSON. + + + + Gets or sets the culture used when converting a date to and from JSON. + + The culture used when converting a date to and from JSON. + + + + Converts a to and from a JavaScript date constructor (e.g. new Date(52231943)). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Converts a to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts a to and from JSON and BSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts an to and from its name string value. + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Gets or sets a value indicating whether the written enum text should be camel case. + + true if the written enum text will be camel case; otherwise, false. + + + + Converts a to and from a string (e.g. "1.2.3.4"). + + + + + Writes the JSON representation of the object. + + The to write to. + The value. + The calling serializer. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing property value of the JSON that is being converted. + The calling serializer. + The object value. + + + + Determines whether this instance can convert the specified object type. + + Type of the object. + + true if this instance can convert the specified object type; otherwise, false. + + + + + Converts XML to and from JSON. + + + + + Writes the JSON representation of the object. + + The to write to. + The calling serializer. + The value. + + + + Reads the JSON representation of the object. + + The to read from. + Type of the object. + The existing value of object being read. + The calling serializer. + The object value. + + + + Checks if the attributeName is a namespace attribute. + + Attribute name to test. + The attribute name prefix if it has one, otherwise an empty string. + True if attribute name is for a namespace attribute, otherwise false. + + + + Determines whether this instance can convert the specified value type. + + Type of the value. + + true if this instance can convert the specified value type; otherwise, false. + + + + + Gets or sets the name of the root element to insert when deserializing to XML if the JSON structure has produces multiple root elements. + + The name of the deserialize root element. + + + + Gets or sets a flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + true if the array attibute is written to the XML; otherwise, false. + + + + Gets or sets a value indicating whether to write the root JSON object. + + true if the JSON root object is omitted; otherwise, false. + + + + Specifies how dates are formatted when writing JSON text. + + + + + Dates are written in the ISO 8601 format, e.g. "2012-03-21T05:40Z". + + + + + Dates are written in the Microsoft JSON format, e.g. "\/Date(1198908717056)\/". + + + + + Specifies how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON text. + + + + + Date formatted strings are not parsed to a date type and are read as strings. + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed to . + + + + + Specifies how to treat the time value when converting between string and . + + + + + Treat as local time. If the object represents a Coordinated Universal Time (UTC), it is converted to the local time. + + + + + Treat as a UTC. If the object represents a local time, it is converted to a UTC. + + + + + Treat as a local time if a is being converted to a string. + If a string is being converted to , convert to a local time if a time zone is specified. + + + + + Time zone information should be preserved when converting. + + + + + Specifies float format handling options when writing special floating point numbers, e.g. , + and with . + + + + + Write special floating point values as strings in JSON, e.g. "NaN", "Infinity", "-Infinity". + + + + + Write special floating point values as symbols in JSON, e.g. NaN, Infinity, -Infinity. + Note that this will produce non-valid JSON. + + + + + Write special floating point values as the property's default value in JSON, e.g. 0.0 for a property, null for a property. + + + + + Specifies how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Floating point numbers are parsed to . + + + + + Floating point numbers are parsed to . + + + + + Indicates the method that will be used during deserialization for locating and loading assemblies. + + + + + In simple mode, the assembly used during deserialization need not match exactly the assembly used during serialization. Specifically, the version numbers need not match as the LoadWithPartialName method is used to load the assembly. + + + + + In full mode, the assembly used during deserialization must match exactly the assembly used during serialization. The Load method of the Assembly class is used to load the assembly. + + + + + Specifies default value handling options for the . + + + + + + + + + Include members where the member value is the same as the member's default value when serializing objects. + Included members are written to JSON. Has no effect when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + so that is is not written to JSON. + This option will ignore all default values (e.g. null for objects and nullable typesl; 0 for integers, + decimals and floating point numbers; and false for booleans). The default value ignored can be changed by + placing the on the property. + + + + + Members with a default value but no JSON will be set to their default value when deserializing. + + + + + Ignore members where the member value is the same as the member's default value when serializing objects + and sets members to their default value when deserializing. + + + + + Specifies formatting options for the . + + + + + No special formatting is applied. This is the default. + + + + + Causes child objects to be indented according to the and settings. + + + + + Provides an interface to enable a class to return line and position information. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Gets the current line position. + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + Instructs the how to serialize the collection. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the id. + + The id. + + + + Gets or sets the title. + + The title. + + + + Gets or sets the description. + + The description. + + + + Gets the collection's items converter. + + The collection's items converter. + + + + Gets or sets a value that indicates whether to preserve object references. + + + true to keep object reference; otherwise, false. The default is false. + + + + + Gets or sets a value that indicates whether to preserve collection's items references. + + + true to keep collection's items object references; otherwise, false. The default is false. + + + + + Gets or sets the reference loop handling used when serializing the collection's items. + + The reference loop handling. + + + + Gets or sets the type name handling used when serializing the collection's items. + + The type name handling. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with a flag indicating whether the array can contain null items + + A flag indicating whether the array can contain null items. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets a value indicating whether null items are allowed in the collection. + + true if null items are allowed in the collection; otherwise, false. + + + + Instructs the to use the specified constructor when deserializing that object. + + + + + Provides methods for converting between common language runtime types and JSON types. + + + + + + + + Represents JavaScript's boolean value true as a string. This field is read-only. + + + + + Represents JavaScript's boolean value false as a string. This field is read-only. + + + + + Represents JavaScript's null as a string. This field is read-only. + + + + + Represents JavaScript's undefined as a string. This field is read-only. + + + + + Represents JavaScript's positive infinity as a string. This field is read-only. + + + + + Represents JavaScript's negative infinity as a string. This field is read-only. + + + + + Represents JavaScript's NaN as a string. This field is read-only. + + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + The time zone handling when the date is converted to a string. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation using the specified. + + The value to convert. + The format the date will be converted to. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + The string delimiter character. + A JSON string representation of the . + + + + Converts the to its JSON string representation. + + The value to convert. + A JSON string representation of the . + + + + Serializes the specified object to a JSON string. + + The object to serialize. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string. + + The object to serialize. + Indicates how the output is formatted. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + A collection converters used while serializing. + A JSON string representation of the object. + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + A JSON string representation of the object. + + + + + Serializes the specified object to a JSON string using a collection of . + + The object to serialize. + Indicates how the output is formatted. + The used to serialize the object. + If this is null, default serialization settings will be is used. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + A JSON string representation of the object. + + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to a .NET object. + + The JSON to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The of object being deserialized. + The deserialized object from the Json string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + The deserialized object from the Json string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the given anonymous type. + + + The anonymous type to deserialize to. This can't be specified + traditionally and must be infered from the anonymous type passed + as a parameter. + + The JSON to deserialize. + The anonymous type object. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized anonymous type from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The JSON to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The type of the object to deserialize to. + The object to deserialize. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize. + Converters to use while deserializing. + The deserialized object from the JSON string. + + + + Deserializes the JSON to the specified .NET type. + + The JSON to deserialize. + The type of the object to deserialize to. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + The deserialized object from the JSON string. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + + + Populates the object with values from the JSON string. + + The JSON to populate values from. + The target object to populate values onto. + + The used to deserialize the object. + If this is null, default serialization settings will be is used. + + + + + Serializes the to a JSON string. + + The node to convert to JSON. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to convert to JSON. + Indicates how the output is formatted. + A JSON string of the XNode. + + + + Serializes the to a JSON string. + + The node to serialize. + Indicates how the output is formatted. + Omits writing the root object. + A JSON string of the XNode. + + + + Deserializes the from a JSON string. + + The JSON string. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + The deserialized XNode + + + + Deserializes the from a JSON string nested in a root elment. + + The JSON string. + The name of the root element to append when deserializing. + + A flag to indicate whether to write the Json.NET array attribute. + This attribute helps preserve arrays when converting the written XML back to JSON. + + The deserialized XNode + + + + Instructs the to use the specified when serializing the member or class. + + + + + Initializes a new instance of the class. + + Type of the converter. + + + + Gets the type of the converter. + + The type of the converter. + + + + Represents a collection of . + + + + + Instructs the how to serialize the collection. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Instructs the not to serialize the public field or public read/write property value. + + + + + Instructs the how to serialize the object. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified member serialization. + + The member serialization. + + + + Initializes a new instance of the class with the specified container Id. + + The container Id. + + + + Gets or sets the member serialization. + + The member serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Instructs the to always serialize the member with the specified name. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class with the specified name. + + Name of the property. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets the null value handling used when serializing this property. + + The null value handling. + + + + Gets or sets the default value handling used when serializing this property. + + The default value handling. + + + + Gets or sets the reference loop handling used when serializing this property. + + The reference loop handling. + + + + Gets or sets the object creation handling used when deserializing this property. + + The object creation handling. + + + + Gets or sets the type name handling used when serializing this property. + + The type name handling. + + + + Gets or sets whether this property's value is serialized as a reference. + + Whether this property's value is serialized as a reference. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets a value indicating whether this property is required. + + + A value indicating whether this property is required. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + The exception thrown when an error occurs during Json serialization or deserialization. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Serializes and deserializes objects into and from the JSON format. + The enables you to control how objects are encoded into JSON. + + + + + Initializes a new instance of the class. + + + + + Creates a new instance using the specified . + + The settings to be applied to the . + A new instance using the specified . + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Populates the JSON values onto the target object. + + The that contains the JSON structure to reader values from. + The target object to populate values onto. + + + + Deserializes the Json structure contained by the specified . + + The that contains the JSON structure to deserialize. + The being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The type of the object to deserialize. + The instance of being deserialized. + + + + Deserializes the Json structure contained by the specified + into an instance of the specified type. + + The containing the object. + The of object being deserialized. + The instance of being deserialized. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + The type of the value being serialized. + This parameter is used when is Auto to write out the type name if the type of the value does not match. + Specifing the type is optional. + + + + + Serializes the specified and writes the Json structure + to a Stream using the specified . + + The used to write the Json structure. + The to serialize. + + + + Occurs when the errors during serialization and deserialization. + + + + + Gets or sets the used by the serializer when resolving references. + + + + + Gets or sets the used by the serializer when resolving type names. + + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how object references are preserved by the serializer. + + + + + Get or set how reference loops (e.g. a class referencing itself) is handled. + + + + + Get or set how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + + + + Get or set how null values are handled during serialization and deserialization. + + + + + Get or set how null default are handled during serialization and deserialization. + + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets a collection that will be used during serialization. + + Collection that will be used during serialization. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Gets a value indicating whether there will be a check for additional JSON content after deserializing an object. + + + true if there will be a check for additional JSON content after deserializing an object; otherwise, false. + + + + + Specifies the settings on a object. + + + + + Initializes a new instance of the class. + + + + + Gets or sets how reference loops (e.g. a class referencing itself) is handled. + + Reference loop handling. + + + + Gets or sets how missing members (e.g. JSON contains a property that isn't a member on the object) are handled during deserialization. + + Missing member handling. + + + + Gets or sets how objects are created during deserialization. + + The object creation handling. + + + + Gets or sets how null values are handled during serialization and deserialization. + + Null value handling. + + + + Gets or sets how null default are handled during serialization and deserialization. + + The default value handling. + + + + Gets or sets a collection that will be used during serialization. + + The converters. + + + + Gets or sets how object references are preserved by the serializer. + + The preserve references handling. + + + + Gets or sets how type name writing and reading is handled by the serializer. + + The type name handling. + + + + Gets or sets how a type name assembly is written and resolved by the serializer. + + The type name assembly format. + + + + Gets or sets how constructors are used during deserialization. + + The constructor handling. + + + + Gets or sets the contract resolver used by the serializer when + serializing .NET objects to JSON and vice versa. + + The contract resolver. + + + + Gets or sets the used by the serializer when resolving references. + + The reference resolver. + + + + Gets or sets the used by the serializer when writing trace messages. + + The trace writer. + + + + Gets or sets the used by the serializer when resolving type names. + + The binder. + + + + Gets or sets the error handler called during serialization and deserialization. + + The error handler called during serialization and deserialization. + + + + Gets or sets the used by the serializer when invoking serialization callback methods. + + The context. + + + + Get or set how and values are formatting when writing JSON text. + + + + + Gets or sets the maximum depth allowed when reading JSON. Reading past this depth will throw a . + + + + + Indicates how JSON text output is formatted. + + + + + Get or set how dates are written to JSON text. + + + + + Get or set how time zones are handling during serialization and deserialization. + + + + + Get or set how date formatted strings, e.g. "\/Date(1198908717056)\/" and "2012-03-21T05:40Z", are parsed when reading JSON. + + + + + Get or set how special floating point numbers, e.g. , + and , + are written as JSON. + + + + + Get or set how floating point numbers, e.g. 1.0 and 9.9, are parsed when reading JSON text. + + + + + Get or set how strings are escaped when writing JSON text. + + + + + Gets or sets the culture used when reading JSON. Defaults to . + + + + + Gets a value indicating whether there will be a check for additional content after deserializing an object. + + + true if there will be a check for additional content after deserializing an object; otherwise, false. + + + + + Represents a reader that provides fast, non-cached, forward-only access to JSON text data. + + + + + Initializes a new instance of the class with the specified . + + The TextReader containing the XML data to read. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Changes the state to closed. + + + + + Gets a value indicating whether the class can return line information. + + + true if LineNumber and LinePosition can be provided; otherwise, false. + + + + + Gets the current line number. + + + The current line number or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Gets the current line position. + + + The current line position or 0 if no line information is available (for example, HasLineInfo returns false). + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Creates an instance of the JsonWriter class using the specified . + + The TextWriter to write to. + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the specified end token. + + The end token to write. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes the property name of a name/value pair on a JSON object. + + The name of the property. + A flag to indicate whether the text should be escaped when it is written as a JSON property name. + + + + Writes indent characters. + + + + + Writes the JSON value delimiter. + + + + + Writes an indent space. + + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes out the given white space. + + The string of white space characters. + + + + Gets or sets how many IndentChars to write for each level in the hierarchy when is set to Formatting.Indented. + + + + + Gets or sets which character to use to quote attribute values. + + + + + Gets or sets which character to use for indenting when is set to Formatting.Indented. + + + + + Gets or sets a value indicating whether object names will be surrounded with quotes. + + + + + Specifies the type of Json token. + + + + + This is returned by the if a method has not been called. + + + + + An object start token. + + + + + An array start token. + + + + + A constructor start token. + + + + + An object property name. + + + + + A comment. + + + + + Raw JSON. + + + + + An integer. + + + + + A float. + + + + + A string. + + + + + A boolean. + + + + + A null token. + + + + + An undefined token. + + + + + An object end token. + + + + + An array end token. + + + + + A constructor end token. + + + + + A Date. + + + + + Byte data. + + + + + Represents a reader that provides validation. + + + + + Initializes a new instance of the class that + validates the content returned from the given . + + The to read from while validating. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. + + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Sets an event handler for receiving schema validation errors. + + + + + Gets the text value of the current JSON token. + + + + + + Gets the depth of the current token in the JSON document. + + The depth of the current token in the JSON document. + + + + Gets the path of the current JSON token. + + + + + Gets the quotation mark character used to enclose the value of a string. + + + + + + Gets the type of the current JSON token. + + + + + + Gets the Common Language Runtime (CLR) type for the current JSON token. + + + + + + Gets or sets the schema. + + The schema. + + + + Gets the used to construct this . + + The specified in the constructor. + + + + The exception thrown when an error occurs while reading Json text. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Contains the LINQ to JSON extension methods. + + + + + Returns a collection of tokens that contains the ancestors of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the ancestors of every node in the source collection. + + + + Returns a collection of tokens that contains the descendants of every token in the source collection. + + The type of the objects in source, constrained to . + An of that contains the source collection. + An of that contains the descendants of every node in the source collection. + + + + Returns a collection of child properties of every object in the source collection. + + An of that contains the source collection. + An of that contains the properties of every object in the source collection. + + + + Returns a collection of child values of every object in the source collection with the given key. + + An of that contains the source collection. + The token key. + An of that contains the values of every node in the source collection with the given key. + + + + Returns a collection of child values of every object in the source collection. + + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child values of every object in the source collection with the given key. + + The type to convert the values to. + An of that contains the source collection. + The token key. + An that contains the converted values of every node in the source collection with the given key. + + + + Returns a collection of converted child values of every object in the source collection. + + The type to convert the values to. + An of that contains the source collection. + An that contains the converted values of every node in the source collection. + + + + Converts the value. + + The type to convert the value to. + A cast as a of . + A converted value. + + + + Converts the value. + + The source collection type. + The type to convert the value to. + A cast as a of . + A converted value. + + + + Returns a collection of child tokens of every array in the source collection. + + The source collection type. + An of that contains the source collection. + An of that contains the values of every node in the source collection. + + + + Returns a collection of converted child tokens of every array in the source collection. + + An of that contains the source collection. + The type to convert the values to. + The source collection type. + An that contains the converted values of every node in the source collection. + + + + Returns the input typed as . + + An of that contains the source collection. + The input typed as . + + + + Returns the input typed as . + + The source collection type. + An of that contains the source collection. + The input typed as . + + + + Represents a collection of objects. + + The type of token + + + + Gets the with the specified key. + + + + + + Represents a JSON array. + + + + + + + + Represents a token that can contain other tokens. + + + + + Represents an abstract JSON token. + + + + + Compares the values of two tokens, including the values of all descendant tokens. + + The first to compare. + The second to compare. + true if the tokens are equal; otherwise false. + + + + Adds the specified content immediately after this token. + + A content object that contains simple content or a collection of content objects to be added after this token. + + + + Adds the specified content immediately before this token. + + A content object that contains simple content or a collection of content objects to be added before this token. + + + + Returns a collection of the ancestor tokens of this token. + + A collection of the ancestor tokens of this token. + + + + Returns a collection of the sibling tokens after this token, in document order. + + A collection of the sibling tokens after this tokens, in document order. + + + + Returns a collection of the sibling tokens before this token, in document order. + + A collection of the sibling tokens before this token, in document order. + + + + Gets the with the specified key converted to the specified type. + + The type to convert the token to. + The token key. + The converted token value. + + + + Returns a collection of the child tokens of this token, in document order. + + An of containing the child tokens of this , in document order. + + + + Returns a collection of the child tokens of this token, in document order, filtered by the specified type. + + The type to filter the child tokens on. + A containing the child tokens of this , in document order. + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + A containing the child values of this , in document order. + + + + Removes this token from its parent. + + + + + Replaces this token with the specified token. + + The value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Returns the indented JSON for this token. + + + The indented JSON for this token. + + + + + Returns the JSON for this token using the given formatting and converters. + + Indicates how the output is formatted. + A collection of which will be used when writing the token. + The JSON for this token using the given formatting and converters. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an explicit conversion from to . + + The value. + The result of the conversion. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Performs an implicit conversion from to . + + The value to create a from. + The initialized with the specified value. + + + + Creates an for this token. + + An that can be used to read this token and its descendants. + + + + Creates a from an object. + + The object that will be used to create . + A with the value of the specified object + + + + Creates a from an object using the specified . + + The object that will be used to create . + The that will be used when reading the object. + A with the value of the specified object + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the . + + The object type that the token will be deserialized to. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates the specified .NET type from the using the specified . + + The object type that the token will be deserialized to. + The that will be used when creating the object. + The new object created from the JSON value. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Creates a from a . + + An positioned at the token to read into this . + + An that contains the token and its descendant tokens + that were read from the reader. The runtime type of the token is determined + by the token type of the first token encountered in the reader. + + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + The that matches the object path or a null reference if no matching token is found. + + + + Selects the token that matches the object path. + + + The object path from the current to the + to be returned. This must be a string of property names or array indexes separated + by periods, such as Tables[0].DefaultView[0].Price in C# or + Tables(0).DefaultView(0).Price in Visual Basic. + + A flag to indicate whether an error should be thrown if no token is found. + The that matches the object path. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Creates a new instance of the . All child tokens are recursively cloned. + + A new instance of the . + + + + Gets a comparer that can compare two tokens for value equality. + + A that can compare two nodes for value equality. + + + + Gets or sets the parent. + + The parent. + + + + Gets the root of this . + + The root of this . + + + + Gets the node type for this . + + The type. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the next sibling token of this node. + + The that contains the next sibling token. + + + + Gets the previous sibling token of this node. + + The that contains the previous sibling token. + + + + Gets the path of the JSON token. + + + + + Gets the with the specified key. + + The with the specified key. + + + + Get the first child token of this token. + + A containing the first child token of the . + + + + Get the last child token of this token. + + A containing the last child token of the . + + + + Raises the event. + + The instance containing the event data. + + + + Returns a collection of the child tokens of this token, in document order. + + + An of containing the child tokens of this , in document order. + + + + + Returns a collection of the child values of this token, in document order. + + The type to convert the values to. + + A containing the child values of this , in document order. + + + + + Returns a collection of the descendant tokens for this token in document order. + + An containing the descendant tokens of the . + + + + Adds the specified content as children of this . + + The content to be added. + + + + Adds the specified content as the first children of this . + + The content to be added. + + + + Creates an that can be used to add tokens to the . + + An that is ready to have content written to it. + + + + Replaces the children nodes of this token with the specified content. + + The content. + + + + Removes the child nodes from this token. + + + + + Occurs when the items list of the collection has changed, or the collection is reset. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Get the first child token of this token. + + + A containing the first child token of the . + + + + + Get the last child token of this token. + + + A containing the last child token of the . + + + + + Gets the count of child JSON tokens. + + The count of child JSON tokens + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Initializes a new instance of the class with the specified content. + + The contents of the array. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Determines the index of a specific item in the . + + The object to locate in the . + + The index of if found in the list; otherwise, -1. + + + + + Inserts an item to the at the specified index. + + The zero-based index at which should be inserted. + The object to insert into the . + + is not a valid index in the . + The is read-only. + + + + Removes the item at the specified index. + + The zero-based index of the item to remove. + + is not a valid index in the . + The is read-only. + + + + Adds an item to the . + + The object to add to the . + The is read-only. + + + + Removes all items from the . + + The is read-only. + + + + Determines whether the contains a specific value. + + The object to locate in the . + + true if is found in the ; otherwise, false. + + + + + Removes the first occurrence of a specific object from the . + + The object to remove from the . + + true if was successfully removed from the ; otherwise, false. This method also returns false if is not found in the original . + + The is read-only. + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the at the specified index. + + + + + + Represents a JSON constructor. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name and content. + + The constructor name. + The contents of the constructor. + + + + Initializes a new instance of the class with the specified name. + + The constructor name. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets or sets the name of this constructor. + + The constructor name. + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Represents a collection of objects. + + The type of token + + + + An empty collection of objects. + + + + + Initializes a new instance of the struct. + + The enumerable. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Returns an enumerator that iterates through a collection. + + + An object that can be used to iterate through the collection. + + + + + Determines whether the specified is equal to this instance. + + The to compare with this instance. + + true if the specified is equal to this instance; otherwise, false. + + + + + Returns a hash code for this instance. + + + A hash code for this instance, suitable for use in hashing algorithms and data structures like a hash table. + + + + + Gets the with the specified key. + + + + + + Represents a JSON object. + + + + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Initializes a new instance of the class with the specified content. + + The contents of the object. + + + + Gets an of this object's properties. + + An of this object's properties. + + + + Gets a the specified name. + + The property name. + A with the specified name or null. + + + + Gets an of this object's property values. + + An of this object's property values. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Load a from a string that contains JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + + + + Creates a from an object. + + The object that will be used to create . + A with the values of the specified object + + + + Creates a from an object. + + The object that will be used to create . + The that will be used to read the object. + A with the values of the specified object + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Gets the with the specified property name. + + Name of the property. + The with the specified property name. + + + + Gets the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + One of the enumeration values that specifies how the strings will be compared. + The with the specified property name. + + + + Tries to get the with the specified property name. + The exact property name will be searched for first and if no matching property is found then + the will be used to match a property. + + Name of the property. + The value. + One of the enumeration values that specifies how the strings will be compared. + true if a value was successfully retrieved; otherwise, false. + + + + Adds the specified property name. + + Name of the property. + The value. + + + + Removes the property with the specified name. + + Name of the property. + true if item was successfully removed; otherwise, false. + + + + Tries the get value. + + Name of the property. + The value. + true if a value was successfully retrieved; otherwise, false. + + + + Returns an enumerator that iterates through the collection. + + + A that can be used to iterate through the collection. + + + + + Raises the event with the provided arguments. + + Name of the property. + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Occurs when a property value changes. + + + + + Gets the node type for this . + + The type. + + + + Gets the with the specified key. + + The with the specified key. + + + + Gets or sets the with the specified property name. + + + + + + Represents a JSON property. + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Initializes a new instance of the class. + + The property name. + The property content. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Loads an from a . + + A that will be read for the content of the . + A that contains the JSON that was read from the specified . + + + + Gets the container's children tokens. + + The container's children tokens. + + + + Gets the property name. + + The property name. + + + + Gets or sets the property value. + + The property value. + + + + Gets the node type for this . + + The type. + + + + Represents a raw JSON string. + + + + + Represents a value in JSON (string, integer, date, etc). + + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Initializes a new instance of the class with the given value. + + The value. + + + + Creates a comment with the given value. + + The value. + A comment with the given value. + + + + Creates a string with the given value. + + The value. + A string with the given value. + + + + Writes this token to a . + + A into which this method will write. + A collection of which will be used when writing the token. + + + + Indicates whether the current object is equal to another object of the same type. + + + true if the current object is equal to the parameter; otherwise, false. + + An object to compare with this object. + + + + Determines whether the specified is equal to the current . + + The to compare with the current . + + true if the specified is equal to the current ; otherwise, false. + + + The parameter is null. + + + + + Serves as a hash function for a particular type. + + + A hash code for the current . + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format provider. + + A that represents this instance. + + + + + Returns a that represents this instance. + + The format. + The format provider. + + A that represents this instance. + + + + + Returns the responsible for binding operations performed on this object. + + The expression tree representation of the runtime value. + + The to bind this object. + + + + + Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object. + + An object to compare with this instance. + + A 32-bit signed integer that indicates the relative order of the objects being compared. The return value has these meanings: + Value + Meaning + Less than zero + This instance is less than . + Zero + This instance is equal to . + Greater than zero + This instance is greater than . + + + is not the same type as this instance. + + + + + Gets a value indicating whether this token has childen tokens. + + + true if this token has child values; otherwise, false. + + + + + Gets the node type for this . + + The type. + + + + Gets or sets the underlying token value. + + The underlying token value. + + + + Initializes a new instance of the class from another object. + + A object to copy from. + + + + Initializes a new instance of the class. + + The raw json. + + + + Creates an instance of with the content of the reader's current token. + + The reader. + An instance of with the content of the reader's current token. + + + + Compares tokens to determine whether they are equal. + + + + + Determines whether the specified objects are equal. + + The first object of type to compare. + The second object of type to compare. + + true if the specified objects are equal; otherwise, false. + + + + + Returns a hash code for the specified object. + + The for which a hash code is to be returned. + A hash code for the specified object. + The type of is a reference type and is null. + + + + Represents a reader that provides fast, non-cached, forward-only access to serialized Json data. + + + + + Initializes a new instance of the class. + + The token to read from. + + + + Reads the next JSON token from the stream as a . + + + A or a null reference if the next JSON token is null. This method will return null at the end of an array. + + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream as a . + + A . This method will return null at the end of an array. + + + + Reads the next JSON token from the stream. + + + true if the next token was read successfully; false if there are no more tokens to read. + + + + + Specifies the type of token. + + + + + No token type has been set. + + + + + A JSON object. + + + + + A JSON array. + + + + + A JSON constructor. + + + + + A JSON object property. + + + + + A comment. + + + + + An integer value. + + + + + A float value. + + + + + A string value. + + + + + A boolean value. + + + + + A null value. + + + + + An undefined value. + + + + + A date value. + + + + + A raw JSON value. + + + + + A collection of bytes value. + + + + + A Guid value. + + + + + A Uri value. + + + + + A TimeSpan value. + + + + + Represents a writer that provides a fast, non-cached, forward-only way of generating Json data. + + + + + Initializes a new instance of the class writing to the given . + + The container being written to. + + + + Initializes a new instance of the class. + + + + + Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. + + + + + Closes this stream and the underlying stream. + + + + + Writes the beginning of a Json object. + + + + + Writes the beginning of a Json array. + + + + + Writes the start of a constructor with the given name. + + The name of the constructor. + + + + Writes the end. + + The token. + + + + Writes the property name of a name/value pair on a Json object. + + The name of the property. + + + + Writes a null value. + + + + + Writes an undefined value. + + + + + Writes raw JSON. + + The raw JSON to write. + + + + Writes out a comment /*...*/ containing the specified text. + + Text to place inside the comment. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Writes a value. + + The value to write. + + + + Gets the token being writen. + + The token being writen. + + + + Specifies the member serialization options for the . + + + + + All public members are serialized by default. Members can be excluded using or . + This is the default member serialization mode. + + + + + Only members must be marked with or are serialized. + This member serialization mode can also be set by marking the class with . + + + + + All public and private fields are serialized. Members can be excluded using or . + This member serialization mode can also be set by marking the class with + and setting IgnoreSerializableAttribute on to false. + + + + + Specifies missing member handling options for the . + + + + + Ignore a missing member and do not attempt to deserialize it. + + + + + Throw a when a missing member is encountered during deserialization. + + + + + Specifies null value handling options for the . + + + + + + + + + Include null values when serializing and deserializing objects. + + + + + Ignore null values when serializing and deserializing objects. + + + + + Specifies how object creation is handled by the . + + + + + Reuse existing objects, create new objects when needed. + + + + + Only reuse existing objects. + + + + + Always create new objects. + + + + + Specifies reference handling options for the . + Note that references cannot be preserved when a value is set via a non-default constructor such as types that implement ISerializable. + + + + + + + + Do not preserve references when serializing types. + + + + + Preserve references when serializing into a JSON object structure. + + + + + Preserve references when serializing into a JSON array structure. + + + + + Preserve references when serializing. + + + + + Specifies reference loop handling options for the . + + + + + Throw a when a loop is encountered. + + + + + Ignore loop references and do not serialize. + + + + + Serialize loop references. + + + + + Indicating whether a property is required. + + + + + The property is not required. The default state. + + + + + The property must be defined in JSON but can be a null value. + + + + + The property must be defined in JSON and cannot be a null value. + + + + + Allows users to control class loading and mandate what class to load. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object + The type of the object the formatter creates a new instance of. + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Resolves member mappings for a type, camel casing property names. + + + + + Used by to resolves a for a given . + + + + + Used by to resolves a for a given . + + + + + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class. + + + If set to true the will use a cached shared with other resolvers of the same type. + Sharing the cache will significantly performance because expensive reflection will only happen once but could cause unexpected + behavior if different instances of the resolver are suppose to produce different results. When set to false it is highly + recommended to reuse instances with the . + + + + + Resolves the contract for a given type. + + The type to resolve a contract for. + The contract for a given type. + + + + Gets the serializable members for the type. + + The type to get serializable members for. + The serializable members for the type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates the constructor parameters. + + The constructor to create properties for. + The type's member properties. + Properties for the given . + + + + Creates a for the given . + + The matching member property. + The constructor parameter. + A created for the given . + + + + Resolves the default for the contract. + + Type of the object. + The contract's default . + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Creates a for the given type. + + Type of the object. + A for the given type. + + + + Determines which contract type is created for the given type. + + Type of the object. + A for the given type. + + + + Creates properties for the given . + + The type to create properties for. + /// The member serialization mode for the type. + Properties for the given . + + + + Creates the used by the serializer to get and set values from a member. + + The member. + The used by the serializer to get and set values from a member. + + + + Creates a for the given . + + The member's parent . + The member to create a for. + A created for the given . + + + + Resolves the name of the property. + + Name of the property. + Name of the property. + + + + Gets the resolved name of the property. + + Name of the property. + Name of the property. + + + + Gets a value indicating whether members are being get and set using dynamic code generation. + This value is determined by the runtime permissions available. + + + true if using dynamic code generation; otherwise, false. + + + + + Gets or sets the default members search flags. + + The default members search flags. + + + + Gets or sets a value indicating whether compiler generated members should be serialized. + + + true if serialized compiler generated members; otherwise, false. + + + + + Initializes a new instance of the class. + + + + + Resolves the name of the property. + + Name of the property. + The property name camel cased. + + + + Used to resolve references when serializing and deserializing JSON by the . + + + + + Resolves a reference to its object. + + The serialization context. + The reference to resolve. + The object that + + + + Gets the reference for the sepecified object. + + The serialization context. + The object to get a reference for. + The reference to the object. + + + + Determines whether the specified object is referenced. + + The serialization context. + The object to test for a reference. + + true if the specified object is referenced; otherwise, false. + + + + + Adds a reference to the specified object. + + The serialization context. + The reference. + The object to reference. + + + + The default serialization binder used when resolving and loading classes from type names. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + The type of the object the formatter creates a new instance of. + + + + + When overridden in a derived class, controls the binding of a serialized object to a type. + + The type of the object the formatter creates a new instance of. + Specifies the name of the serialized object. + Specifies the name of the serialized object. + + + + Provides information surrounding an error. + + + + + Gets or sets the error. + + The error. + + + + Gets the original object that caused the error. + + The original object that caused the error. + + + + Gets the member that caused the error. + + The member that caused the error. + + + + Gets the path of the JSON location where the error occurred. + + The path of the JSON location where the error occurred. + + + + Gets or sets a value indicating whether this is handled. + + true if handled; otherwise, false. + + + + Provides data for the Error event. + + + + + Initializes a new instance of the class. + + The current object. + The error context. + + + + Gets the current object the error event is being raised against. + + The current object the error event is being raised against. + + + + Gets the error context. + + The error context. + + + + Represents a trace writer. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + The that will be used to filter the trace messages passed to the writer. + + + + Provides methods to get and set values. + + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Contract details for a used by the . + + + + + Gets the underlying type for the contract. + + The underlying type for the contract. + + + + Gets or sets the type created during deserialization. + + The type created during deserialization. + + + + Gets or sets whether this type contract is serialized as a reference. + + Whether this type contract is serialized as a reference. + + + + Gets or sets the default for this contract. + + The converter. + + + + Gets or sets all methods called immediately after deserialization of the object. + + The methods called immediately after deserialization of the object. + + + + Gets or sets all methods called during deserialization of the object. + + The methods called during deserialization of the object. + + + + Gets or sets all methods called after serialization of the object graph. + + The methods called after serialization of the object graph. + + + + Gets or sets all methods called before serialization of the object. + + The methods called before serialization of the object. + + + + Gets or sets all method called when an error is thrown during the serialization of the object. + + The methods called when an error is thrown during the serialization of the object. + + + + Gets or sets the method called immediately after deserialization of the object. + + The method called immediately after deserialization of the object. + + + + Gets or sets the method called during deserialization of the object. + + The method called during deserialization of the object. + + + + Gets or sets the method called after serialization of the object graph. + + The method called after serialization of the object graph. + + + + Gets or sets the method called before serialization of the object. + + The method called before serialization of the object. + + + + Gets or sets the method called when an error is thrown during the serialization of the object. + + The method called when an error is thrown during the serialization of the object. + + + + Gets or sets the default creator method used to create the object. + + The default creator method used to create the object. + + + + Gets or sets a value indicating whether the default creator is non public. + + true if the default object creator is non-public; otherwise, false. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the default collection items . + + The converter. + + + + Gets or sets a value indicating whether the collection items preserve object references. + + true if collection items preserve object references; otherwise, false. + + + + Gets or sets the collection item reference loop handling. + + The reference loop handling. + + + + Gets or sets the collection item type name handling. + + The type name handling. + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the of the collection items. + + The of the collection items. + + + + Gets a value indicating whether the collection type is a multidimensional array. + + true if the collection type is a multidimensional array; otherwise, false. + + + + Handles serialization callback events. + + The object that raised the callback event. + The streaming context. + + + + Handles serialization error callback events. + + The object that raised the callback event. + The streaming context. + The error context. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Gets the of the dictionary keys. + + The of the dictionary keys. + + + + Gets the of the dictionary values. + + The of the dictionary values. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets the object's properties. + + The object's properties. + + + + Gets or sets the property name resolver. + + The property name resolver. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Gets or sets the object member serialization. + + The member object serialization. + + + + Gets or sets a value that indicates whether the object's properties are required. + + + A value indicating whether the object's properties are required. + + + + + Gets the object's properties. + + The object's properties. + + + + Gets the constructor parameters required for any non-default constructor + + + + + Gets or sets the override constructor used to create the object. + This is set when a constructor is marked up using the + JsonConstructor attribute. + + The override constructor. + + + + Gets or sets the parametrized constructor used to create the object. + + The parametrized constructor. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Maps a JSON property to a .NET member or constructor parameter. + + + + + Returns a that represents this instance. + + + A that represents this instance. + + + + + Gets or sets the name of the property. + + The name of the property. + + + + Gets or sets the type that declared this property. + + The type that declared this property. + + + + Gets or sets the order of serialization and deserialization of a member. + + The numeric order of serialization or deserialization. + + + + Gets or sets the name of the underlying member or parameter. + + The name of the underlying member or parameter. + + + + Gets the that will get and set the during serialization. + + The that will get and set the during serialization. + + + + Gets or sets the type of the property. + + The type of the property. + + + + Gets or sets the for the property. + If set this converter takes presidence over the contract converter for the property type. + + The converter. + + + + Gets the member converter. + + The member converter. + + + + Gets a value indicating whether this is ignored. + + true if ignored; otherwise, false. + + + + Gets a value indicating whether this is readable. + + true if readable; otherwise, false. + + + + Gets a value indicating whether this is writable. + + true if writable; otherwise, false. + + + + Gets a value indicating whether this has a member attribute. + + true if has a member attribute; otherwise, false. + + + + Gets the default value. + + The default value. + + + + Gets a value indicating whether this is required. + + A value indicating whether this is required. + + + + Gets a value indicating whether this property preserves object references. + + + true if this instance is reference; otherwise, false. + + + + + Gets the property null value handling. + + The null value handling. + + + + Gets the property default value handling. + + The default value handling. + + + + Gets the property reference loop handling. + + The reference loop handling. + + + + Gets the property object creation handling. + + The object creation handling. + + + + Gets or sets the type name handling. + + The type name handling. + + + + Gets or sets a predicate used to determine whether the property should be serialize. + + A predicate used to determine whether the property should be serialize. + + + + Gets or sets a predicate used to determine whether the property should be serialized. + + A predicate used to determine whether the property should be serialized. + + + + Gets or sets an action used to set whether the property has been deserialized. + + An action used to set whether the property has been deserialized. + + + + Gets or sets the converter used when serializing the property's collection items. + + The collection's items converter. + + + + Gets or sets whether this property's collection items are serialized as a reference. + + Whether this property's collection items are serialized as a reference. + + + + Gets or sets the the type name handling used when serializing the property's collection items. + + The collection's items type name handling. + + + + Gets or sets the the reference loop handling used when serializing the property's collection items. + + The collection's items reference loop handling. + + + + A collection of objects. + + + + + Initializes a new instance of the class. + + The type. + + + + When implemented in a derived class, extracts the key from the specified element. + + The element from which to extract the key. + The key for the specified element. + + + + Adds a object. + + The property to add to the collection. + + + + Gets the closest matching object. + First attempts to get an exact case match of propertyName and then + a case insensitive match. + + Name of the property. + A matching property if found. + + + + Gets a property by property name. + + The name of the property to get. + Type property name string comparison. + A matching property if found. + + + + Contract details for a used by the . + + + + + Initializes a new instance of the class. + + The underlying type for the contract. + + + + Represents a trace writer that writes to memory. When the trace message limit is + reached then old trace messages will be removed as new messages are added. + + + + + Initializes a new instance of the class. + + + + + Writes the specified trace level, message and optional exception. + + The at which to write this trace. + The trace message. + The trace exception. This parameter is optional. + + + + Returns an enumeration of the most recent trace messages. + + An enumeration of the most recent trace messages. + + + + Returns a of the most recent trace messages. + + + A of the most recent trace messages. + + + + + Gets the that will be used to filter the trace messages passed to the writer. + For example a filter level of Info will exclude Verbose messages and include Info, + Warning and Error messages. + + + The that will be used to filter the trace messages passed to the writer. + + + + + Represents a method that constructs an object. + + The object type to create. + + + + When applied to a method, specifies that the method is called when an error occurs serializing an object. + + + + + Get and set values for a using reflection. + + + + + Initializes a new instance of the class. + + The member info. + + + + Sets the value. + + The target to set the value on. + The value to set on the target. + + + + Gets the value. + + The target to get the value from. + The value. + + + + Specifies how strings are escaped when writing JSON text. + + + + + Only control characters (e.g. newline) are escaped. + + + + + All non-ASCII and control characters (e.g. newline) are escaped. + + + + + HTML (<, >, &, ', ") and control characters (e.g. newline) are escaped. + + + + + Specifies what messages to output for the class. + + + + + Output no tracing and debugging messages. + + + + + Output error-handling messages. + + + + + Output warnings and error-handling messages. + + + + + Output informational messages, warnings, and error-handling messages. + + + + + Output all debugging and tracing messages. + + + + + Specifies type name handling options for the . + + + + + Do not include the .NET type name when serializing types. + + + + + Include the .NET type name when serializing into a JSON object structure. + + + + + Include the .NET type name when serializing into a JSON array structure. + + + + + Always include the .NET type name when serializing. + + + + + Include the .NET type name when the type of the object being serialized is not the same as its declared type. + + + + + Determines whether the collection is null or empty. + + The collection. + + true if the collection is null or empty; otherwise, false. + + + + + Adds the elements of the specified collection to the specified generic IList. + + The list to add to. + The collection of elements to add. + + + + Returns the index of the first occurrence in a sequence by using a specified IEqualityComparer. + + The type of the elements of source. + A sequence in which to locate a value. + The object to locate in the sequence + An equality comparer to compare values. + The zero-based index of the first occurrence of value within the entire sequence, if found; otherwise, –1. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted type. + + + + Converts the value to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert the value to. + The converted value if the conversion was successful or the default value of T if it failed. + + true if initialValue was converted successfully; otherwise, false. + + + + + Converts the value to the specified type. If the value is unable to be converted, the + value is checked whether it assignable to the specified type. + + The value to convert. + The culture to use when converting. + The type to convert or cast the value to. + + The converted type. If conversion was unsuccessful, the initial value + is returned if assignable to the target type. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic that returns a result + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Helper method for generating a MetaObject which calls a + specific method on Dynamic, but uses one of the arguments for + the result. + + + + + Returns a Restrictions object which includes our current restrictions merged + with a restriction limiting our type + + + + + Gets a dictionary of the names and values of an Enum type. + + + + + + Gets a dictionary of the names and values of an Enum type. + + The enum type to get names and values for. + + + + + Gets the type of the typed collection's items. + + The type. + The type of the typed collection's items. + + + + Gets the member's underlying type. + + The member. + The underlying type of the member. + + + + Determines whether the member is an indexed property. + + The member. + + true if the member is an indexed property; otherwise, false. + + + + + Determines whether the property is an indexed property. + + The property. + + true if the property is an indexed property; otherwise, false. + + + + + Gets the member's value on the object. + + The member. + The target object. + The member's value on the object. + + + + Sets the member's value on the target object. + + The member. + The target. + The value. + + + + Determines whether the specified MemberInfo can be read. + + The MemberInfo to determine whether can be read. + /// if set to true then allow the member to be gotten non-publicly. + + true if the specified MemberInfo can be read; otherwise, false. + + + + + Determines whether the specified MemberInfo can be set. + + The MemberInfo to determine whether can be set. + if set to true then allow the member to be set non-publicly. + if set to true then allow the member to be set if read-only. + + true if the specified MemberInfo can be set; otherwise, false. + + + + + Builds a string. Unlike StringBuilder this class lets you reuse it's internal buffer. + + + + + Determines whether the string is all white space. Empty string will return false. + + The string to test whether it is all white space. + + true if the string is all white space; otherwise, false. + + + + + Nulls an empty string. + + The string. + Null if the string was null, otherwise the string unchanged. + + + + Contains the JSON schema extension methods. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + + true if the specified is valid; otherwise, false. + + + + + Determines whether the is valid. + + The source to test. + The schema to test with. + When this method returns, contains any error messages generated while validating. + + true if the specified is valid; otherwise, false. + + + + + Validates the specified . + + The source to test. + The schema to test with. + + + + Validates the specified . + + The source to test. + The schema to test with. + The validation event handler. + + + + Returns detailed information about the schema exception. + + + + + Initializes a new instance of the class. + + + + + Initializes a new instance of the class + with a specified error message. + + The error message that explains the reason for the exception. + + + + Initializes a new instance of the class + with a specified error message and a reference to the inner exception that is the cause of this exception. + + The error message that explains the reason for the exception. + The exception that is the cause of the current exception, or a null reference (Nothing in Visual Basic) if no inner exception is specified. + + + + Gets the line number indicating where the error occurred. + + The line number indicating where the error occurred. + + + + Gets the line position indicating where the error occurred. + + The line position indicating where the error occurred. + + + + Gets the path to the JSON where the error occurred. + + The path to the JSON where the error occurred. + + + + Specifies undefined schema Id handling options for the . + + + + + Do not infer a schema Id. + + + + + Use the .NET type name as the schema Id. + + + + + Use the assembly qualified .NET type name as the schema Id. + + + + + Returns detailed information related to the . + + + + + Gets the associated with the validation error. + + The JsonSchemaException associated with the validation error. + + + + Gets the path of the JSON location where the validation error occurred. + + The path of the JSON location where the validation error occurred. + + + + Gets the text description corresponding to the validation error. + + The text description. + + + + Represents the callback method that will handle JSON schema validation events and the . + + + + + An in-memory representation of a JSON Schema. + + + + + Initializes a new instance of the class. + + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The object representing the JSON Schema. + + + + Reads a from the specified . + + The containing the JSON Schema to read. + The to use when resolving schema references. + The object representing the JSON Schema. + + + + Load a from a string that contains schema JSON. + + A that contains JSON. + A populated from the string that contains JSON. + + + + Parses the specified json. + + The json. + The resolver. + A populated from the string that contains JSON. + + + + Writes this schema to a . + + A into which this method will write. + + + + Writes this schema to a using the specified . + + A into which this method will write. + The resolver used. + + + + Returns a that represents the current . + + + A that represents the current . + + + + + Gets or sets the id. + + + + + Gets or sets the title. + + + + + Gets or sets whether the object is required. + + + + + Gets or sets whether the object is read only. + + + + + Gets or sets whether the object is visible to users. + + + + + Gets or sets whether the object is transient. + + + + + Gets or sets the description of the object. + + + + + Gets or sets the types of values allowed by the object. + + The type. + + + + Gets or sets the pattern. + + The pattern. + + + + Gets or sets the minimum length. + + The minimum length. + + + + Gets or sets the maximum length. + + The maximum length. + + + + Gets or sets a number that the value should be divisble by. + + A number that the value should be divisble by. + + + + Gets or sets the minimum. + + The minimum. + + + + Gets or sets the maximum. + + The maximum. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + A flag indicating whether the value can not equal the number defined by the "minimum" attribute. + + + + Gets or sets a flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + A flag indicating whether the value can not equal the number defined by the "maximum" attribute. + + + + Gets or sets the minimum number of items. + + The minimum number of items. + + + + Gets or sets the maximum number of items. + + The maximum number of items. + + + + Gets or sets the of items. + + The of items. + + + + Gets or sets a value indicating whether items in an array are validated using the instance at their array position from . + + + true if items are validated using their array position; otherwise, false. + + + + + Gets or sets the of additional items. + + The of additional items. + + + + Gets or sets a value indicating whether additional items are allowed. + + + true if additional items are allowed; otherwise, false. + + + + + Gets or sets whether the array items must be unique. + + + + + Gets or sets the of properties. + + The of properties. + + + + Gets or sets the of additional properties. + + The of additional properties. + + + + Gets or sets the pattern properties. + + The pattern properties. + + + + Gets or sets a value indicating whether additional properties are allowed. + + + true if additional properties are allowed; otherwise, false. + + + + + Gets or sets the required property if this property is present. + + The required property if this property is present. + + + + Gets or sets the a collection of valid enum values allowed. + + A collection of valid enum values allowed. + + + + Gets or sets disallowed types. + + The disallow types. + + + + Gets or sets the default value. + + The default value. + + + + Gets or sets the collection of that this schema extends. + + The collection of that this schema extends. + + + + Gets or sets the format. + + The format. + + + + Generates a from a specified . + + + + + Generate a from the specified type. + + The type to generate a from. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Generate a from the specified type. + + The type to generate a from. + The used to resolve schema references. + Specify whether the generated root will be nullable. + A generated from the specified type. + + + + Gets or sets how undefined schemas are handled by the serializer. + + + + + Gets or sets the contract resolver. + + The contract resolver. + + + + Resolves from an id. + + + + + Initializes a new instance of the class. + + + + + Gets a for the specified reference. + + The id. + A for the specified reference. + + + + Gets or sets the loaded schemas. + + The loaded schemas. + + + + The value types allowed by the . + + + + + No type specified. + + + + + String type. + + + + + Float type. + + + + + Integer type. + + + + + Boolean type. + + + + + Object type. + + + + + Array type. + + + + + Null type. + + + + + Any type. + + + + + Specifies the state of the . + + + + + An exception has been thrown, which has left the in an invalid state. + You may call the method to put the in the Closed state. + Any other method calls results in an being thrown. + + + + + The method has been called. + + + + + An object is being written. + + + + + A array is being written. + + + + + A constructor is being written. + + + + + A property is being written. + + + + + A write method has not been called. + + + + diff --git a/packages/Owin.1.0/Owin.1.0.nupkg b/packages/Owin.1.0/Owin.1.0.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..9a32381d057e6e521a63f9933446726b9854a028 GIT binary patch literal 4641 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 literal 0 HcmV?d00001 diff --git a/packages/Owin.1.0/lib/net40/Owin.dll b/packages/Owin.1.0/lib/net40/Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba6e21eda71d055d039e42c9d0902349b3d073f7 GIT binary patch literal 4608 zcmeHKeQaA-6+h2$vSevP8rErDljUW}SfVvi?*^3(7u>Jg;gsGw5lkjQa7QoqE-~qb}$ttG^AAwP&-X97Jm0W zJ9d+9e*@Ze-tV1z&bjBFbMD7G8T|ZSDj^~_p1C=qqj>Y?7x>XI194UTu_~IaINfkm z8aUk$nN%$~V;U(_Ny~9X*9}{aG1<)OvZ~9$;jo-G63nx7>5WY}(<8k^15ye7EBWk5 zezr^GYN(VdiEad^%;65T;4S0v;~}aRw9E0EGr0ev%>cpQxQP&#e>YdEzWG7$K)FLj%@6NACesWk3eg0F+?I$N?_Bc}b?52)yN%}+jr-=JQaU3OT}IBi zTg7ceCYmW`d9FxaG>0v+oXTf1kat?vnYZhhO~CFCOh#(jDH| zEs-R=-|KTjS<1R~IR4 z?B5&;f>(|H@A=qn&4_VjGz^#emp>zkeEsu|cDfl1@RvC<~CE@G&VPmC^G84-3w#0^gFjg=*Kor7miMlVuck zwY$p50`i%h`FN(DMembTFL(}@=#`~o^FEz2ekCJ%LyDtX|| zJD^w6TF{LY0Ny3|_tA5pEjk7a(*a-)8NfLG0C+zgmV#7C?eLOE^ALSXP$lG^$!ElQ z4~l&7qn2+HHRVa7&kP!gtj5;U@RX{15}HP#Kqk|jRkZ{&1(VWN+%PpYM&W78W@%54 zp=m5`tA=iQ`kBs5HBO0CC%rnMJ3vS^6 zPy|Mp-3J?N$}sOQ*vJoI$y^W=uq>92Y10wa)>uI?&kiyxZmJm`?_yz(p(oW;)>J-3 zoYmlKkP*!2q z++y)@5XDqYwTqUR@5~Ze?9bZ1(UT|Hrr~|7nj+8Defvc!Kk~)s*b3jJJ>@bjuPJp^ z)!rbxYRYTtYD;CQwx+@@Q%!k!b4~^;lAE6mw=79j99&S7maXGt`OGu?6u4(_Z9=7t zUnJ;{h67%H1MtgayX$yq<=b^uYV^WS{u+P(gNj!Fj`D+-_w6|`K6BUJ0|y6&zx%_z zSEGk--~H5YfA{MH%ck14pSWS>s;~0!+1|SIq13iRZ;eK`{3^Eo`_F&#)urDkdAlXn z@#E6(B+j|^|1=f8IB{C~-V2|2bE@n})x<3m=FZoip6$DJO~{OGIMuiE$>cr9`z5;7 zGt?WI-@~hN%esz#2qcPB-83%>s#Zo*riZZGtN9ptULyM{By#h^O?0P3w-1kphUB6n zE?c%@+Sv?>8f?X+5@+~Ui2Jbx_k`Ei8E^M0pKe{V#@pHIOL$|gO47HsHQ`HiD0i<- zvd+!~J~9%Ocs*@mAcmqV?qyCmb;E5upApy1WHQlRga1*F6_h`HDcSM*q=Ng_v(8-WKi^SK z?Rc->sig!1@VLtd9K%<5E3lVFL4|0ThR_cI`#|${-2Ki6&NtVw<}u%n`;W3Z`Hk_@5LBC6y>NnBwkri8b5~7HfAA2G%jM3fdSNT8B{M>;a>t;CdtsUh1WLt8T9$g zwvZ*kkAvdPhr&~u_a_Lh1sV4<1MNZ_!!#u<@G;GZxiDr-*tCjty{MPC?>&tcM~Z;W0QiJ(K{SSIgWsua^d3GbOZn + /// 1: Accepts a string containing a CSS selector which is then used to match a set of elements. + /// 1.1 - $(selector, context) + /// 1.2 - $(element) + /// 1.3 - $(object) + /// 1.4 - $(elementArray) + /// 1.5 - $(jQuery object) + /// 1.6 - $() + /// 2: Creates DOM elements on the fly from the provided string of raw HTML. + /// 2.1 - $(html, ownerDocument) + /// 2.2 - $(html, props) + /// 3: Binds a function to be executed when the DOM has finished loading. + /// 3.1 - $(callback) + /// + /// + /// A string containing a selector expression + /// + /// + /// A DOM Element, Document, or jQuery to use as context + /// + /// + + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init(selector, context, rootjQuery); + }; + jQuery.Animation = function Animation(elem, properties, options) { + + var result, + index = 0, + tweenerIndex = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always(function () { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function () { + var currentTime = fxNow || createFxNow(), + remaining = Math.max(0, animation.startTime + animation.duration - currentTime), + percent = 1 - (remaining / animation.duration || 0), + index = 0, + length = animation.tweens.length; + + for (; index < length ; index++) { + animation.tweens[index].run(percent); + } + + deferred.notifyWith(elem, [animation, percent, remaining]); + + if (percent < 1 && length) { + return remaining; + } else { + deferred.resolveWith(elem, [animation]); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend({}, properties), + opts: jQuery.extend(true, { specialEasing: {} }, options), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function (prop, end, easing) { + var tween = jQuery.Tween(elem, animation.opts, prop, end, + animation.opts.specialEasing[prop] || animation.opts.easing); + animation.tweens.push(tween); + return tween; + }, + stop: function (gotoEnd) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + + for (; index < length ; index++) { + animation.tweens[index].run(1); + } + + // resolve when we played the last frame + // otherwise, reject + if (gotoEnd) { + deferred.resolveWith(elem, [animation, gotoEnd]); + } else { + deferred.rejectWith(elem, [animation, gotoEnd]); + } + return this; + } + }), + props = animation.props; + + propFilter(props, animation.opts.specialEasing); + + for (; index < length ; index++) { + result = animationPrefilters[index].call(animation, elem, props, animation.opts); + if (result) { + return result; + } + } + + createTweens(animation, props); + + if (jQuery.isFunction(animation.opts.start)) { + animation.opts.start.call(elem, animation); + } + + jQuery.fx.timer( + jQuery.extend(tick, { + anim: animation, + queue: animation.opts.queue, + elem: elem + }) + ); + + // attach callbacks from options + return animation.progress(animation.opts.progress) + .done(animation.opts.done, animation.opts.complete) + .fail(animation.opts.fail) + .always(animation.opts.always); + }; + jQuery.Callbacks = function (options) { + /// + /// A multi-purpose callbacks list object that provides a powerful way to manage callback lists. + /// + /// + /// An optional list of space-separated flags that change how the callback list behaves. + /// + + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + (optionsCache[options] || createOptions(options)) : + jQuery.extend({}, options); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function (data) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for (; list && firingIndex < firingLength; firingIndex++) { + if (list[firingIndex].apply(data[0], data[1]) === false && options.stopOnFalse) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if (list) { + if (stack) { + if (stack.length) { + fire(stack.shift()); + } + } else if (memory) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function () { + if (list) { + // First, we save the current length + var start = list.length; + (function add(args) { + jQuery.each(args, function (_, arg) { + var type = jQuery.type(arg); + if (type === "function" && (!options.unique || !self.has(arg))) { + list.push(arg); + } else if (arg && arg.length && type !== "string") { + // Inspect recursively + add(arg); + } + }); + })(arguments); + // Do we need to add the callbacks to the + // current firing batch? + if (firing) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if (memory) { + firingStart = start; + fire(memory); + } + } + return this; + }, + // Remove a callback from the list + remove: function () { + if (list) { + jQuery.each(arguments, function (_, arg) { + var index; + while ((index = jQuery.inArray(arg, list, index)) > -1) { + list.splice(index, 1); + // Handle firing indexes + if (firing) { + if (index <= firingLength) { + firingLength--; + } + if (index <= firingIndex) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Control if a given callback is in the list + has: function (fn) { + return jQuery.inArray(fn, list) > -1; + }, + // Remove all callbacks from the list + empty: function () { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function () { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function () { + return !list; + }, + // Lock the list in its current state + lock: function () { + stack = undefined; + if (!memory) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function () { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function (context, args) { + args = args || []; + args = [context, args.slice ? args.slice() : args]; + if (list && (!fired || stack)) { + if (firing) { + stack.push(args); + } else { + fire(args); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function () { + self.fireWith(this, arguments); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function () { + return !!fired; + } + }; + + return self; + }; + jQuery.Deferred = function (func) { + + var tuples = [ + // action, add listener, listener list, final state + ["resolve", "done", jQuery.Callbacks("once memory"), "resolved"], + ["reject", "fail", jQuery.Callbacks("once memory"), "rejected"], + ["notify", "progress", jQuery.Callbacks("memory")] + ], + state = "pending", + promise = { + state: function () { + return state; + }, + always: function () { + deferred.done(arguments).fail(arguments); + return this; + }, + then: function ( /* fnDone, fnFail, fnProgress */) { + var fns = arguments; + return jQuery.Deferred(function (newDefer) { + jQuery.each(tuples, function (i, tuple) { + var action = tuple[0], + fn = fns[i]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[tuple[1]](jQuery.isFunction(fn) ? + function () { + var returned = fn.apply(this, arguments); + if (returned && jQuery.isFunction(returned.promise)) { + returned.promise() + .done(newDefer.resolve) + .fail(newDefer.reject) + .progress(newDefer.notify); + } else { + newDefer[action + "With"](this === deferred ? newDefer : this, [returned]); + } + } : + newDefer[action] + ); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function (obj) { + return obj != null ? jQuery.extend(obj, promise) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each(tuples, function (i, tuple) { + var list = tuple[2], + stateString = tuple[3]; + + // promise[ done | fail | progress ] = list.add + promise[tuple[1]] = list.add; + + // Handle state + if (stateString) { + list.add(function () { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[i ^ 1][2].disable, tuples[2][2].lock); + } + + // deferred[ resolve | reject | notify ] = list.fire + deferred[tuple[0]] = list.fire; + deferred[tuple[0] + "With"] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise(deferred); + + // Call given func if any + if (func) { + func.call(deferred, deferred); + } + + // All done! + return deferred; + }; + jQuery.Event = function (src, props) { + + // Allow instantiation without the 'new' keyword + if (!(this instanceof jQuery.Event)) { + return new jQuery.Event(src, props); + } + + // 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; + } + + // Put explicitly provided properties onto the event object + if (props) { + jQuery.extend(this, props); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.timeStamp || jQuery.now(); + + // Mark it as fixed + this[jQuery.expando] = true; + }; + jQuery.Tween = function Tween(elem, options, prop, end, easing) { + + return new Tween.prototype.init(elem, options, prop, end, easing); + }; + jQuery._data = function (elem, name, data) { + + return jQuery.data(elem, name, data, true); + }; + jQuery._queueHooks = function (elem, type) { + + var key = type + "queueHooks"; + return jQuery._data(elem, key) || jQuery._data(elem, key, { + empty: jQuery.Callbacks("once memory").add(function () { + jQuery.removeData(elem, type + "queue", true); + jQuery.removeData(elem, key, true); + }) + }); + }; + jQuery.acceptData = function (elem) { + + var noData = elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + }; + jQuery.access = function (elems, fn, key, value, chainable, emptyGet, pass) { + + var exec, + bulk = key == null, + i = 0, + length = elems.length; + + // Sets many values + if (key && typeof key === "object") { + for (i in key) { + jQuery.access(elems, fn, i, key[i], 1, emptyGet, value); + } + chainable = 1; + + // Sets one value + } else if (value !== undefined) { + // Optionally, function values get executed if exec is true + exec = pass === undefined && jQuery.isFunction(value); + + if (bulk) { + // Bulk operations only iterate when executing function values + if (exec) { + exec = fn; + fn = function (elem, key, value) { + return exec.call(jQuery(elem), value); + }; + + // Otherwise they run against the entire set + } else { + fn.call(elems, value); + fn = null; + } + } + + if (fn) { + for (; i < length; i++) { + fn(elems[i], key, exec ? value.call(elems[i], i, fn(elems[i], key)) : value, pass); + } + } + + chainable = 1; + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call(elems) : + length ? fn(elems[0], key) : emptyGet; + }; + jQuery.active = 0; + jQuery.ajax = function (url, options) { + /// + /// Perform an asynchronous HTTP (Ajax) request. + /// 1 - jQuery.ajax(url, settings) + /// 2 - jQuery.ajax(settings) + /// + /// + /// A string containing the URL to which the request is sent. + /// + /// + /// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings. + /// + + + // If url is an object, simulate pre-1.5 signature + if (typeof url === "object") { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // ifModified key + ifModifiedKey, + // Response headers + responseHeadersString, + responseHeaders, + // transport + transport, + // timeout handle + timeoutTimer, + // Cross-domain detection vars + parts, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // Create the final options object + s = jQuery.ajaxSetup({}, options), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + (callbackContext.nodeType || callbackContext instanceof jQuery) ? + jQuery(callbackContext) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks("once memory"), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + + readyState: 0, + + // Caches the header + setRequestHeader: function (name, value) { + if (!state) { + var lname = name.toLowerCase(); + name = requestHeadersNames[lname] = requestHeadersNames[lname] || name; + requestHeaders[name] = value; + } + return this; + }, + + // Raw string + getAllResponseHeaders: function () { + return state === 2 ? responseHeadersString : null; + }, + + // Builds headers hashtable if needed + getResponseHeader: function (key) { + var match; + if (state === 2) { + if (!responseHeaders) { + responseHeaders = {}; + while ((match = rheaders.exec(responseHeadersString))) { + responseHeaders[match[1].toLowerCase()] = match[2]; + } + } + match = responseHeaders[key.toLowerCase()]; + } + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function (type) { + if (!state) { + s.mimeType = type; + } + return this; + }, + + // Cancel the request + abort: function (statusText) { + statusText = statusText || strAbort; + if (transport) { + transport.abort(statusText); + } + done(0, statusText); + return this; + } + }; + + // Callback for when everything is done + // It is defined here because jslint complains if it is declared + // at the end of the function (which would be more logical and readable) + function done(status, nativeStatusText, responses, headers) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if (state === 2) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if (timeoutTimer) { + clearTimeout(timeoutTimer); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if (responses) { + response = ajaxHandleResponses(s, jqXHR, responses); + } + + // If successful, handle type chaining + if (status >= 200 && status < 300 || status === 304) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if (s.ifModified) { + + modified = jqXHR.getResponseHeader("Last-Modified"); + if (modified) { + jQuery.lastModified[ifModifiedKey] = modified; + } + modified = jqXHR.getResponseHeader("Etag"); + if (modified) { + jQuery.etag[ifModifiedKey] = modified; + } + } + + // If not modified + if (status === 304) { + + statusText = "notmodified"; + isSuccess = true; + + // If we have data + } else { + + isSuccess = ajaxConvert(s, response); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if (!statusText || status) { + statusText = "error"; + if (status < 0) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = (nativeStatusText || statusText) + ""; + + // Success/Error + if (isSuccess) { + deferred.resolveWith(callbackContext, [success, statusText, jqXHR]); + } else { + deferred.rejectWith(callbackContext, [jqXHR, statusText, error]); + } + + // Status-dependent callbacks + jqXHR.statusCode(statusCode); + statusCode = undefined; + + if (fireGlobals) { + globalEventContext.trigger("ajax" + (isSuccess ? "Success" : "Error"), + [jqXHR, s, isSuccess ? success : error]); + } + + // Complete + completeDeferred.fireWith(callbackContext, [jqXHR, statusText]); + + if (fireGlobals) { + globalEventContext.trigger("ajaxComplete", [jqXHR, s]); + // Handle the global AJAX counter + if (!(--jQuery.active)) { + jQuery.event.trigger("ajaxStop"); + } + } + } + + // Attach deferreds + deferred.promise(jqXHR); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.add; + + // Status-dependent callbacks + jqXHR.statusCode = function (map) { + if (map) { + var tmp; + if (state < 2) { + for (tmp in map) { + statusCode[tmp] = [statusCode[tmp], map[tmp]]; + } + } else { + tmp = map[jqXHR.status]; + jqXHR.always(tmp); + } + } + return this; + }; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // We also use the url parameter if available + s.url = ((url || s.url) + "").replace(rhash, "").replace(rprotocol, ajaxLocParts[1] + "//"); + + // Extract dataTypes list + s.dataTypes = jQuery.trim(s.dataType || "*").toLowerCase().split(core_rspace); + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if (s.crossDomain == null) { + parts = rurl.exec(s.url.toLowerCase()) || false; + s.crossDomain = parts && (parts.join(":") + (parts[3] ? "" : parts[1] === "http:" ? 80 : 443)) !== + (ajaxLocParts.join(":") + (ajaxLocParts[3] ? "" : ajaxLocParts[1] === "http:" ? 80 : 443)); + } + + // Convert data if not already a string + if (s.data && s.processData && typeof s.data !== "string") { + s.data = jQuery.param(s.data, s.traditional); + } + + // Apply prefilters + inspectPrefiltersOrTransports(prefilters, s, options, jqXHR); + + // If request was aborted inside a prefilter, stop there + if (state === 2) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test(s.type); + + // Watch for a new set of requests + if (fireGlobals && jQuery.active++ === 0) { + jQuery.event.trigger("ajaxStart"); + } + + // More options handling for requests with no content + if (!s.hasContent) { + + // If data is available, append data to url + if (s.data) { + s.url += (rquery.test(s.url) ? "&" : "?") + s.data; + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + + // Add anti-cache in url if needed + if (s.cache === false) { + + var ts = jQuery.now(), + // try replacing _= if it is there + ret = s.url.replace(rts, "$1_=" + ts); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : ""); + } + } + + // Set the correct header, if data is being sent + if (s.data && s.hasContent && s.contentType !== false || options.contentType) { + jqXHR.setRequestHeader("Content-Type", s.contentType); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if (s.ifModified) { + ifModifiedKey = ifModifiedKey || s.url; + if (jQuery.lastModified[ifModifiedKey]) { + jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[ifModifiedKey]); + } + if (jQuery.etag[ifModifiedKey]) { + jqXHR.setRequestHeader("If-None-Match", jQuery.etag[ifModifiedKey]); + } + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[0] && s.accepts[s.dataTypes[0]] ? + s.accepts[s.dataTypes[0]] + (s.dataTypes[0] !== "*" ? ", " + allTypes + "; q=0.01" : "") : + s.accepts["*"] + ); + + // Check for headers option + for (i in s.headers) { + jqXHR.setRequestHeader(i, s.headers[i]); + } + + // Allow custom headers/mimetypes and early abort + if (s.beforeSend && (s.beforeSend.call(callbackContext, jqXHR, s) === false || state === 2)) { + // Abort if not done already and return + return jqXHR.abort(); + + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for (i in { success: 1, error: 1, complete: 1 }) { + jqXHR[i](s[i]); + } + + // Get transport + transport = inspectPrefiltersOrTransports(transports, s, options, jqXHR); + + // If no transport, we auto-abort + if (!transport) { + done(-1, "No Transport"); + } else { + jqXHR.readyState = 1; + // Send global event + if (fireGlobals) { + globalEventContext.trigger("ajaxSend", [jqXHR, s]); + } + // Timeout + if (s.async && s.timeout > 0) { + timeoutTimer = setTimeout(function () { + jqXHR.abort("timeout"); + }, s.timeout); + } + + try { + state = 1; + transport.send(requestHeaders, done); + } catch (e) { + // Propagate exception as error if not done + if (state < 2) { + done(-1, e); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + return jqXHR; + }; + jQuery.ajaxPrefilter = function (dataTypeExpression, func) { + /// + /// Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). + /// + /// + /// An optional string containing one or more space-separated dataTypes + /// + /// + /// A handler to set default values for future Ajax requests. + /// + /// + + + if (typeof dataTypeExpression !== "string") { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, list, placeBefore, + dataTypes = dataTypeExpression.toLowerCase().split(core_rspace), + i = 0, + length = dataTypes.length; + + if (jQuery.isFunction(func)) { + // For each dataType in the dataTypeExpression + for (; i < length; i++) { + dataType = dataTypes[i]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test(dataType); + if (placeBefore) { + dataType = dataType.substr(1) || "*"; + } + list = structure[dataType] = structure[dataType] || []; + // then we add to the structure accordingly + list[placeBefore ? "unshift" : "push"](func); + } + } + }; + jQuery.ajaxSettings = { + "url": 'http://localhost:25812/', + "isLocal": false, + "global": true, + "type": 'GET', + "contentType": 'application/x-www-form-urlencoded; charset=UTF-8', + "processData": true, + "async": true, + "accepts": {}, + "contents": {}, + "responseFields": {}, + "converters": {}, + "flatOptions": {}, + "jsonp": 'callback' + }; + jQuery.ajaxSetup = function (target, settings) { + /// + /// Set default values for future Ajax requests. + /// + /// + /// A set of key/value pairs that configure the default Ajax request. All options are optional. + /// + + if (settings) { + // Building a settings object + ajaxExtend(target, jQuery.ajaxSettings); + } else { + // Extending ajaxSettings + settings = target; + target = jQuery.ajaxSettings; + } + ajaxExtend(target, settings); + return target; + }; + jQuery.ajaxTransport = function (dataTypeExpression, func) { + + + if (typeof dataTypeExpression !== "string") { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, list, placeBefore, + dataTypes = dataTypeExpression.toLowerCase().split(core_rspace), + i = 0, + length = dataTypes.length; + + if (jQuery.isFunction(func)) { + // For each dataType in the dataTypeExpression + for (; i < length; i++) { + dataType = dataTypes[i]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test(dataType); + if (placeBefore) { + dataType = dataType.substr(1) || "*"; + } + list = structure[dataType] = structure[dataType] || []; + // then we add to the structure accordingly + list[placeBefore ? "unshift" : "push"](func); + } + } + }; + jQuery.attr = function (elem, name, value, pass) { + + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if (!elem || nType === 3 || nType === 8 || nType === 2) { + return; + } + + if (pass && jQuery.isFunction(jQuery.fn[name])) { + return jQuery(elem)[name](value); + } + + // Fallback to prop when attributes are not supported + if (typeof elem.getAttribute === "undefined") { + return jQuery.prop(elem, name, value); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc(elem); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if (notxml) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[name] || (rboolean.test(name) ? boolHook : nodeHook); + } + + if (value !== undefined) { + + if (value === null) { + jQuery.removeAttr(elem, name); + return; + + } else if (hooks && "set" in hooks && notxml && (ret = hooks.set(elem, value, name)) !== undefined) { + return ret; + + } else { + elem.setAttribute(name, value + ""); + return value; + } + + } else if (hooks && "get" in hooks && notxml && (ret = hooks.get(elem, name)) !== null) { + return ret; + + } else { + + ret = elem.getAttribute(name); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }; + jQuery.attrFn = {}; + jQuery.attrHooks = { + "type": {}, + "value": {} + }; + jQuery.browser = { + "chrome": true, + "version": '21.0.1180.89', + "webkit": true + }; + jQuery.buildFragment = function (args, context, scripts) { + + var fragment, cacheable, cachehit, + first = args[0]; + + // Set context from what may come in as undefined or a jQuery collection or a node + // Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 & + // also doubles as fix for #8950 where plain objects caused createDocumentFragment exception + context = context || document; + context = !context.nodeType && context[0] || context; + context = context.ownerDocument || context; + + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put or elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501 + if (args.length === 1 && typeof first === "string" && first.length < 512 && context === document && + first.charAt(0) === "<" && !rnocache.test(first) && + (jQuery.support.checkClone || !rchecked.test(first)) && + (jQuery.support.html5Clone || !rnoshimcache.test(first))) { + + // Mark cacheable and look for a hit + cacheable = true; + fragment = jQuery.fragments[first]; + cachehit = fragment !== undefined; + } + + if (!fragment) { + fragment = context.createDocumentFragment(); + jQuery.clean(args, context, fragment, scripts); + + // Update the cache, but only store false + // unless this is a second parsing of the same content + if (cacheable) { + jQuery.fragments[first] = cachehit && fragment; + } + } + + return { fragment: fragment, cacheable: cacheable }; + }; + jQuery.cache = {}; + jQuery.camelCase = function (string) { + + return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase); + }; + jQuery.clean = function (elems, context, fragment, scripts) { + + var i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags, + safe = context === document && safeFragment, + ret = []; + + // Ensure that context is a document + if (!context || typeof context.createDocumentFragment === "undefined") { + context = document; + } + + // Use the already-created safe fragment if context permits + for (i = 0; (elem = elems[i]) != null; i++) { + if (typeof elem === "number") { + elem += ""; + } + + if (!elem) { + continue; + } + + // Convert html string into DOM nodes + if (typeof elem === "string") { + if (!rhtml.test(elem)) { + elem = context.createTextNode(elem); + } else { + // Ensure a safe container in which to render the html + safe = safe || createSafeFragment(context); + div = context.createElement("div"); + safe.appendChild(div); + + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); + + // Go to html and back, then peel off extra wrappers + tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase(); + wrap = wrapMap[tag] || wrapMap._default; + depth = wrap[0]; + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while (depth--) { + div = div.lastChild; + } + + // Remove IE's autoinserted
, *may* have spurious + hasBody = rtbody.test(elem); + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare or + wrap[1] === "
" && !hasBody ? + div.childNodes : + []; + + for (j = tbody.length - 1; j >= 0 ; --j) { + if (jQuery.nodeName(tbody[j], "tbody") && !tbody[j].childNodes.length) { + tbody[j].parentNode.removeChild(tbody[j]); + } + } + } + + // IE completely kills leading whitespace when innerHTML is used + if (!jQuery.support.leadingWhitespace && rleadingWhitespace.test(elem)) { + div.insertBefore(context.createTextNode(rleadingWhitespace.exec(elem)[0]), div.firstChild); + } + + elem = div.childNodes; + + // Take out of fragment container (we need a fresh div each time) + div.parentNode.removeChild(div); + } + } + + if (elem.nodeType) { + ret.push(elem); + } else { + jQuery.merge(ret, elem); + } + } + + // Fix #11356: Clear elements from safeFragment + if (div) { + elem = div = safe = null; + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if (!jQuery.support.appendChecked) { + for (i = 0; (elem = ret[i]) != null; i++) { + if (jQuery.nodeName(elem, "input")) { + fixDefaultChecked(elem); + } else if (typeof elem.getElementsByTagName !== "undefined") { + jQuery.grep(elem.getElementsByTagName("input"), fixDefaultChecked); + } + } + } + + // Append elements to a provided document fragment + if (fragment) { + // Special handling of each script element + handleScript = function (elem) { + // Check if we consider it executable + if (!elem.type || rscriptType.test(elem.type)) { + // Detach the script and store it in the scripts array (if provided) or the fragment + // Return truthy to indicate that it has been handled + return scripts ? + scripts.push(elem.parentNode ? elem.parentNode.removeChild(elem) : elem) : + fragment.appendChild(elem); + } + }; + + for (i = 0; (elem = ret[i]) != null; i++) { + // Check if we're done after handling an executable script + if (!(jQuery.nodeName(elem, "script") && handleScript(elem))) { + // Append to fragment and handle embedded scripts + fragment.appendChild(elem); + if (typeof elem.getElementsByTagName !== "undefined") { + // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration + jsTags = jQuery.grep(jQuery.merge([], elem.getElementsByTagName("script")), handleScript); + + // Splice the scripts into ret after their former ancestor and advance our index beyond them + ret.splice.apply(ret, [i + 1, 0].concat(jsTags)); + i += jsTags.length; + } + } + } + } + + return ret; + }; + jQuery.cleanData = function (elems, /* internal */ acceptData) { + + var data, id, elem, type, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for (; (elem = elems[i]) != null; i++) { + + if (acceptData || jQuery.acceptData(elem)) { + + id = elem[internalKey]; + data = id && cache[id]; + + if (data) { + if (data.events) { + for (type in data.events) { + if (special[type]) { + jQuery.event.remove(elem, type); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent(elem, type, data.handle); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if (cache[id]) { + + delete cache[id]; + + // 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 (deleteExpando) { + delete elem[internalKey]; + + } else if (elem.removeAttribute) { + elem.removeAttribute(internalKey); + + } else { + elem[internalKey] = null; + } + + jQuery.deletedIds.push(id); + } + } + } + } + }; + jQuery.clone = function (elem, dataAndEvents, deepDataAndEvents) { + + var srcElements, + destElements, + i, + clone; + + if (jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test("<" + elem.nodeName + ">")) { + clone = elem.cloneNode(true); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild(clone = fragmentDiv.firstChild); + } + + if ((!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) { + // IE copies events bound via attachEvent when using cloneNode. + // Calling detachEvent on the clone will also remove the events + // from the original. In order to get around this, we use some + // proprietary methods to clear the events. Thanks to MooTools + // guys for this hotness. + + cloneFixAttributes(elem, clone); + + // Using Sizzle here is crazy slow, so we use getElementsByTagName instead + srcElements = getAll(elem); + destElements = getAll(clone); + + // Weird iteration because IE will replace the length property + // with an element if you are cloning the body and one of the + // elements on the page has a name or id of "length" + for (i = 0; srcElements[i]; ++i) { + // Ensure that the destination node is not null; Fixes #9587 + if (destElements[i]) { + cloneFixAttributes(srcElements[i], destElements[i]); + } + } + } + + // Copy the events from the original to the clone + if (dataAndEvents) { + cloneCopyEvent(elem, clone); + + if (deepDataAndEvents) { + srcElements = getAll(elem); + destElements = getAll(clone); + + for (i = 0; srcElements[i]; ++i) { + cloneCopyEvent(srcElements[i], destElements[i]); + } + } + } + + srcElements = destElements = null; + + // Return the cloned set + return clone; + }; + jQuery.contains = function (a, b) { + /// + /// Check to see if a DOM element is within another DOM element. + /// + /// + /// The DOM element that may contain the other element. + /// + /// + /// The DOM element that may be contained by the other element. + /// + /// + + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!(bup && bup.nodeType === 1 && adown.contains && adown.contains(bup)); + }; + jQuery.css = function (elem, name, numeric, extra) { + + var val, num, hooks, + origName = jQuery.camelCase(name); + + // Make sure that we're working with the right name + name = jQuery.cssProps[origName] || (jQuery.cssProps[origName] = vendorPropName(elem.style, origName)); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; + + // If a hook was provided get the computed value from there + if (hooks && "get" in hooks) { + val = hooks.get(elem, true, extra); + } + + // Otherwise, if a way to get the computed value exists, use that + if (val === undefined) { + val = curCSS(elem, name); + } + + //convert "normal" to computed value + if (val === "normal" && name in cssNormalTransform) { + val = cssNormalTransform[name]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if (numeric || extra !== undefined) { + num = parseFloat(val); + return numeric || jQuery.isNumeric(num) ? num || 0 : val; + } + return val; + }; + jQuery.cssHooks = { + "opacity": {}, + "height": {}, + "width": {}, + "margin": {}, + "padding": {}, + "borderWidth": {}, + "top": {}, + "left": {} + }; + jQuery.cssNumber = { + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }; + jQuery.cssProps = { + "float": 'cssFloat', + "display": 'display', + "visibility": 'visibility', + "opacity": 'opacity' + }; + jQuery.data = function (elem, name, data, pvt /* Internal Use Only */) { + /// + /// 1: Store arbitrary data associated with the specified element. Returns the value that was set. + /// 1.1 - jQuery.data(element, key, value) + /// 2: Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. + /// 2.1 - jQuery.data(element, key) + /// 2.2 - jQuery.data(element) + /// + /// + /// The DOM element to associate with the data. + /// + /// + /// A string naming the piece of data to set. + /// + /// + /// The new data value. + /// + /// + + if (!jQuery.acceptData(elem)) { + return; + } + + var thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // 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[internalKey] : elem[internalKey] && internalKey; + + // 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 || !cache[id] || (!pvt && !cache[id].data)) && 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[internalKey] = id = jQuery.deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if (!cache[id]) { + cache[id] = {}; + + // 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] = jQuery.extend(cache[id], name); + } else { + cache[id].data = jQuery.extend(cache[id].data, name); + } + } + + thisCache = cache[id]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if (!pvt) { + if (!thisCache.data) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if (data !== undefined) { + thisCache[jQuery.camelCase(name)] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if (getByName) { + + // First Try to find as-is property data + ret = thisCache[name]; + + // Test for null|undefined property data + if (ret == null) { + + // Try to find the camelCased property + ret = thisCache[jQuery.camelCase(name)]; + } + } else { + ret = thisCache; + } + + return ret; + }; + jQuery.dequeue = function (elem, type) { + /// + /// Execute the next function on the queue for the matched element. + /// + /// + /// A DOM element from which to remove and execute a queued function. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + type = type || "fx"; + + var queue = jQuery.queue(elem, type), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks(elem, type), + next = function () { + jQuery.dequeue(elem, type); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if (fn === "inprogress") { + fn = queue.shift(); + startLength--; + } + + if (fn) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if (type === "fx") { + queue.unshift("inprogress"); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call(elem, next, hooks); + } + + if (!startLength && hooks) { + hooks.empty.fire(); + } + }; + jQuery.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; + }; + jQuery.each = function (obj, callback, args) { + /// + /// A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. + /// + /// + /// The object or array to iterate over. + /// + /// + /// The function that will be executed on every object. + /// + /// + + var name, + i = 0, + length = obj.length, + isObj = length === undefined || jQuery.isFunction(obj); + + if (args) { + if (isObj) { + for (name in obj) { + if (callback.apply(obj[name], args) === false) { + break; + } + } + } else { + for (; i < length;) { + if (callback.apply(obj[i++], args) === false) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if (isObj) { + for (name in obj) { + if (callback.call(obj[name], name, obj[name]) === false) { + break; + } + } + } else { + for (; i < length;) { + if (callback.call(obj[i], i, obj[i++]) === false) { + break; + } + } + } + } + + return obj; + }; + jQuery.easing = {}; + jQuery.error = function (msg) { + /// + /// Takes a string and throws an exception containing it. + /// + /// + /// The message to send out. + /// + + throw new Error(msg); + }; + jQuery.etag = {}; + jQuery.event = { + "global": {}, + "customEvent": {}, + "props": ['attrChange', 'attrName', 'relatedNode', 'srcElement', 'altKey', 'bubbles', 'cancelable', 'ctrlKey', 'currentTarget', 'eventPhase', 'metaKey', 'relatedTarget', 'shiftKey', 'target', 'timeStamp', 'view', 'which'], + "fixHooks": {}, + "keyHooks": {}, + "mouseHooks": {}, + "special": {}, + "triggered": {} + }; + jQuery.expr = { + "cacheLength": 50, + "match": {}, + "attrHandle": {}, + "find": {}, + "relative": {}, + "preFilter": {}, + "filter": {}, + "pseudos": {}, + "filters": {}, + "setFilters": {}, + ":": {} + }; + jQuery.extend = function () { + /// + /// Merge the contents of two or more objects together into the first object. + /// 1 - jQuery.extend(target, object1, objectN) + /// 2 - jQuery.extend(deep, target, object1, objectN) + /// + /// + /// If true, the merge becomes recursive (aka. deep copy). + /// + /// + /// The object to extend. It will receive the new properties. + /// + /// + /// An object containing additional properties to merge in. + /// + /// + /// Additional objects containing properties to merge in. + /// + /// + + 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.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); + }; + jQuery.find = function Sizzle(selector, context, results, seed) { + + results = results || []; + context = context || document; + var match, elem, xml, m, + nodeType = context.nodeType; + + if (!selector || typeof selector !== "string") { + return results; + } + + if (nodeType !== 1 && nodeType !== 9) { + return []; + } + + xml = isXML(context); + + if (!xml && !seed) { + if ((match = rquickExpr.exec(selector))) { + // Speed-up: Sizzle("#ID") + if ((m = match[1])) { + if (nodeType === 9) { + elem = context.getElementById(m); + // 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, Opera, and Webkit return items + // by name instead of ID + if (elem.id === m) { + results.push(elem); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if (context.ownerDocument && (elem = context.ownerDocument.getElementById(m)) && + contains(context, elem) && elem.id === m) { + results.push(elem); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if (match[2]) { + push.apply(results, slice.call(context.getElementsByTagName(selector), 0)); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ((m = match[3]) && assertUsableClassName && context.getElementsByClassName) { + push.apply(results, slice.call(context.getElementsByClassName(m), 0)); + return results; + } + } + } + + // All others + return select(selector.replace(rtrim, "$1"), context, results, seed, xml); + }; + jQuery.fn = { + "selector": '', + "jquery": '1.8.2', + "length": 0 + }; + jQuery.fragments = {}; + jQuery.fx = function (elem, options, prop, end, easing, unit) { + + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || (jQuery.cssNumber[prop] ? "" : "px"); + }; + jQuery.get = function (url, data, callback, type) { + /// + /// Load data from the server using a HTTP GET request. + /// + /// + /// A string containing the URL to which the request is sent. + /// + /// + /// A map or string that is sent to the server with the request. + /// + /// + /// A callback function that is executed if the request succeeds. + /// + /// + /// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). + /// + + // shift arguments if data argument was omitted + if (jQuery.isFunction(data)) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; + jQuery.getJSON = function (url, data, callback) { + /// + /// Load JSON-encoded data from the server using a GET HTTP request. + /// + /// + /// A string containing the URL to which the request is sent. + /// + /// + /// A map or string that is sent to the server with the request. + /// + /// + /// A callback function that is executed if the request succeeds. + /// + + return jQuery.get(url, data, callback, "json"); + }; + jQuery.getScript = function (url, callback) { + /// + /// Load a JavaScript file from the server using a GET HTTP request, then execute it. + /// + /// + /// A string containing the URL to which the request is sent. + /// + /// + /// A callback function that is executed if the request succeeds. + /// + + return jQuery.get(url, undefined, callback, "script"); + }; + jQuery.globalEval = function (data) { + /// + /// Execute some JavaScript code globally. + /// + /// + /// The JavaScript code to execute. + /// + + if (data && core_rnotwhite.test(data)) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + (window.execScript || function (data) { + window["eval"].call(window, data); + })(data); + } + }; + jQuery.grep = function (elems, callback, inv) { + /// + /// Finds the elements of an array which satisfy a filter function. The original array is not affected. + /// + /// + /// The array to search through. + /// + /// + /// The function to process each item against. The first argument to the function is the item, and the second argument is the index. The function should return a Boolean value. this will be the global window object. + /// + /// + /// If "invert" is false, or not provided, then the function returns an array consisting of all elements for which "callback" returns true. If "invert" is true, then the function returns an array consisting of all elements for which "callback" returns false. + /// + /// + + var retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for (; i < length; i++) { + retVal = !!callback(elems[i], i); + if (inv !== retVal) { + ret.push(elems[i]); + } + } + + return ret; + }; + jQuery.guid = 1; + jQuery.hasData = function (elem) { + /// + /// Determine whether an element has any jQuery data associated with it. + /// + /// + /// A DOM element to be checked for data. + /// + /// + + elem = elem.nodeType ? jQuery.cache[elem[jQuery.expando]] : elem[jQuery.expando]; + return !!elem && !isEmptyDataObject(elem); + }; + jQuery.holdReady = function (hold) { + /// + /// Holds or releases the execution of jQuery's ready event. + /// + /// + /// Indicates whether the ready hold is being requested or released + /// + /// + + if (hold) { + jQuery.readyWait++; + } else { + jQuery.ready(true); + } + }; + jQuery.inArray = function (elem, arr, i) { + /// + /// Search for a specified value within an array and return its index (or -1 if not found). + /// + /// + /// The value to search for. + /// + /// + /// An array through which to search. + /// + /// + /// The index of the array at which to begin the search. The default is 0, which will search the whole array. + /// + /// + + var len; + + if (arr) { + if (core_indexOf) { + return core_indexOf.call(arr, elem, i); + } + + len = arr.length; + i = i ? i < 0 ? Math.max(0, len + i) : i : 0; + + for (; i < len; i++) { + // Skip accessing in sparse arrays + if (i in arr && arr[i] === elem) { + return i; + } + } + } + + return -1; + }; + jQuery.isEmptyObject = function (obj) { + /// + /// Check to see if an object is empty (contains no properties). + /// + /// + /// The object that will be checked to see if it's empty. + /// + /// + + var name; + for (name in obj) { + return false; + } + return true; + }; + jQuery.isFunction = function (obj) { + /// + /// Determine if the argument passed is a Javascript function object. + /// + /// + /// Object to test whether or not it is a function. + /// + /// + + return jQuery.type(obj) === "function"; + }; + jQuery.isNumeric = function (obj) { + /// + /// Determines whether its argument is a number. + /// + /// + /// The value to be tested. + /// + /// + + return !isNaN(parseFloat(obj)) && isFinite(obj); + }; + jQuery.isPlainObject = function (obj) { + /// + /// Check to see if an object is a plain object (created using "{}" or "new Object"). + /// + /// + /// The object that will be checked to see if it's a plain object. + /// + /// + + // 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; + } + + try { + // Not own constructor property must be Object + if (obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) { + return false; + } + } catch (e) { + // IE8,9 Will throw exceptions on certain host objects #9897 + 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 || core_hasOwn.call(obj, key); + }; + jQuery.isReady = true; + jQuery.isWindow = function (obj) { + /// + /// Determine whether the argument is a window. + /// + /// + /// Object to test whether or not it is a window. + /// + /// + + return obj != null && obj == obj.window; + }; + jQuery.isXMLDoc = function (elem) { + /// + /// Check to see if a DOM node is within an XML document (or is an XML document). + /// + /// + /// The DOM node that will be checked to see if it's in an XML document. + /// + /// + + // documentElement is verified for cases where it doesn't yet exist + // (such as loading iframes in IE - #4833) + var documentElement = elem && (elem.ownerDocument || elem).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; + }; + jQuery.lastModified = {}; + jQuery.makeArray = function (arr, results) { + /// + /// Convert an array-like object into a true JavaScript array. + /// + /// + /// Any object to turn into a native Array. + /// + /// + + var type, + ret = results || []; + + if (arr != null) { + // The window, strings (and functions) also have 'length' + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + type = jQuery.type(arr); + + if (arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow(arr)) { + core_push.call(ret, arr); + } else { + jQuery.merge(ret, arr); + } + } + + return ret; + }; + jQuery.map = function (elems, callback, arg) { + /// + /// Translate all items in an array or object to new array of items. + /// 1 - jQuery.map(array, callback(elementOfArray, indexInArray)) + /// 2 - jQuery.map(arrayOrObject, callback( value, indexOrKey )) + /// + /// + /// The Array to translate. + /// + /// + /// The function to process each item against. The first argument to the function is the array item, the second argument is the index in array The function can return any value. Within the function, this refers to the global (window) object. + /// + /// + + var value, key, + ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ((length > 0 && elems[0] && elems[length - 1]) || length === 0 || jQuery.isArray(elems)); + + // Go through the array, translating each of the items to their + if (isArray) { + for (; i < length; i++) { + value = callback(elems[i], i, arg); + + if (value != null) { + ret[ret.length] = value; + } + } + + // Go through every key on the object, + } else { + for (key in elems) { + value = callback(elems[key], key, arg); + + if (value != null) { + ret[ret.length] = value; + } + } + } + + // Flatten any nested arrays + return ret.concat.apply([], ret); + }; + jQuery.merge = function (first, second) { + /// + /// Merge the contents of two arrays together into the first array. + /// + /// + /// The first array to merge, the elements of second added. + /// + /// + /// The second array to merge into the first, unaltered. + /// + /// + + var l = second.length, + i = first.length, + j = 0; + + if (typeof l === "number") { + for (; j < l; j++) { + first[i++] = second[j]; + } + + } else { + while (second[j] !== undefined) { + first[i++] = second[j++]; + } + } + + first.length = i; + + return first; + }; + jQuery.noConflict = function (deep) { + /// + /// Relinquish jQuery's control of the $ variable. + /// + /// + /// A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself). + /// + /// + + if (window.$ === jQuery) { + window.$ = _$; + } + + if (deep && window.jQuery === jQuery) { + window.jQuery = _jQuery; + } + + return jQuery; + }; + jQuery.noData = { + "embed": true, + "object": 'clsid:D27CDB6E-AE6D-11cf-96B8-444553540000', + "applet": true + }; + jQuery.nodeName = function (elem, name) { + + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }; + jQuery.noop = function () { + /// + /// An empty function. + /// + /// + }; + jQuery.now = function () { + /// + /// Return a number representing the current time. + /// + /// + + return (new Date()).getTime(); + }; + jQuery.offset = {}; + jQuery.param = function (a, traditional) { + /// + /// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + /// 1 - jQuery.param(obj) + /// 2 - jQuery.param(obj, traditional) + /// + /// + /// An array or object to serialize. + /// + /// + /// A Boolean indicating whether to perform a traditional "shallow" serialization. + /// + /// + + var prefix, + s = [], + add = function (key, value) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction(value) ? value() : (value == null ? "" : value); + s[s.length] = encodeURIComponent(key) + "=" + encodeURIComponent(value); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if (traditional === undefined) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if (jQuery.isArray(a) || (a.jquery && !jQuery.isPlainObject(a))) { + // Serialize the form elements + jQuery.each(a, function () { + add(this.name, this.value); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for (prefix in a) { + buildParams(prefix, a[prefix], traditional, add); + } + } + + // Return the resulting serialization + return s.join("&").replace(r20, "+"); + }; + jQuery.parseHTML = function (data, context, scripts) { + + var parsed; + if (!data || typeof data !== "string") { + return null; + } + if (typeof context === "boolean") { + scripts = context; + context = 0; + } + context = context || document; + + // Single tag + if ((parsed = rsingleTag.exec(data))) { + return [context.createElement(parsed[1])]; + } + + parsed = jQuery.buildFragment([data], context, scripts ? null : []); + return jQuery.merge([], + (parsed.cacheable ? jQuery.clone(parsed.fragment) : parsed.fragment).childNodes); + }; + jQuery.parseJSON = function (data) { + /// + /// Takes a well-formed JSON string and returns the resulting JavaScript object. + /// + /// + /// The JSON string to parse. + /// + /// + + if (!data || typeof data !== "string") { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim(data); + + // Attempt to parse using the native JSON parser first + if (window.JSON && window.JSON.parse) { + return window.JSON.parse(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, ""))) { + + return (new Function("return " + data))(); + + } + jQuery.error("Invalid JSON: " + data); + }; + jQuery.parseXML = function (data) { + /// + /// Parses a string into an XML document. + /// + /// + /// a well-formed XML string to be parsed + /// + /// + + var xml, tmp; + if (!data || typeof data !== "string") { + return null; + } + try { + 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); + } + } catch (e) { + xml = undefined; + } + if (!xml || !xml.documentElement || xml.getElementsByTagName("parsererror").length) { + jQuery.error("Invalid XML: " + data); + } + return xml; + }; + jQuery.post = function (url, data, callback, type) { + /// + /// Load data from the server using a HTTP POST request. + /// + /// + /// A string containing the URL to which the request is sent. + /// + /// + /// A map or string that is sent to the server with the request. + /// + /// + /// A callback function that is executed if the request succeeds. + /// + /// + /// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html). + /// + + // shift arguments if data argument was omitted + if (jQuery.isFunction(data)) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; + jQuery.prop = function (elem, name, value) { + + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if (!elem || nType === 3 || nType === 8 || nType === 2) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc(elem); + + if (notxml) { + // Fix name and attach hooks + name = jQuery.propFix[name] || name; + hooks = jQuery.propHooks[name]; + } + + if (value !== undefined) { + if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) { + return ret; + + } else { + return (elem[name] = value); + } + + } else { + if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) { + return ret; + + } else { + return elem[name]; + } + } + }; + jQuery.propFix = { + "tabindex": 'tabIndex', + "readonly": 'readOnly', + "for": 'htmlFor', + "class": 'className', + "maxlength": 'maxLength', + "cellspacing": 'cellSpacing', + "cellpadding": 'cellPadding', + "rowspan": 'rowSpan', + "colspan": 'colSpan', + "usemap": 'useMap', + "frameborder": 'frameBorder', + "contenteditable": 'contentEditable' + }; + jQuery.propHooks = { "tabIndex": {} }; + jQuery.proxy = function (fn, context) { + /// + /// Takes a function and returns a new one that will always have a particular context. + /// 1 - jQuery.proxy(function, context) + /// 2 - jQuery.proxy(context, name) + /// + /// + /// The function whose context will be changed. + /// + /// + /// The object to which the context (this) of the function should be set. + /// + /// + + var tmp, args, proxy; + + if (typeof context === "string") { + tmp = fn[context]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if (!jQuery.isFunction(fn)) { + return undefined; + } + + // Simulated bind + args = core_slice.call(arguments, 2); + proxy = function () { + return fn.apply(context, args.concat(core_slice.call(arguments))); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }; + jQuery.queue = function (elem, type, data) { + /// + /// 1: Show the queue of functions to be executed on the matched element. + /// 1.1 - jQuery.queue(element, queueName) + /// 2: Manipulate the queue of functions to be executed on the matched element. + /// 2.1 - jQuery.queue(element, queueName, newQueue) + /// 2.2 - jQuery.queue(element, queueName, callback()) + /// + /// + /// A DOM element where the array of queued functions is attached. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + /// An array of functions to replace the current queue contents. + /// + /// + + var queue; + + if (elem) { + type = (type || "fx") + "queue"; + queue = jQuery._data(elem, type); + + // Speed up dequeue by getting out quickly if this is just a lookup + if (data) { + if (!queue || jQuery.isArray(data)) { + queue = jQuery._data(elem, type, jQuery.makeArray(data)); + } else { + queue.push(data); + } + } + return queue || []; + } + }; + jQuery.ready = function (wait) { + + + // Abort if there are pending holds or we're already ready + if (wait === true ? --jQuery.readyWait : jQuery.isReady) { + return; + } + + // 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").off("ready"); + } + }; + jQuery.readyWait = 0; + jQuery.removeAttr = function (elem, value) { + + var propName, attrNames, name, isBool, + i = 0; + + if (value && elem.nodeType === 1) { + + attrNames = value.split(core_rspace); + + for (; i < attrNames.length; i++) { + name = attrNames[i]; + + if (name) { + propName = jQuery.propFix[name] || name; + isBool = rboolean.test(name); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if (!isBool) { + jQuery.attr(elem, name, ""); + } + elem.removeAttribute(getSetAttribute ? name : propName); + + // Set corresponding property to false for boolean attributes + if (isBool && propName in elem) { + elem[propName] = false; + } + } + } + } + }; + jQuery.removeData = function (elem, name, pvt /* Internal Use Only */) { + /// + /// Remove a previously-stored piece of data. + /// + /// + /// A DOM element from which to remove data. + /// + /// + /// A string naming the piece of data to remove. + /// + /// + + if (!jQuery.acceptData(elem)) { + return; + } + + var thisCache, i, l, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + 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) { + + thisCache = pvt ? cache[id] : cache[id].data; + + if (thisCache) { + + // Support array or space separated string names for data keys + if (!jQuery.isArray(name)) { + + // try the string as a key before any manipulation + if (name in thisCache) { + name = [name]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase(name); + if (name in thisCache) { + name = [name]; + } else { + name = name.split(" "); + } + } + } + + for (i = 0, l = name.length; i < l; i++) { + delete thisCache[name[i]]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if (!(pvt ? isEmptyDataObject : jQuery.isEmptyObject)(thisCache)) { + return; + } + } + } + + // See jQuery.data for more information + if (!pvt) { + delete cache[id].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if (!isEmptyDataObject(cache[id])) { + return; + } + } + + // Destroy the cache + if (isNode) { + jQuery.cleanData([elem], true); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if (jQuery.support.deleteExpando || cache != cache.window) { + delete cache[id]; + + // When all else fails, null + } else { + cache[id] = null; + } + }; + jQuery.removeEvent = function (elem, type, handle) { + + if (elem.removeEventListener) { + elem.removeEventListener(type, handle, false); + } + }; + jQuery.sibling = function (n, elem) { + + var r = []; + + for (; n; n = n.nextSibling) { + if (n.nodeType === 1 && n !== elem) { + r.push(n); + } + } + + return r; + }; + jQuery.speed = function (speed, easing, fn) { + + var opt = speed && typeof speed === "object" ? jQuery.extend({}, speed) : { + complete: fn || !fn && easing || + jQuery.isFunction(speed) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction(easing) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[opt.duration] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if (opt.queue == null || opt.queue === true) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function () { + if (jQuery.isFunction(opt.old)) { + opt.old.call(this); + } + + if (opt.queue) { + jQuery.dequeue(this, opt.queue); + } + }; + + return opt; + }; + jQuery.style = function (elem, name, value, extra) { + + // Don't set styles on text and comment nodes + if (!elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase(name), + style = elem.style; + + name = jQuery.cssProps[origName] || (jQuery.cssProps[origName] = vendorPropName(style, origName)); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[name] || jQuery.cssHooks[origName]; + + // Check if we're setting a value + if (value !== undefined) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if (type === "string" && (ret = rrelNum.exec(value))) { + value = (ret[1] + 1) * ret[2] + parseFloat(jQuery.css(elem, name)); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if (value == null || type === "number" && isNaN(value)) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if (type === "number" && !jQuery.cssNumber[origName]) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if (!hooks || !("set" in hooks) || (value = hooks.set(elem, value, extra)) !== undefined) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[name] = value; + } catch (e) { } + } + + } else { + // If a hook was provided get the non-computed value from there + if (hooks && "get" in hooks && (ret = hooks.get(elem, false, extra)) !== undefined) { + return ret; + } + + // Otherwise just get the value from the style object + return style[name]; + } + }; + jQuery.sub = function () { + /// + /// Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object. + /// + /// + + function jQuerySub(selector, context) { + return new jQuerySub.fn.init(selector, context); + } + jQuery.extend(true, jQuerySub, this); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init(selector, context) { + if (context && context instanceof jQuery && !(context instanceof jQuerySub)) { + context = jQuerySub(context); + } + + return jQuery.fn.init.call(this, selector, context, rootjQuerySub); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; + }; + jQuery.support = { + "leadingWhitespace": true, + "tbody": true, + "htmlSerialize": true, + "style": true, + "hrefNormalized": true, + "opacity": true, + "cssFloat": true, + "checkOn": true, + "optSelected": true, + "getSetAttribute": true, + "enctype": true, + "html5Clone": true, + "boxModel": true, + "submitBubbles": true, + "changeBubbles": true, + "focusinBubbles": false, + "deleteExpando": true, + "noCloneEvent": true, + "inlineBlockNeedsLayout": false, + "shrinkWrapBlocks": false, + "reliableMarginRight": true, + "boxSizingReliable": true, + "pixelPosition": false, + "noCloneChecked": true, + "optDisabled": true, + "radioValue": true, + "checkClone": true, + "appendChecked": true, + "ajax": true, + "cors": true, + "reliableHiddenOffsets": true, + "boxSizing": true, + "doesNotIncludeMarginInBodyOffset": true + }; + jQuery.swap = function (elem, options, callback) { + + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for (name in options) { + old[name] = elem.style[name]; + elem.style[name] = options[name]; + } + + ret = callback.call(elem); + + // Revert the old values + for (name in options) { + elem.style[name] = old[name]; + } + + return ret; + }; + jQuery.text = function (elem) { + + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if (nodeType) { + if (nodeType === 1 || nodeType === 9 || nodeType === 11) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if (typeof elem.textContent === "string") { + return elem.textContent; + } else { + // Traverse its children + for (elem = elem.firstChild; elem; elem = elem.nextSibling) { + ret += getText(elem); + } + } + } else if (nodeType === 3 || nodeType === 4) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + } else { + + // If no nodeType, this is expected to be an array + for (; (node = elem[i]) ; i++) { + // Do not traverse comment nodes + ret += getText(node); + } + } + return ret; + }; + jQuery.trim = function (text) { + /// + /// Remove the whitespace from the beginning and end of a string. + /// + /// + /// The string to trim. + /// + /// + + return text == null ? + "" : + core_trim.call(text); + }; + jQuery.type = function (obj) { + /// + /// Determine the internal JavaScript [[Class]] of an object. + /// + /// + /// Object to get the internal JavaScript [[Class]] of. + /// + /// + + return obj == null ? + String(obj) : + class2type[core_toString.call(obj)] || "object"; + }; + jQuery.uaMatch = function (ua) { + + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec(ua) || + /(webkit)[ \/]([\w.]+)/.exec(ua) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec(ua) || + /(msie) ([\w.]+)/.exec(ua) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec(ua) || + []; + + return { + browser: match[1] || "", + version: match[2] || "0" + }; + }; + jQuery.unique = function (results) { + /// + /// Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. + /// + /// + /// The Array of DOM elements. + /// + /// + + var elem, + i = 1; + + hasDuplicate = baseHasDuplicate; + results.sort(sortOrder); + + if (hasDuplicate) { + for (; (elem = results[i]) ; i++) { + if (elem === results[i - 1]) { + results.splice(i--, 1); + } + } + } + + return results; + }; + jQuery.uuid = 0; + jQuery.valHooks = { + "option": {}, + "select": {}, + "radio": {}, + "checkbox": {} + }; + jQuery.when = function (subordinate /* , ..., subordinateN */) { + /// + /// Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. + /// + /// + /// One or more Deferred objects, or plain JavaScript objects. + /// + /// + + var i = 0, + resolveValues = core_slice.call(arguments), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || (subordinate && jQuery.isFunction(subordinate.promise)) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function (i, contexts, values) { + return function (value) { + contexts[i] = this; + values[i] = arguments.length > 1 ? core_slice.call(arguments) : value; + if (values === progressValues) { + deferred.notifyWith(contexts, values); + } else if (!(--remaining)) { + deferred.resolveWith(contexts, values); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if (length > 1) { + progressValues = new Array(length); + progressContexts = new Array(length); + resolveContexts = new Array(length); + for (; i < length; i++) { + if (resolveValues[i] && jQuery.isFunction(resolveValues[i].promise)) { + resolveValues[i].promise() + .done(updateFunc(i, resolveContexts, resolveValues)) + .fail(deferred.reject) + .progress(updateFunc(i, progressContexts, progressValues)); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if (!remaining) { + deferred.resolveWith(resolveContexts, resolveValues); + } + + return deferred.promise(); + }; + jQuery.Event.prototype.isDefaultPrevented = function returnFalse() { + /// + /// Returns whether event.preventDefault() was ever called on this event object. + /// + /// + + return false; + }; + jQuery.Event.prototype.isImmediatePropagationStopped = function returnFalse() { + /// + /// Returns whether event.stopImmediatePropagation() was ever called on this event object. + /// + /// + + return false; + }; + jQuery.Event.prototype.isPropagationStopped = function returnFalse() { + /// + /// Returns whether event.stopPropagation() was ever called on this event object. + /// + /// + + return false; + }; + jQuery.Event.prototype.preventDefault = function () { + /// + /// If this method is called, the default action of the event will not be triggered. + /// + /// + + 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; + } + }; + jQuery.Event.prototype.stopImmediatePropagation = function () { + /// + /// Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. + /// + + this.isImmediatePropagationStopped = returnTrue; + this.stopPropagation(); + }; + jQuery.Event.prototype.stopPropagation = function () { + /// + /// Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. + /// + + 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; + }; + jQuery.prototype.add = function (selector, context) { + /// + /// Add elements to the set of matched elements. + /// 1 - add(selector) + /// 2 - add(elements) + /// 3 - add(html) + /// 4 - add(jQuery object) + /// 5 - add(selector, context) + /// + /// + /// A string representing a selector expression to find additional elements to add to the set of matched elements. + /// + /// + /// The point in the document at which the selector should begin matching; similar to the context argument of the $(selector, context) method. + /// + /// + + var set = typeof selector === "string" ? + jQuery(selector, context) : + jQuery.makeArray(selector && selector.nodeType ? [selector] : selector), + all = jQuery.merge(this.get(), set); + + return this.pushStack(isDisconnected(set[0]) || isDisconnected(all[0]) ? + all : + jQuery.unique(all)); + }; + jQuery.prototype.addBack = function (selector) { + + return this.add(selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + }; + jQuery.prototype.addClass = function (value) { + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// 1 - addClass(className) + /// 2 - addClass(function(index, currentClass)) + /// + /// + /// One or more class names to be added to the class attribute of each matched element. + /// + /// + + var classNames, i, l, elem, + setClass, c, cl; + + if (jQuery.isFunction(value)) { + return this.each(function (j) { + jQuery(this).addClass(value.call(this, j, this.className)); + }); + } + + if (value && typeof value === "string") { + classNames = value.split(core_rspace); + + for (i = 0, l = this.length; i < l; i++) { + elem = this[i]; + + if (elem.nodeType === 1) { + if (!elem.className && classNames.length === 1) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for (c = 0, cl = classNames.length; c < cl; c++) { + if (setClass.indexOf(" " + classNames[c] + " ") < 0) { + setClass += classNames[c] + " "; + } + } + elem.className = jQuery.trim(setClass); + } + } + } + } + + return this; + }; + jQuery.prototype.after = function () { + /// + /// Insert content, specified by the parameter, after each element in the set of matched elements. + /// 1 - after(content, content) + /// 2 - after(function(index)) + /// + /// + /// HTML string, DOM element, or jQuery object to insert after each element in the set of matched elements. + /// + /// + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert after each element in the set of matched elements. + /// + /// + + if (!isDisconnected(this[0])) { + return this.domManip(arguments, false, function (elem) { + this.parentNode.insertBefore(elem, this.nextSibling); + }); + } + + if (arguments.length) { + var set = jQuery.clean(arguments); + return this.pushStack(jQuery.merge(this, set), "after", this.selector); + } + }; + jQuery.prototype.ajaxComplete = function (f) { + /// + /// Register a handler to be called when Ajax requests complete. This is an Ajax Event. + /// + /// + /// The function to be invoked. + /// + /// + + return this.on(o, f); + }; + jQuery.prototype.ajaxError = function (f) { + /// + /// Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. + /// + /// + /// The function to be invoked. + /// + /// + + return this.on(o, f); + }; + jQuery.prototype.ajaxSend = function (f) { + /// + /// Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. + /// + /// + /// The function to be invoked. + /// + /// + + return this.on(o, f); + }; + jQuery.prototype.ajaxStart = function (f) { + /// + /// Register a handler to be called when the first Ajax request begins. This is an Ajax Event. + /// + /// + /// The function to be invoked. + /// + /// + + return this.on(o, f); + }; + jQuery.prototype.ajaxStop = function (f) { + /// + /// Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. + /// + /// + /// The function to be invoked. + /// + /// + + return this.on(o, f); + }; + jQuery.prototype.ajaxSuccess = function (f) { + /// + /// Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. + /// + /// + /// The function to be invoked. + /// + /// + + return this.on(o, f); + }; + jQuery.prototype.andSelf = function (selector) { + /// + /// Add the previous set of elements on the stack to the current set. + /// + /// + + return this.add(selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + }; + jQuery.prototype.animate = function (prop, speed, easing, callback) { + /// + /// Perform a custom animation of a set of CSS properties. + /// 1 - animate(properties, duration, easing, complete) + /// 2 - animate(properties, options) + /// + /// + /// A map of CSS properties that the animation will move toward. + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + var empty = jQuery.isEmptyObject(prop), + optall = jQuery.speed(speed, easing, callback), + doAnimation = function () { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation(this, jQuery.extend({}, prop), optall); + + // Empty animations resolve immediately + if (empty) { + anim.stop(true); + } + }; + + return empty || optall.queue === false ? + this.each(doAnimation) : + this.queue(optall.queue, doAnimation); + }; + jQuery.prototype.append = function () { + /// + /// Insert content, specified by the parameter, to the end of each element in the set of matched elements. + /// 1 - append(content, content) + /// 2 - append(function(index, html)) + /// + /// + /// DOM element, HTML string, or jQuery object to insert at the end of each element in the set of matched elements. + /// + /// + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements. + /// + /// + + return this.domManip(arguments, true, function (elem) { + if (this.nodeType === 1 || this.nodeType === 11) { + this.appendChild(elem); + } + }); + }; + jQuery.prototype.appendTo = function (selector) { + /// + /// Insert every element in the set of matched elements to the end of the target. + /// + /// + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the end of the element(s) specified by this parameter. + /// + /// + + var elems, + i = 0, + ret = [], + insert = jQuery(selector), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ((parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1) { + insert[original](this[0]); + return this; + } else { + for (; i < l; i++) { + elems = (i > 0 ? this.clone(true) : this).get(); + jQuery(insert[i])[original](elems); + ret = ret.concat(elems); + } + + return this.pushStack(ret, name, insert.selector); + } + }; + jQuery.prototype.attr = function (name, value) { + /// + /// 1: Get the value of an attribute for the first element in the set of matched elements. + /// 1.1 - attr(attributeName) + /// 2: Set one or more attributes for the set of matched elements. + /// 2.1 - attr(attributeName, value) + /// 2.2 - attr(map) + /// 2.3 - attr(attributeName, function(index, attr)) + /// + /// + /// The name of the attribute to set. + /// + /// + /// A value to set for the attribute. + /// + /// + + return jQuery.access(this, jQuery.attr, name, value, arguments.length > 1); + }; + jQuery.prototype.before = function () { + /// + /// Insert content, specified by the parameter, before each element in the set of matched elements. + /// 1 - before(content, content) + /// 2 - before(function) + /// + /// + /// HTML string, DOM element, or jQuery object to insert before each element in the set of matched elements. + /// + /// + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert before each element in the set of matched elements. + /// + /// + + if (!isDisconnected(this[0])) { + return this.domManip(arguments, false, function (elem) { + this.parentNode.insertBefore(elem, this); + }); + } + + if (arguments.length) { + var set = jQuery.clean(arguments); + return this.pushStack(jQuery.merge(set, this), "before", this.selector); + } + }; + jQuery.prototype.bind = function (types, data, fn) { + /// + /// Attach a handler to an event for the elements. + /// 1 - bind(eventType, eventData, handler(eventObject)) + /// 2 - bind(eventType, eventData, preventBubble) + /// 3 - bind(events) + /// + /// + /// A string containing one or more DOM event types, such as "click" or "submit," or custom event names. + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + return this.on(types, null, data, fn); + }; + jQuery.prototype.blur = function (data, fn) { + /// + /// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. + /// 1 - blur(handler(eventObject)) + /// 2 - blur(eventData, handler(eventObject)) + /// 3 - blur() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.change = function (data, fn) { + /// + /// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. + /// 1 - change(handler(eventObject)) + /// 2 - change(eventData, handler(eventObject)) + /// 3 - change() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.children = function (until, selector) { + /// + /// Get the children of each element in the set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.clearQueue = function (type) { + /// + /// Remove from the queue all items that have not yet been run. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + return this.queue(type || "fx", []); + }; + jQuery.prototype.click = function (data, fn) { + /// + /// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. + /// 1 - click(handler(eventObject)) + /// 2 - click(eventData, handler(eventObject)) + /// 3 - click() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.clone = function (dataAndEvents, deepDataAndEvents) { + /// + /// Create a deep copy of the set of matched elements. + /// 1 - clone(withDataAndEvents) + /// 2 - clone(withDataAndEvents, deepWithDataAndEvents) + /// + /// + /// A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. *In jQuery 1.5.0 the default value was incorrectly true; it was changed back to false in 1.5.1 and up. + /// + /// + /// A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false). + /// + /// + + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map(function () { + return jQuery.clone(this, dataAndEvents, deepDataAndEvents); + }); + }; + jQuery.prototype.closest = function (selectors, context) { + /// + /// 1: Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// 1.1 - closest(selector) + /// 1.2 - closest(selector, context) + /// 1.3 - closest(jQuery object) + /// 1.4 - closest(element) + /// 2: Gets an array of all the elements and selectors matched against the current element up through the DOM tree. + /// 2.1 - closest(selectors, context) + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + /// A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. + /// + /// + + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test(selectors) || typeof selectors !== "string" ? + jQuery(selectors, context || this.context) : + 0; + + for (; i < l; i++) { + cur = this[i]; + + while (cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11) { + if (pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors)) { + ret.push(cur); + break; + } + cur = cur.parentNode; + } + } + + ret = ret.length > 1 ? jQuery.unique(ret) : ret; + + return this.pushStack(ret, "closest", selectors); + }; + jQuery.prototype.constructor = function (selector, context) { + + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init(selector, context, rootjQuery); + }; + jQuery.prototype.contents = function (until, selector) { + /// + /// Get the children of each element in the set of matched elements, including text and comment nodes. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.contextmenu = function (data, fn) { + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.css = function (name, value) { + /// + /// 1: Get the value of a style property for the first element in the set of matched elements. + /// 1.1 - css(propertyName) + /// 2: Set one or more CSS properties for the set of matched elements. + /// 2.1 - css(propertyName, value) + /// 2.2 - css(propertyName, function(index, value)) + /// 2.3 - css(map) + /// + /// + /// A CSS property name. + /// + /// + /// A value to set for the property. + /// + /// + + return jQuery.access(this, function (elem, name, value) { + return value !== undefined ? + jQuery.style(elem, name, value) : + jQuery.css(elem, name); + }, name, value, arguments.length > 1); + }; + jQuery.prototype.data = function (key, value) { + /// + /// 1: Store arbitrary data associated with the matched elements. + /// 1.1 - data(key, value) + /// 1.2 - data(obj) + /// 2: Returns value at named data store for the first element in the jQuery collection, as set by data(name, value). + /// 2.1 - data(key) + /// 2.2 - data() + /// + /// + /// A string naming the piece of data to set. + /// + /// + /// The new data value; it can be any Javascript type including Array or Object. + /// + /// + + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if (key === undefined) { + if (this.length) { + data = jQuery.data(elem); + + if (elem.nodeType === 1 && !jQuery._data(elem, "parsedAttrs")) { + attr = elem.attributes; + for (l = attr.length; i < l; i++) { + name = attr[i].name; + + if (!name.indexOf("data-")) { + name = jQuery.camelCase(name.substring(5)); + + dataAttr(elem, name, data[name]); + } + } + jQuery._data(elem, "parsedAttrs", true); + } + } + + return data; + } + + // Sets multiple values + if (typeof key === "object") { + return this.each(function () { + jQuery.data(this, key); + }); + } + + parts = key.split(".", 2); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access(this, function (value) { + + if (value === undefined) { + data = this.triggerHandler("getData" + part, [parts[0]]); + + // Try to fetch any internally stored data first + if (data === undefined && elem) { + data = jQuery.data(elem, key); + data = dataAttr(elem, key, data); + } + + return data === undefined && parts[1] ? + this.data(parts[0]) : + data; + } + + parts[1] = value; + this.each(function () { + var self = jQuery(this); + + self.triggerHandler("setData" + part, parts); + jQuery.data(this, key, value); + self.triggerHandler("changeData" + part, parts); + }); + }, null, value, arguments.length > 1, null, false); + }; + jQuery.prototype.dblclick = function (data, fn) { + /// + /// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. + /// 1 - dblclick(handler(eventObject)) + /// 2 - dblclick(eventData, handler(eventObject)) + /// 3 - dblclick() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.delay = function (time, type) { + /// + /// Set a timer to delay execution of subsequent items in the queue. + /// + /// + /// An integer indicating the number of milliseconds to delay execution of the next item in the queue. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + time = jQuery.fx ? jQuery.fx.speeds[time] || time : time; + type = type || "fx"; + + return this.queue(type, function (next, hooks) { + var timeout = setTimeout(next, time); + hooks.stop = function () { + clearTimeout(timeout); + }; + }); + }; + jQuery.prototype.delegate = function (selector, types, data, fn) { + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// 1 - delegate(selector, eventType, handler(eventObject)) + /// 2 - delegate(selector, eventType, eventData, handler(eventObject)) + /// 3 - delegate(selector, events) + /// + /// + /// A selector to filter the elements that trigger the event. + /// + /// + /// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute at the time the event is triggered. + /// + /// + + return this.on(types, selector, data, fn); + }; + jQuery.prototype.dequeue = function (type) { + /// + /// Execute the next function on the queue for the matched elements. + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + + return this.each(function () { + jQuery.dequeue(this, type); + }); + }; + jQuery.prototype.detach = function (selector) { + /// + /// Remove the set of matched elements from the DOM. + /// + /// + /// A selector expression that filters the set of matched elements to be removed. + /// + /// + + return this.remove(selector, true); + }; + jQuery.prototype.die = function (types, fn) { + /// + /// 1: Remove all event handlers previously attached using .live() from the elements. + /// 1.1 - die() + /// 2: Remove an event handler previously attached using .live() from the elements. + /// 2.1 - die(eventType, handler) + /// 2.2 - die(eventTypes) + /// + /// + /// A string containing a JavaScript event type, such as click or keydown. + /// + /// + /// The function that is no longer to be executed. + /// + /// + + jQuery(this.context).off(types, this.selector || "**", fn); + return this; + }; + jQuery.prototype.domManip = function (args, table, callback) { + + + // Flatten any nested arrays + args = [].concat.apply([], args); + + var results, first, fragment, iNoClone, + i = 0, + value = args[0], + scripts = [], + l = this.length; + + // We can't cloneNode fragments that contain checked, in WebKit + if (!jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test(value)) { + return this.each(function () { + jQuery(this).domManip(args, table, callback); + }); + } + + if (jQuery.isFunction(value)) { + return this.each(function (i) { + var self = jQuery(this); + args[0] = value.call(this, i, table ? self.html() : undefined); + self.domManip(args, table, callback); + }); + } + + if (this[0]) { + results = jQuery.buildFragment(args, this, scripts); + fragment = results.fragment; + first = fragment.firstChild; + + if (fragment.childNodes.length === 1) { + fragment = first; + } + + if (first) { + table = table && jQuery.nodeName(first, "tr"); + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + // Fragments from the fragment cache must always be cloned and never used in place. + for (iNoClone = results.cacheable || l - 1; i < l; i++) { + callback.call( + table && jQuery.nodeName(this[i], "table") ? + findOrAppend(this[i], "tbody") : + this[i], + i === iNoClone ? + fragment : + jQuery.clone(fragment, true, true) + ); + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + + if (scripts.length) { + jQuery.each(scripts, function (i, elem) { + if (elem.src) { + if (jQuery.ajax) { + jQuery.ajax({ + url: elem.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.error("no ajax"); + } + } else { + jQuery.globalEval((elem.text || elem.textContent || elem.innerHTML || "").replace(rcleanScript, "")); + } + + if (elem.parentNode) { + elem.parentNode.removeChild(elem); + } + }); + } + } + + return this; + }; + jQuery.prototype.each = function (callback, args) { + /// + /// Iterate over a jQuery object, executing a function for each matched element. + /// + /// + /// A function to execute for each matched element. + /// + /// + + return jQuery.each(this, callback, args); + }; + jQuery.prototype.empty = function () { + /// + /// Remove all child nodes of the set of matched elements from the DOM. + /// + /// + + var elem, + i = 0; + + for (; (elem = this[i]) != null; i++) { + // Remove element nodes and prevent memory leaks + if (elem.nodeType === 1) { + jQuery.cleanData(elem.getElementsByTagName("*")); + } + + // Remove any remaining nodes + while (elem.firstChild) { + elem.removeChild(elem.firstChild); + } + } + + return this; + }; + jQuery.prototype.end = function () { + /// + /// End the most recent filtering operation in the current chain and return the set of matched elements to its previous state. + /// + /// + + return this.prevObject || this.constructor(null); + }; + jQuery.prototype.eq = function (i) { + /// + /// Reduce the set of matched elements to the one at the specified index. + /// 1 - eq(index) + /// 2 - eq(-index) + /// + /// + /// An integer indicating the 0-based position of the element. + /// + /// + + i = +i; + return i === -1 ? + this.slice(i) : + this.slice(i, i + 1); + }; + jQuery.prototype.error = function (data, fn) { + /// + /// Bind an event handler to the "error" JavaScript event. + /// 1 - error(handler(eventObject)) + /// 2 - error(eventData, handler(eventObject)) + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.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.prototype.fadeIn = function (speed, easing, callback) { + /// + /// Display the matched elements by fading them to opaque. + /// 1 - fadeIn(duration, callback) + /// 2 - fadeIn(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return this.animate(props, speed, easing, callback); + }; + jQuery.prototype.fadeOut = function (speed, easing, callback) { + /// + /// Hide the matched elements by fading them to transparent. + /// 1 - fadeOut(duration, callback) + /// 2 - fadeOut(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return this.animate(props, speed, easing, callback); + }; + jQuery.prototype.fadeTo = function (speed, to, easing, callback) { + /// + /// Adjust the opacity of the matched elements. + /// 1 - fadeTo(duration, opacity, callback) + /// 2 - fadeTo(duration, opacity, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A number between 0 and 1 denoting the target opacity. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + + // show any hidden elements after setting opacity to 0 + return this.filter(isHidden).css("opacity", 0).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback); + }; + jQuery.prototype.fadeToggle = function (speed, easing, callback) { + /// + /// Display or hide the matched elements by animating their opacity. + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return this.animate(props, speed, easing, callback); + }; + jQuery.prototype.filter = function (selector) { + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// 1 - filter(selector) + /// 2 - filter(function(index)) + /// 3 - filter(element) + /// 4 - filter(jQuery object) + /// + /// + /// A string containing a selector expression to match the current set of elements against. + /// + /// + + return this.pushStack(winnow(this, selector, true), "filter", selector); + }; + jQuery.prototype.find = function (selector) { + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// 1 - find(selector) + /// 2 - find(jQuery object) + /// 3 - find(element) + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var i, l, length, n, r, ret, + self = this; + + if (typeof selector !== "string") { + return jQuery(selector).filter(function () { + for (i = 0, l = self.length; i < l; i++) { + if (jQuery.contains(self[i], this)) { + return true; + } + } + }); + } + + ret = this.pushStack("", "find", selector); + + for (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 (n = length; n < ret.length; n++) { + for (r = 0; r < length; r++) { + if (ret[r] === ret[n]) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }; + jQuery.prototype.first = function () { + /// + /// Reduce the set of matched elements to the first in the set. + /// + /// + + return this.eq(0); + }; + jQuery.prototype.focus = function (data, fn) { + /// + /// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. + /// 1 - focus(handler(eventObject)) + /// 2 - focus(eventData, handler(eventObject)) + /// 3 - focus() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.focusin = function (data, fn) { + /// + /// Bind an event handler to the "focusin" event. + /// 1 - focusin(handler(eventObject)) + /// 2 - focusin(eventData, handler(eventObject)) + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.focusout = function (data, fn) { + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// 1 - focusout(handler(eventObject)) + /// 2 - focusout(eventData, handler(eventObject)) + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.get = function (num) { + /// + /// Retrieve the DOM elements matched by the jQuery object. + /// + /// + /// A zero-based integer indicating which element to retrieve. + /// + /// + + return num == null ? + + // Return a 'clean' array + this.toArray() : + + // Return just the object + (num < 0 ? this[this.length + num] : this[num]); + }; + jQuery.prototype.has = function (target) { + /// + /// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. + /// 1 - has(selector) + /// 2 - has(contained) + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var i, + targets = jQuery(target, this), + len = targets.length; + + return this.filter(function () { + for (i = 0; i < len; i++) { + if (jQuery.contains(this, targets[i])) { + return true; + } + } + }); + }; + jQuery.prototype.hasClass = function (selector) { + /// + /// Determine whether any of the matched elements are assigned the given class. + /// + /// + /// The class name to search for. + /// + /// + + var className = " " + selector + " ", + i = 0, + l = this.length; + for (; i < l; i++) { + if (this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf(className) >= 0) { + return true; + } + } + + return false; + }; + jQuery.prototype.height = function (margin, value) { + /// + /// 1: Get the current computed height for the first element in the set of matched elements. + /// 1.1 - height() + /// 2: Set the CSS height of every matched element. + /// 2.1 - height(value) + /// 2.2 - height(function(index, height)) + /// + /// + /// An integer representing the number of pixels, or an integer with an optional unit of measure appended (as a string). + /// + /// + + var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), + extra = defaultExtra || (margin === true || value === true ? "margin" : "border"); + + return jQuery.access(this, function (elem, type, value) { + var doc; + + if (jQuery.isWindow(elem)) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement["client" + name]; + } + + // Get document width or height + if (elem.nodeType === 9) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body["scroll" + name], doc["scroll" + name], + elem.body["offset" + name], doc["offset" + name], + doc["client" + name] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css(elem, type, value, extra) : + + // Set width or height on the element + jQuery.style(elem, type, value, extra); + }, type, chainable ? margin : undefined, chainable, null); + }; + jQuery.prototype.hide = function (speed, easing, callback) { + /// + /// Hide the matched elements. + /// 1 - hide() + /// 2 - hide(duration, callback) + /// 3 - hide(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + (!i && jQuery.isFunction(speed) && jQuery.isFunction(easing)) ? + cssFn.apply(this, arguments) : + this.animate(genFx(name, true), speed, easing, callback); + }; + jQuery.prototype.hover = function (fnOver, fnOut) { + /// + /// 1: Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. + /// 1.1 - hover(handlerIn(eventObject), handlerOut(eventObject)) + /// 2: Bind a single handler to the matched elements, to be executed when the mouse pointer enters or leaves the elements. + /// 2.1 - hover(handlerInOut(eventObject)) + /// + /// + /// A function to execute when the mouse pointer enters the element. + /// + /// + /// A function to execute when the mouse pointer leaves the element. + /// + /// + + return this.mouseenter(fnOver).mouseleave(fnOut || fnOver); + }; + jQuery.prototype.html = function (value) { + /// + /// 1: Get the HTML contents of the first element in the set of matched elements. + /// 1.1 - html() + /// 2: Set the HTML contents of each element in the set of matched elements. + /// 2.1 - html(htmlString) + /// 2.2 - html(function(index, oldhtml)) + /// + /// + /// A string of HTML to set as the content of each matched element. + /// + /// + + return jQuery.access(this, function (value) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if (value === undefined) { + return elem.nodeType === 1 ? + elem.innerHTML.replace(rinlinejQuery, "") : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if (typeof value === "string" && !rnoInnerhtml.test(value) && + (jQuery.support.htmlSerialize || !rnoshimcache.test(value)) && + (jQuery.support.leadingWhitespace || !rleadingWhitespace.test(value)) && + !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) { + + value = value.replace(rxhtmlTag, "<$1>"); + + try { + for (; i < l; i++) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if (elem.nodeType === 1) { + jQuery.cleanData(elem.getElementsByTagName("*")); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch (e) { } + } + + if (elem) { + this.empty().append(value); + } + }, null, value, arguments.length); + }; + jQuery.prototype.index = function (elem) { + /// + /// Search for a given element from among the matched elements. + /// 1 - index() + /// 2 - index(selector) + /// 3 - index(element) + /// + /// + /// A selector representing a jQuery collection in which to look for an element. + /// + /// + + + // No argument, return index in parent + if (!elem) { + return (this[0] && this[0].parentNode) ? this.prevAll().length : -1; + } + + // index in selector + if (typeof elem === "string") { + return jQuery.inArray(this[0], jQuery(elem)); + } + + // 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); + }; + jQuery.prototype.init = function (selector, context, rootjQuery) { + + var match, elem, ret, doc; + + // Handle $(""), $(null), $(undefined), $(false) + if (!selector) { + return this; + } + + // Handle $(DOMElement) + if (selector.nodeType) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if (typeof selector === "string") { + if (selector.charAt(0) === "<" && selector.charAt(selector.length - 1) === ">" && selector.length >= 3) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [null, selector, null]; + + } else { + match = rquickExpr.exec(selector); + } + + // Match html or make sure no context is specified for #id + if (match && (match[1] || !context)) { + + // HANDLE: $(html) -> $(array) + if (match[1]) { + context = context instanceof jQuery ? context[0] : context; + doc = (context && context.nodeType ? context.ownerDocument || context : document); + + // scripts is true for back-compat + selector = jQuery.parseHTML(match[1], doc, true); + if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) { + this.attr.call(selector, context, true); + } + + 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); + }; + jQuery.prototype.innerHeight = function (margin, value) { + /// + /// Get the current computed height for the first element in the set of matched elements, including padding but not border. + /// + /// + + var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), + extra = defaultExtra || (margin === true || value === true ? "margin" : "border"); + + return jQuery.access(this, function (elem, type, value) { + var doc; + + if (jQuery.isWindow(elem)) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement["client" + name]; + } + + // Get document width or height + if (elem.nodeType === 9) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body["scroll" + name], doc["scroll" + name], + elem.body["offset" + name], doc["offset" + name], + doc["client" + name] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css(elem, type, value, extra) : + + // Set width or height on the element + jQuery.style(elem, type, value, extra); + }, type, chainable ? margin : undefined, chainable, null); + }; + jQuery.prototype.innerWidth = function (margin, value) { + /// + /// Get the current computed width for the first element in the set of matched elements, including padding but not border. + /// + /// + + var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), + extra = defaultExtra || (margin === true || value === true ? "margin" : "border"); + + return jQuery.access(this, function (elem, type, value) { + var doc; + + if (jQuery.isWindow(elem)) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement["client" + name]; + } + + // Get document width or height + if (elem.nodeType === 9) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body["scroll" + name], doc["scroll" + name], + elem.body["offset" + name], doc["offset" + name], + doc["client" + name] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css(elem, type, value, extra) : + + // Set width or height on the element + jQuery.style(elem, type, value, extra); + }, type, chainable ? margin : undefined, chainable, null); + }; + jQuery.prototype.insertAfter = function (selector) { + /// + /// Insert every element in the set of matched elements after the target. + /// + /// + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted after the element(s) specified by this parameter. + /// + /// + + var elems, + i = 0, + ret = [], + insert = jQuery(selector), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ((parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1) { + insert[original](this[0]); + return this; + } else { + for (; i < l; i++) { + elems = (i > 0 ? this.clone(true) : this).get(); + jQuery(insert[i])[original](elems); + ret = ret.concat(elems); + } + + return this.pushStack(ret, name, insert.selector); + } + }; + jQuery.prototype.insertBefore = function (selector) { + /// + /// Insert every element in the set of matched elements before the target. + /// + /// + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted before the element(s) specified by this parameter. + /// + /// + + var elems, + i = 0, + ret = [], + insert = jQuery(selector), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ((parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1) { + insert[original](this[0]); + return this; + } else { + for (; i < l; i++) { + elems = (i > 0 ? this.clone(true) : this).get(); + jQuery(insert[i])[original](elems); + ret = ret.concat(elems); + } + + return this.pushStack(ret, name, insert.selector); + } + }; + jQuery.prototype.is = function (selector) { + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// 1 - is(selector) + /// 2 - is(function(index)) + /// 3 - is(jQuery object) + /// 4 - is(element) + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + return !!selector && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test(selector) ? + jQuery(selector, this.context).index(this[0]) >= 0 : + jQuery.filter(selector, this).length > 0 : + this.filter(selector).length > 0); + }; + jQuery.prototype.keydown = function (data, fn) { + /// + /// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. + /// 1 - keydown(handler(eventObject)) + /// 2 - keydown(eventData, handler(eventObject)) + /// 3 - keydown() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.keypress = function (data, fn) { + /// + /// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. + /// 1 - keypress(handler(eventObject)) + /// 2 - keypress(eventData, handler(eventObject)) + /// 3 - keypress() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.keyup = function (data, fn) { + /// + /// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. + /// 1 - keyup(handler(eventObject)) + /// 2 - keyup(eventData, handler(eventObject)) + /// 3 - keyup() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.last = function () { + /// + /// Reduce the set of matched elements to the final one in the set. + /// + /// + + return this.eq(-1); + }; + jQuery.prototype.length = 0; + jQuery.prototype.live = function (types, data, fn) { + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// 1 - live(events, handler(eventObject)) + /// 2 - live(events, data, handler(eventObject)) + /// 3 - live(events-map) + /// + /// + /// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names. + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute at the time the event is triggered. + /// + /// + + jQuery(this.context).on(types, this.selector, data, fn); + return this; + }; + jQuery.prototype.load = function (url, params, callback) { + /// + /// 1: Bind an event handler to the "load" JavaScript event. + /// 1.1 - load(handler(eventObject)) + /// 1.2 - load(eventData, handler(eventObject)) + /// 2: Load data from the server and place the returned HTML into the matched element. + /// 2.1 - load(url, data, complete(responseText, textStatus, XMLHttpRequest)) + /// + /// + /// A string containing the URL to which the request is sent. + /// + /// + /// A map or string that is sent to the server with the request. + /// + /// + /// A callback function that is executed when the request completes. + /// + /// + + if (typeof url !== "string" && _load) { + return _load.apply(this, arguments); + } + + // Don't do a request if no elements are being requested + if (!this.length) { + return this; + } + + var selector, type, response, + self = this, + off = url.indexOf(" "); + + if (off >= 0) { + selector = url.slice(off, url.length); + url = url.slice(0, off); + } + + // If it's a function + if (jQuery.isFunction(params)) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if (params && typeof params === "object") { + type = "POST"; + } + + // Request the remote document + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params, + complete: function (jqXHR, status) { + if (callback) { + self.each(callback, response || [jqXHR.responseText, status, jqXHR]); + } + } + }).done(function (responseText) { + + // Save response for use in complete callback + response = arguments; + + // See if a selector was specified + self.html(selector ? + + // Create a dummy div to hold the results + jQuery("
") + + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append(responseText.replace(rscript, "")) + + // Locate the specified elements + .find(selector) : + + // If not, just inject the full result + responseText); + + }); + + return this; + }; + jQuery.prototype.map = function (callback) { + /// + /// Pass each element in the current matched set through a function, producing a new jQuery object containing the return values. + /// + /// + /// A function object that will be invoked for each element in the current set. + /// + /// + + return this.pushStack(jQuery.map(this, function (elem, i) { + return callback.call(elem, i, elem); + })); + }; + jQuery.prototype.mousedown = function (data, fn) { + /// + /// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. + /// 1 - mousedown(handler(eventObject)) + /// 2 - mousedown(eventData, handler(eventObject)) + /// 3 - mousedown() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.mouseenter = function (data, fn) { + /// + /// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. + /// 1 - mouseenter(handler(eventObject)) + /// 2 - mouseenter(eventData, handler(eventObject)) + /// 3 - mouseenter() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.mouseleave = function (data, fn) { + /// + /// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. + /// 1 - mouseleave(handler(eventObject)) + /// 2 - mouseleave(eventData, handler(eventObject)) + /// 3 - mouseleave() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.mousemove = function (data, fn) { + /// + /// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. + /// 1 - mousemove(handler(eventObject)) + /// 2 - mousemove(eventData, handler(eventObject)) + /// 3 - mousemove() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.mouseout = function (data, fn) { + /// + /// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. + /// 1 - mouseout(handler(eventObject)) + /// 2 - mouseout(eventData, handler(eventObject)) + /// 3 - mouseout() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.mouseover = function (data, fn) { + /// + /// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. + /// 1 - mouseover(handler(eventObject)) + /// 2 - mouseover(eventData, handler(eventObject)) + /// 3 - mouseover() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.mouseup = function (data, fn) { + /// + /// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. + /// 1 - mouseup(handler(eventObject)) + /// 2 - mouseup(eventData, handler(eventObject)) + /// 3 - mouseup() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.next = function (until, selector) { + /// + /// Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.nextAll = function (until, selector) { + /// + /// Get all following siblings of each element in the set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.nextUntil = function (until, selector) { + /// + /// Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. + /// 1 - nextUntil(selector, filter) + /// 2 - nextUntil(element, filter) + /// + /// + /// A string containing a selector expression to indicate where to stop matching following sibling elements. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.not = function (selector) { + /// + /// Remove elements from the set of matched elements. + /// 1 - not(selector) + /// 2 - not(elements) + /// 3 - not(function(index)) + /// 4 - not(jQuery object) + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + return this.pushStack(winnow(this, selector, false), "not", selector); + }; + jQuery.prototype.off = function (types, selector, fn) { + /// + /// Remove an event handler. + /// 1 - off(events, selector, handler(eventObject)) + /// 2 - off(events-map, selector) + /// + /// + /// One or more space-separated event types and optional namespaces, or just namespaces, such as "click", "keydown.myPlugin", or ".myPlugin". + /// + /// + /// A selector which should match the one originally passed to .on() when attaching event handlers. + /// + /// + /// A handler function previously attached for the event(s), or the special value false. + /// + /// + + var handleObj, type; + if (types && types.preventDefault && types.handleObj) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery(types.delegateTarget).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if (typeof types === "object") { + // ( types-object [, selector] ) + for (type in types) { + this.off(type, selector, types[type]); + } + return this; + } + if (selector === false || typeof selector === "function") { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if (fn === false) { + fn = returnFalse; + } + return this.each(function () { + jQuery.event.remove(this, types, fn, selector); + }); + }; + jQuery.prototype.offset = function (options) { + /// + /// 1: Get the current coordinates of the first element in the set of matched elements, relative to the document. + /// 1.1 - offset() + /// 2: Set the current coordinates of every element in the set of matched elements, relative to the document. + /// 2.1 - offset(coordinates) + /// 2.2 - offset(function(index, coords)) + /// + /// + /// An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. + /// + /// + + if (arguments.length) { + return options === undefined ? + this : + this.each(function (i) { + jQuery.offset.setOffset(this, options, i); + }); + } + + var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft, + box = { top: 0, left: 0 }, + elem = this[0], + doc = elem && elem.ownerDocument; + + if (!doc) { + return; + } + + if ((body = doc.body) === elem) { + return jQuery.offset.bodyOffset(elem); + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if (!jQuery.contains(docElem, elem)) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if (typeof elem.getBoundingClientRect !== "undefined") { + box = elem.getBoundingClientRect(); + } + win = getWindow(doc); + clientTop = docElem.clientTop || body.clientTop || 0; + clientLeft = docElem.clientLeft || body.clientLeft || 0; + scrollTop = win.pageYOffset || docElem.scrollTop; + scrollLeft = win.pageXOffset || docElem.scrollLeft; + return { + top: box.top + scrollTop - clientTop, + left: box.left + scrollLeft - clientLeft + }; + }; + jQuery.prototype.offsetParent = function () { + /// + /// Get the closest ancestor element that is positioned. + /// + /// + + return this.map(function () { + var offsetParent = this.offsetParent || document.body; + while (offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static")) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.body; + }); + }; + jQuery.prototype.on = function (types, selector, data, fn, /*INTERNAL*/ one) { + /// + /// Attach an event handler function for one or more events to the selected elements. + /// 1 - on(events, selector, data, handler(eventObject)) + /// 2 - on(events-map, selector, data) + /// + /// + /// One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". + /// + /// + /// A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. + /// + /// + /// Data to be passed to the handler in event.data when an event is triggered. + /// + /// + /// A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. + /// + /// + + var origFn, type; + + // Types can be a map of types/handlers + if (typeof types === "object") { + // ( types-Object, selector, data ) + if (typeof selector !== "string") { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for (type in types) { + this.on(type, selector, data, types[type], one); + } + return this; + } + + if (data == null && fn == null) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if (fn == null) { + if (typeof selector === "string") { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if (fn === false) { + fn = returnFalse; + } else if (!fn) { + return this; + } + + if (one === 1) { + origFn = fn; + fn = function (event) { + // Can use an empty set, since event contains the info + jQuery().off(event); + return origFn.apply(this, arguments); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || (origFn.guid = jQuery.guid++); + } + return this.each(function () { + jQuery.event.add(this, types, fn, data, selector); + }); + }; + jQuery.prototype.one = function (types, selector, data, fn) { + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// 1 - one(events, data, handler(eventObject)) + /// 2 - one(events, selector, data, handler(eventObject)) + /// 3 - one(events-map, selector, data) + /// + /// + /// One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". + /// + /// + /// A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. + /// + /// + /// Data to be passed to the handler in event.data when an event is triggered. + /// + /// + /// A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. + /// + /// + + return this.on(types, selector, data, fn, 1); + }; + jQuery.prototype.outerHeight = function (margin, value) { + /// + /// Get the current computed height for the first element in the set of matched elements, including padding, border, and optionally margin. Returns an integer (without "px") representation of the value or null if called on an empty set of elements. + /// + /// + /// A Boolean indicating whether to include the element's margin in the calculation. + /// + /// + + var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), + extra = defaultExtra || (margin === true || value === true ? "margin" : "border"); + + return jQuery.access(this, function (elem, type, value) { + var doc; + + if (jQuery.isWindow(elem)) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement["client" + name]; + } + + // Get document width or height + if (elem.nodeType === 9) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body["scroll" + name], doc["scroll" + name], + elem.body["offset" + name], doc["offset" + name], + doc["client" + name] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css(elem, type, value, extra) : + + // Set width or height on the element + jQuery.style(elem, type, value, extra); + }, type, chainable ? margin : undefined, chainable, null); + }; + jQuery.prototype.outerWidth = function (margin, value) { + /// + /// Get the current computed width for the first element in the set of matched elements, including padding and border. + /// + /// + /// A Boolean indicating whether to include the element's margin in the calculation. + /// + /// + + var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), + extra = defaultExtra || (margin === true || value === true ? "margin" : "border"); + + return jQuery.access(this, function (elem, type, value) { + var doc; + + if (jQuery.isWindow(elem)) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement["client" + name]; + } + + // Get document width or height + if (elem.nodeType === 9) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body["scroll" + name], doc["scroll" + name], + elem.body["offset" + name], doc["offset" + name], + doc["client" + name] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css(elem, type, value, extra) : + + // Set width or height on the element + jQuery.style(elem, type, value, extra); + }, type, chainable ? margin : undefined, chainable, null); + }; + jQuery.prototype.parent = function (until, selector) { + /// + /// Get the parent of each element in the current set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.parents = function (until, selector) { + /// + /// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.parentsUntil = function (until, selector) { + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. + /// 1 - parentsUntil(selector, filter) + /// 2 - parentsUntil(element, filter) + /// + /// + /// A string containing a selector expression to indicate where to stop matching ancestor elements. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.position = function () { + /// + /// Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. + /// + /// + + if (!this[0]) { + return; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat(jQuery.css(elem, "marginTop")) || 0; + offset.left -= parseFloat(jQuery.css(elem, "marginLeft")) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat(jQuery.css(offsetParent[0], "borderTopWidth")) || 0; + parentOffset.left += parseFloat(jQuery.css(offsetParent[0], "borderLeftWidth")) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }; + jQuery.prototype.prepend = function () { + /// + /// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. + /// 1 - prepend(content, content) + /// 2 - prepend(function(index, html)) + /// + /// + /// DOM element, array of elements, HTML string, or jQuery object to insert at the beginning of each element in the set of matched elements. + /// + /// + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the beginning of each element in the set of matched elements. + /// + /// + + return this.domManip(arguments, true, function (elem) { + if (this.nodeType === 1 || this.nodeType === 11) { + this.insertBefore(elem, this.firstChild); + } + }); + }; + jQuery.prototype.prependTo = function (selector) { + /// + /// Insert every element in the set of matched elements to the beginning of the target. + /// + /// + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the beginning of the element(s) specified by this parameter. + /// + /// + + var elems, + i = 0, + ret = [], + insert = jQuery(selector), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ((parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1) { + insert[original](this[0]); + return this; + } else { + for (; i < l; i++) { + elems = (i > 0 ? this.clone(true) : this).get(); + jQuery(insert[i])[original](elems); + ret = ret.concat(elems); + } + + return this.pushStack(ret, name, insert.selector); + } + }; + jQuery.prototype.prev = function (until, selector) { + /// + /// Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.prevAll = function (until, selector) { + /// + /// Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.prevUntil = function (until, selector) { + /// + /// Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. + /// 1 - prevUntil(selector, filter) + /// 2 - prevUntil(element, filter) + /// + /// + /// A string containing a selector expression to indicate where to stop matching preceding sibling elements. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.promise = function (type, obj) { + /// + /// Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished. + /// + /// + /// The type of queue that needs to be observed. + /// + /// + /// Object onto which the promise methods have to be attached + /// + /// + + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function () { + if (!(--count)) { + defer.resolveWith(elements, [elements]); + } + }; + + if (typeof type !== "string") { + obj = type; + type = undefined; + } + type = type || "fx"; + + while (i--) { + tmp = jQuery._data(elements[i], type + "queueHooks"); + if (tmp && tmp.empty) { + count++; + tmp.empty.add(resolve); + } + } + resolve(); + return defer.promise(obj); + }; + jQuery.prototype.prop = function (name, value) { + /// + /// 1: Get the value of a property for the first element in the set of matched elements. + /// 1.1 - prop(propertyName) + /// 2: Set one or more properties for the set of matched elements. + /// 2.1 - prop(propertyName, value) + /// 2.2 - prop(map) + /// 2.3 - prop(propertyName, function(index, oldPropertyValue)) + /// + /// + /// The name of the property to set. + /// + /// + /// A value to set for the property. + /// + /// + + return jQuery.access(this, jQuery.prop, name, value, arguments.length > 1); + }; + jQuery.prototype.pushStack = function (elems, name, selector) { + /// + /// Add a collection of DOM elements onto the jQuery stack. + /// 1 - pushStack(elements) + /// 2 - pushStack(elements, name, arguments) + /// + /// + /// An array of elements to push onto the stack and make into a new jQuery object. + /// + /// + /// The name of a jQuery method that generated the array of elements. + /// + /// + /// The arguments that were passed in to the jQuery method (for serialization). + /// + /// + + + // Build a new jQuery matched element set + var ret = jQuery.merge(this.constructor(), 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; + }; + jQuery.prototype.queue = function (type, data) { + /// + /// 1: Show the queue of functions to be executed on the matched elements. + /// 1.1 - queue(queueName) + /// 2: Manipulate the queue of functions to be executed on the matched elements. + /// 2.1 - queue(queueName, newQueue) + /// 2.2 - queue(queueName, callback( next )) + /// + /// + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + /// An array of functions to replace the current queue contents. + /// + /// + + var setter = 2; + + if (typeof type !== "string") { + data = type; + type = "fx"; + setter--; + } + + if (arguments.length < setter) { + return jQuery.queue(this[0], type); + } + + return data === undefined ? + this : + this.each(function () { + var queue = jQuery.queue(this, type, data); + + // ensure a hooks for this queue + jQuery._queueHooks(this, type); + + if (type === "fx" && queue[0] !== "inprogress") { + jQuery.dequeue(this, type); + } + }); + }; + jQuery.prototype.ready = function (fn) { + /// + /// Specify a function to execute when the DOM is fully loaded. + /// + /// + /// A function to execute after the DOM is ready. + /// + /// + + // Add the callback + jQuery.ready.promise().done(fn); + + return this; + }; + jQuery.prototype.remove = function (selector, keepData) { + /// + /// Remove the set of matched elements from the DOM. + /// + /// + /// A selector expression that filters the set of matched elements to be removed. + /// + /// + + var elem, + i = 0; + + for (; (elem = this[i]) != null; i++) { + if (!selector || jQuery.filter(selector, [elem]).length) { + if (!keepData && elem.nodeType === 1) { + jQuery.cleanData(elem.getElementsByTagName("*")); + jQuery.cleanData([elem]); + } + + if (elem.parentNode) { + elem.parentNode.removeChild(elem); + } + } + } + + return this; + }; + jQuery.prototype.removeAttr = function (name) { + /// + /// Remove an attribute from each element in the set of matched elements. + /// + /// + /// An attribute to remove; as of version 1.7, it can be a space-separated list of attributes. + /// + /// + + return this.each(function () { + jQuery.removeAttr(this, name); + }); + }; + jQuery.prototype.removeClass = function (value) { + /// + /// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. + /// 1 - removeClass(className) + /// 2 - removeClass(function(index, class)) + /// + /// + /// One or more space-separated classes to be removed from the class attribute of each matched element. + /// + /// + + var removes, className, elem, c, cl, i, l; + + if (jQuery.isFunction(value)) { + return this.each(function (j) { + jQuery(this).removeClass(value.call(this, j, this.className)); + }); + } + if ((value && typeof value === "string") || value === undefined) { + removes = (value || "").split(core_rspace); + + for (i = 0, l = this.length; i < l; i++) { + elem = this[i]; + if (elem.nodeType === 1 && elem.className) { + + className = (" " + elem.className + " ").replace(rclass, " "); + + // loop over each item in the removal list + for (c = 0, cl = removes.length; c < cl; c++) { + // Remove until there is nothing to remove, + while (className.indexOf(" " + removes[c] + " ") >= 0) { + className = className.replace(" " + removes[c] + " ", " "); + } + } + elem.className = value ? jQuery.trim(className) : ""; + } + } + } + + return this; + }; + jQuery.prototype.removeData = function (key) { + /// + /// Remove a previously-stored piece of data. + /// 1 - removeData(name) + /// 2 - removeData(list) + /// + /// + /// A string naming the piece of data to delete. + /// + /// + + return this.each(function () { + jQuery.removeData(this, key); + }); + }; + jQuery.prototype.removeProp = function (name) { + /// + /// Remove a property for the set of matched elements. + /// + /// + /// The name of the property to set. + /// + /// + + name = jQuery.propFix[name] || name; + return this.each(function () { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[name] = undefined; + delete this[name]; + } catch (e) { } + }); + }; + jQuery.prototype.replaceAll = function (selector) { + /// + /// Replace each target element with the set of matched elements. + /// + /// + /// A selector expression indicating which element(s) to replace. + /// + /// + + var elems, + i = 0, + ret = [], + insert = jQuery(selector), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ((parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1) { + insert[original](this[0]); + return this; + } else { + for (; i < l; i++) { + elems = (i > 0 ? this.clone(true) : this).get(); + jQuery(insert[i])[original](elems); + ret = ret.concat(elems); + } + + return this.pushStack(ret, name, insert.selector); + } + }; + jQuery.prototype.replaceWith = function (value) { + /// + /// Replace each element in the set of matched elements with the provided new content. + /// 1 - replaceWith(newContent) + /// 2 - replaceWith(function) + /// + /// + /// The content to insert. May be an HTML string, DOM element, or jQuery object. + /// + /// + + if (!isDisconnected(this[0])) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if (jQuery.isFunction(value)) { + return this.each(function (i) { + var self = jQuery(this), old = self.html(); + self.replaceWith(value.call(this, i, old)); + }); + } + + if (typeof value !== "string") { + value = jQuery(value).detach(); + } + + return this.each(function () { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery(this).remove(); + + if (next) { + jQuery(next).before(value); + } else { + jQuery(parent).append(value); + } + }); + } + + return this.length ? + this.pushStack(jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value) : + this; + }; + jQuery.prototype.resize = function (data, fn) { + /// + /// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. + /// 1 - resize(handler(eventObject)) + /// 2 - resize(eventData, handler(eventObject)) + /// 3 - resize() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.scroll = function (data, fn) { + /// + /// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. + /// 1 - scroll(handler(eventObject)) + /// 2 - scroll(eventData, handler(eventObject)) + /// 3 - scroll() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.scrollLeft = function (val) { + /// + /// 1: Get the current horizontal position of the scroll bar for the first element in the set of matched elements. + /// 1.1 - scrollLeft() + /// 2: Set the current horizontal position of the scroll bar for each of the set of matched elements. + /// 2.1 - scrollLeft(value) + /// + /// + /// An integer indicating the new position to set the scroll bar to. + /// + /// + + return jQuery.access(this, function (elem, method, val) { + var win = getWindow(elem); + + if (val === undefined) { + return win ? (prop in win) ? win[prop] : + win.document.documentElement[method] : + elem[method]; + } + + if (win) { + win.scrollTo( + !top ? val : jQuery(win).scrollLeft(), + top ? val : jQuery(win).scrollTop() + ); + + } else { + elem[method] = val; + } + }, method, val, arguments.length, null); + }; + jQuery.prototype.scrollTop = function (val) { + /// + /// 1: Get the current vertical position of the scroll bar for the first element in the set of matched elements. + /// 1.1 - scrollTop() + /// 2: Set the current vertical position of the scroll bar for each of the set of matched elements. + /// 2.1 - scrollTop(value) + /// + /// + /// An integer indicating the new position to set the scroll bar to. + /// + /// + + return jQuery.access(this, function (elem, method, val) { + var win = getWindow(elem); + + if (val === undefined) { + return win ? (prop in win) ? win[prop] : + win.document.documentElement[method] : + elem[method]; + } + + if (win) { + win.scrollTo( + !top ? val : jQuery(win).scrollLeft(), + top ? val : jQuery(win).scrollTop() + ); + + } else { + elem[method] = val; + } + }, method, val, arguments.length, null); + }; + jQuery.prototype.select = function (data, fn) { + /// + /// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. + /// 1 - select(handler(eventObject)) + /// 2 - select(eventData, handler(eventObject)) + /// 3 - select() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.serialize = function () { + /// + /// Encode a set of form elements as a string for submission. + /// + /// + + return jQuery.param(this.serializeArray()); + }; + jQuery.prototype.serializeArray = function () { + /// + /// Encode a set of form elements as an array of names and values. + /// + /// + + return this.map(function () { + return this.elements ? jQuery.makeArray(this.elements) : this; + }) + .filter(function () { + return this.name && !this.disabled && + (this.checked || rselectTextarea.test(this.nodeName) || + rinput.test(this.type)); + }) + .map(function (i, elem) { + var val = jQuery(this).val(); + + return val == null ? + null : + jQuery.isArray(val) ? + jQuery.map(val, function (val, i) { + return { name: elem.name, value: val.replace(rCRLF, "\r\n") }; + }) : + { name: elem.name, value: val.replace(rCRLF, "\r\n") }; + }).get(); + }; + jQuery.prototype.show = function (speed, easing, callback) { + /// + /// Display the matched elements. + /// 1 - show() + /// 2 - show(duration, callback) + /// 3 - show(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + (!i && jQuery.isFunction(speed) && jQuery.isFunction(easing)) ? + cssFn.apply(this, arguments) : + this.animate(genFx(name, true), speed, easing, callback); + }; + jQuery.prototype.siblings = function (until, selector) { + /// + /// Get the siblings of each element in the set of matched elements, optionally filtered by a selector. + /// + /// + /// A string containing a selector expression to match elements against. + /// + /// + + var ret = jQuery.map(this, fn, until); + + 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 && rparentsprev.test(name)) { + ret = ret.reverse(); + } + + return this.pushStack(ret, name, core_slice.call(arguments).join(",")); + }; + jQuery.prototype.size = function () { + /// + /// Return the number of elements in the jQuery object. + /// + /// + + return this.length; + }; + jQuery.prototype.slice = function () { + /// + /// Reduce the set of matched elements to a subset specified by a range of indices. + /// + /// + /// An integer indicating the 0-based position at which the elements begin to be selected. If negative, it indicates an offset from the end of the set. + /// + /// + /// An integer indicating the 0-based position at which the elements stop being selected. If negative, it indicates an offset from the end of the set. If omitted, the range continues until the end of the set. + /// + /// + + return this.pushStack(core_slice.apply(this, arguments), + "slice", core_slice.call(arguments).join(",")); + }; + jQuery.prototype.slideDown = function (speed, easing, callback) { + /// + /// Display the matched elements with a sliding motion. + /// 1 - slideDown(duration, callback) + /// 2 - slideDown(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return this.animate(props, speed, easing, callback); + }; + jQuery.prototype.slideToggle = function (speed, easing, callback) { + /// + /// Display or hide the matched elements with a sliding motion. + /// 1 - slideToggle(duration, callback) + /// 2 - slideToggle(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return this.animate(props, speed, easing, callback); + }; + jQuery.prototype.slideUp = function (speed, easing, callback) { + /// + /// Hide the matched elements with a sliding motion. + /// 1 - slideUp(duration, callback) + /// 2 - slideUp(duration, easing, callback) + /// + /// + /// A string or number determining how long the animation will run. + /// + /// + /// A string indicating which easing function to use for the transition. + /// + /// + /// A function to call once the animation is complete. + /// + /// + + return this.animate(props, speed, easing, callback); + }; + jQuery.prototype.stop = function (type, clearQueue, gotoEnd) { + /// + /// Stop the currently-running animation on the matched elements. + /// 1 - stop(clearQueue, jumpToEnd) + /// 2 - stop(queue, clearQueue, jumpToEnd) + /// + /// + /// The name of the queue in which to stop animations. + /// + /// + /// A Boolean indicating whether to remove queued animation as well. Defaults to false. + /// + /// + /// A Boolean indicating whether to complete the current animation immediately. Defaults to false. + /// + /// + + var stopQueue = function (hooks) { + var stop = hooks.stop; + delete hooks.stop; + stop(gotoEnd); + }; + + if (typeof type !== "string") { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if (clearQueue && type !== false) { + this.queue(type || "fx", []); + } + + return this.each(function () { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data(this); + + if (index) { + if (data[index] && data[index].stop) { + stopQueue(data[index]); + } + } else { + for (index in data) { + if (data[index] && data[index].stop && rrun.test(index)) { + stopQueue(data[index]); + } + } + } + + for (index = timers.length; index--;) { + if (timers[index].elem === this && (type == null || timers[index].queue === type)) { + timers[index].anim.stop(gotoEnd); + dequeue = false; + timers.splice(index, 1); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if (dequeue || !gotoEnd) { + jQuery.dequeue(this, type); + } + }); + }; + jQuery.prototype.submit = function (data, fn) { + /// + /// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. + /// 1 - submit(handler(eventObject)) + /// 2 - submit(eventData, handler(eventObject)) + /// 3 - submit() + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.text = function (value) { + /// + /// 1: Get the combined text contents of each element in the set of matched elements, including their descendants. + /// 1.1 - text() + /// 2: Set the content of each element in the set of matched elements to the specified text. + /// 2.1 - text(textString) + /// 2.2 - text(function(index, text)) + /// + /// + /// A string of text to set as the content of each matched element. + /// + /// + + return jQuery.access(this, function (value) { + return value === undefined ? + jQuery.text(this) : + this.empty().append((this[0] && this[0].ownerDocument || document).createTextNode(value)); + }, null, value, arguments.length); + }; + jQuery.prototype.toArray = function () { + /// + /// Retrieve all the DOM elements contained in the jQuery set, as an array. + /// + /// + + return core_slice.call(this); + }; + jQuery.prototype.toggle = function (speed, easing, callback) { + /// + /// 1: Bind two or more handlers to the matched elements, to be executed on alternate clicks. + /// 1.1 - toggle(handler(eventObject), handler(eventObject), handler(eventObject)) + /// 2: Display or hide the matched elements. + /// 2.1 - toggle(duration, callback) + /// 2.2 - toggle(duration, easing, callback) + /// 2.3 - toggle(showOrHide) + /// + /// + /// A function to execute every even time the element is clicked. + /// + /// + /// A function to execute every odd time the element is clicked. + /// + /// + /// Additional handlers to cycle through after clicks. + /// + /// + + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + (!i && jQuery.isFunction(speed) && jQuery.isFunction(easing)) ? + cssFn.apply(this, arguments) : + this.animate(genFx(name, true), speed, easing, callback); + }; + jQuery.prototype.toggleClass = function (value, stateVal) { + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// 1 - toggleClass(className) + /// 2 - toggleClass(className, switch) + /// 3 - toggleClass(switch) + /// 4 - toggleClass(function(index, class, switch), switch) + /// + /// + /// One or more class names (separated by spaces) to be toggled for each element in the matched set. + /// + /// + /// A Boolean (not just truthy/falsy) value to determine whether the class should be added or removed. + /// + /// + + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if (jQuery.isFunction(value)) { + return this.each(function (i) { + jQuery(this).toggleClass(value.call(this, i, this.className, 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(core_rspace); + + while ((className = classNames[i++])) { + // check each className given, space separated 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__") || ""; + } + }); + }; + jQuery.prototype.trigger = function (type, data) { + /// + /// Execute all handlers and behaviors attached to the matched elements for the given event type. + /// 1 - trigger(eventType, extraParameters) + /// 2 - trigger(event) + /// + /// + /// A string containing a JavaScript event type, such as click or submit. + /// + /// + /// Additional parameters to pass along to the event handler. + /// + /// + + return this.each(function () { + jQuery.event.trigger(type, data, this); + }); + }; + jQuery.prototype.triggerHandler = function (type, data) { + /// + /// Execute all handlers attached to an element for an event. + /// + /// + /// A string containing a JavaScript event type, such as click or submit. + /// + /// + /// An array of additional parameters to pass along to the event handler. + /// + /// + + if (this[0]) { + return jQuery.event.trigger(type, data, this[0], true); + } + }; + jQuery.prototype.unbind = function (types, fn) { + /// + /// Remove a previously-attached event handler from the elements. + /// 1 - unbind(eventType, handler(eventObject)) + /// 2 - unbind(eventType, false) + /// 3 - unbind(event) + /// + /// + /// A string containing a JavaScript event type, such as click or submit. + /// + /// + /// The function that is to be no longer executed. + /// + /// + + return this.off(types, null, fn); + }; + jQuery.prototype.undelegate = function (selector, types, fn) { + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// 1 - undelegate() + /// 2 - undelegate(selector, eventType) + /// 3 - undelegate(selector, eventType, handler(eventObject)) + /// 4 - undelegate(selector, events) + /// 5 - undelegate(namespace) + /// + /// + /// A selector which will be used to filter the event results. + /// + /// + /// A string containing a JavaScript event type, such as "click" or "keydown" + /// + /// + /// A function to execute at the time the event is triggered. + /// + /// + + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off(selector, "**") : this.off(types, selector || "**", fn); + }; + jQuery.prototype.unload = function (data, fn) { + /// + /// Bind an event handler to the "unload" JavaScript event. + /// 1 - unload(handler(eventObject)) + /// 2 - unload(eventData, handler(eventObject)) + /// + /// + /// A map of data that will be passed to the event handler. + /// + /// + /// A function to execute each time the event is triggered. + /// + /// + + if (fn == null) { + fn = data; + data = null; + } + + return arguments.length > 0 ? + this.on(name, null, data, fn) : + this.trigger(name); + }; + jQuery.prototype.unwrap = function () { + /// + /// Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. + /// + /// + + return this.parent().each(function () { + if (!jQuery.nodeName(this, "body")) { + jQuery(this).replaceWith(this.childNodes); + } + }).end(); + }; + jQuery.prototype.val = function (value) { + /// + /// 1: Get the current value of the first element in the set of matched elements. + /// 1.1 - val() + /// 2: Set the value of each element in the set of matched elements. + /// 2.1 - val(value) + /// 2.2 - val(function(index, value)) + /// + /// + /// A string of text or an array of strings corresponding to the value of each matched element to set as selected/checked. + /// + /// + + var hooks, ret, isFunction, + elem = this[0]; + + if (!arguments.length) { + if (elem) { + hooks = jQuery.valHooks[elem.type] || jQuery.valHooks[elem.nodeName.toLowerCase()]; + + if (hooks && "get" in hooks && (ret = hooks.get(elem, "value")) !== undefined) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction(value); + + return this.each(function (i) { + var val, + self = jQuery(this); + + if (this.nodeType !== 1) { + return; + } + + if (isFunction) { + val = value.call(this, i, self.val()); + } else { + val = value; + } + + // 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 + ""; + }); + } + + hooks = jQuery.valHooks[this.type] || jQuery.valHooks[this.nodeName.toLowerCase()]; + + // If set returns undefined, fall back to normal setting + if (!hooks || !("set" in hooks) || hooks.set(this, val, "value") === undefined) { + this.value = val; + } + }); + }; + jQuery.prototype.width = function (margin, value) { + /// + /// 1: Get the current computed width for the first element in the set of matched elements. + /// 1.1 - width() + /// 2: Set the CSS width of each element in the set of matched elements. + /// 2.1 - width(value) + /// 2.2 - width(function(index, width)) + /// + /// + /// An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). + /// + /// + + var chainable = arguments.length && (defaultExtra || typeof margin !== "boolean"), + extra = defaultExtra || (margin === true || value === true ? "margin" : "border"); + + return jQuery.access(this, function (elem, type, value) { + var doc; + + if (jQuery.isWindow(elem)) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement["client" + name]; + } + + // Get document width or height + if (elem.nodeType === 9) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body["scroll" + name], doc["scroll" + name], + elem.body["offset" + name], doc["offset" + name], + doc["client" + name] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css(elem, type, value, extra) : + + // Set width or height on the element + jQuery.style(elem, type, value, extra); + }, type, chainable ? margin : undefined, chainable, null); + }; + jQuery.prototype.wrap = function (html) { + /// + /// Wrap an HTML structure around each element in the set of matched elements. + /// 1 - wrap(wrappingElement) + /// 2 - wrap(function(index)) + /// + /// + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. + /// + /// + + var isFunction = jQuery.isFunction(html); + + return this.each(function (i) { + jQuery(this).wrapAll(isFunction ? html.call(this, i) : html); + }); + }; + jQuery.prototype.wrapAll = function (html) { + /// + /// Wrap an HTML structure around all elements in the set of matched elements. + /// + /// + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. + /// + /// + + if (jQuery.isFunction(html)) { + return this.each(function (i) { + jQuery(this).wrapAll(html.call(this, i)); + }); + } + + if (this[0]) { + // The elements to wrap the target around + var wrap = jQuery(html, this[0].ownerDocument).eq(0).clone(true); + + if (this[0].parentNode) { + wrap.insertBefore(this[0]); + } + + wrap.map(function () { + var elem = this; + + while (elem.firstChild && elem.firstChild.nodeType === 1) { + elem = elem.firstChild; + } + + return elem; + }).append(this); + } + + return this; + }; + jQuery.prototype.wrapInner = function (html) { + /// + /// Wrap an HTML structure around the content of each element in the set of matched elements. + /// 1 - wrapInner(wrappingElement) + /// 2 - wrapInner(function(index)) + /// + /// + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the content of the matched elements. + /// + /// + + if (jQuery.isFunction(html)) { + return this.each(function (i) { + jQuery(this).wrapInner(html.call(this, i)); + }); + } + + return this.each(function () { + var self = jQuery(this), + contents = self.contents(); + + if (contents.length) { + contents.wrapAll(html); + + } else { + self.append(html); + } + }); + }; + jQuery.fn = jQuery.prototype; + jQuery.fn.init.prototype = jQuery.fn; + window.jQuery = window.$ = jQuery; +})(window); \ No newline at end of file diff --git a/packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.js b/packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.js new file mode 100644 index 00000000..12c7797f --- /dev/null +++ b/packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.js @@ -0,0 +1,9440 @@ +/*! + * jQuery JavaScript Library v1.8.2 + * http://jquery.com/ + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://jquery.org/license + * + * Date: Thu Sep 20 2012 21:13:05 GMT-0400 (Eastern Daylight Time) + */ +(function( window, undefined ) { +var + // A central reference to the root jQuery(document) + rootjQuery, + + // The deferred used on DOM ready + readyList, + + // Use the correct document accordingly with window argument (sandbox) + document = window.document, + location = window.location, + navigator = window.navigator, + + // Map over jQuery in case of overwrite + _jQuery = window.jQuery, + + // Map over the $ in case of overwrite + _$ = window.$, + + // Save a reference to some core methods + core_push = Array.prototype.push, + core_slice = Array.prototype.slice, + core_indexOf = Array.prototype.indexOf, + core_toString = Object.prototype.toString, + core_hasOwn = Object.prototype.hasOwnProperty, + core_trim = String.prototype.trim, + + // Define a local copy of jQuery + jQuery = function( selector, context ) { + // The jQuery object is actually just the init constructor 'enhanced' + return new jQuery.fn.init( selector, context, rootjQuery ); + }, + + // Used for matching numbers + core_pnum = /[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source, + + // Used for detecting and trimming whitespace + core_rnotwhite = /\S/, + core_rspace = /\s+/, + + // Make sure we trim BOM and NBSP (here's looking at you, Safari 5.0 and IE) + rtrim = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, + + // A simple way to check for HTML strings + // Prioritize #id over to avoid XSS via location.hash (#9521) + rquickExpr = /^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/, + + // Match a standalone tag + rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, + + // JSON RegExp + rvalidchars = /^[\],:{}\s]*$/, + rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g, + rvalidescape = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, + rvalidtokens = /"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g, + + // Matches dashed string for camelizing + rmsPrefix = /^-ms-/, + rdashAlpha = /-([\da-z])/gi, + + // Used by jQuery.camelCase as callback to replace() + fcamelCase = function( all, letter ) { + return ( letter + "" ).toUpperCase(); + }, + + // The ready event handler and self cleanup method + DOMContentLoaded = function() { + if ( document.addEventListener ) { + document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false ); + jQuery.ready(); + } else if ( document.readyState === "complete" ) { + // we're here because readyState === "complete" in oldIE + // which is good enough for us to call the dom ready! + document.detachEvent( "onreadystatechange", DOMContentLoaded ); + jQuery.ready(); + } + }, + + // [[Class]] -> type pairs + class2type = {}; + +jQuery.fn = jQuery.prototype = { + constructor: jQuery, + init: function( selector, context, rootjQuery ) { + var match, elem, ret, doc; + + // Handle $(""), $(null), $(undefined), $(false) + if ( !selector ) { + return this; + } + + // Handle $(DOMElement) + if ( selector.nodeType ) { + this.context = this[0] = selector; + this.length = 1; + return this; + } + + // Handle HTML strings + if ( typeof selector === "string" ) { + if ( selector.charAt(0) === "<" && selector.charAt( selector.length - 1 ) === ">" && selector.length >= 3 ) { + // Assume that strings that start and end with <> are HTML and skip the regex check + match = [ null, selector, null ]; + + } else { + match = rquickExpr.exec( selector ); + } + + // Match html or make sure no context is specified for #id + if ( match && (match[1] || !context) ) { + + // HANDLE: $(html) -> $(array) + if ( match[1] ) { + context = context instanceof jQuery ? context[0] : context; + doc = ( context && context.nodeType ? context.ownerDocument || context : document ); + + // scripts is true for back-compat + selector = jQuery.parseHTML( match[1], doc, true ); + if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) { + this.attr.call( selector, context, true ); + } + + 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.8.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 core_slice.call( this ); + }, + + // 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 = jQuery.merge( this.constructor(), 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 ) { + // Add the callback + jQuery.ready.promise().done( fn ); + + return this; + }, + + eq: function( i ) { + i = +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( core_slice.apply( this, arguments ), + "slice", core_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: core_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 ) { + if ( window.$ === jQuery ) { + window.$ = _$; + } + + if ( deep && window.jQuery === jQuery ) { + 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, + + // Hold (or release) the ready event + holdReady: function( hold ) { + if ( hold ) { + jQuery.readyWait++; + } else { + jQuery.ready( true ); + } + }, + + // Handle when the DOM is ready + ready: function( wait ) { + + // Abort if there are pending holds or we're already ready + if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) { + return; + } + + // 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").off("ready"); + } + }, + + // 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"; + }, + + isWindow: function( obj ) { + return obj != null && obj == obj.window; + }, + + isNumeric: function( obj ) { + return !isNaN( parseFloat(obj) ) && isFinite( obj ); + }, + + type: function( obj ) { + return obj == null ? + String( obj ) : + class2type[ core_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; + } + + try { + // Not own constructor property must be Object + if ( obj.constructor && + !core_hasOwn.call(obj, "constructor") && + !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) { + return false; + } + } catch ( e ) { + // IE8,9 Will throw exceptions on certain host objects #9897 + 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 || core_hasOwn.call( obj, key ); + }, + + isEmptyObject: function( obj ) { + var name; + for ( name in obj ) { + return false; + } + return true; + }, + + error: function( msg ) { + throw new Error( msg ); + }, + + // data: string of html + // context (optional): If specified, the fragment will be created in this context, defaults to document + // scripts (optional): If true, will include scripts passed in the html string + parseHTML: function( data, context, scripts ) { + var parsed; + if ( !data || typeof data !== "string" ) { + return null; + } + if ( typeof context === "boolean" ) { + scripts = context; + context = 0; + } + context = context || document; + + // Single tag + if ( (parsed = rsingleTag.exec( data )) ) { + return [ context.createElement( parsed[1] ) ]; + } + + parsed = jQuery.buildFragment( [ data ], context, scripts ? null : [] ); + return jQuery.merge( [], + (parsed.cacheable ? jQuery.clone( parsed.fragment ) : parsed.fragment).childNodes ); + }, + + parseJSON: function( data ) { + if ( !data || typeof data !== "string") { + return null; + } + + // Make sure leading/trailing whitespace is removed (IE can't handle it) + data = jQuery.trim( data ); + + // Attempt to parse using the native JSON parser first + if ( window.JSON && window.JSON.parse ) { + return window.JSON.parse( 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, "")) ) { + + return ( new Function( "return " + data ) )(); + + } + jQuery.error( "Invalid JSON: " + data ); + }, + + // Cross-browser xml parsing + parseXML: function( data ) { + var xml, tmp; + if ( !data || typeof data !== "string" ) { + return null; + } + try { + 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 ); + } + } catch( e ) { + xml = undefined; + } + if ( !xml || !xml.documentElement || xml.getElementsByTagName( "parsererror" ).length ) { + jQuery.error( "Invalid XML: " + data ); + } + return xml; + }, + + noop: function() {}, + + // Evaluates a script in a global context + // Workarounds based on findings by Jim Driscoll + // http://weblogs.java.net/blog/driscoll/archive/2009/09/08/eval-javascript-global-context + globalEval: function( data ) { + if ( data && core_rnotwhite.test( data ) ) { + // We use execScript on Internet Explorer + // We use an anonymous function so that context is window + // rather than jQuery in Firefox + ( window.execScript || function( data ) { + window[ "eval" ].call( window, data ); + } )( data ); + } + }, + + // Convert dashed to camelCase; used by the css and data modules + // Microsoft forgot to hump their vendor prefix (#9572) + camelCase: function( string ) { + return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase ); + }, + + nodeName: function( elem, name ) { + return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase(); + }, + + // args is for internal usage only + each: function( obj, callback, args ) { + var name, + i = 0, + length = obj.length, + isObj = length === undefined || jQuery.isFunction( obj ); + + if ( args ) { + if ( isObj ) { + for ( name in obj ) { + if ( callback.apply( obj[ name ], args ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.apply( obj[ i++ ], args ) === false ) { + break; + } + } + } + + // A special, fast, case for the most common use of each + } else { + if ( isObj ) { + for ( name in obj ) { + if ( callback.call( obj[ name ], name, obj[ name ] ) === false ) { + break; + } + } + } else { + for ( ; i < length; ) { + if ( callback.call( obj[ i ], i, obj[ i++ ] ) === false ) { + break; + } + } + } + } + + return obj; + }, + + // Use native String.trim function wherever possible + trim: core_trim && !core_trim.call("\uFEFF\xA0") ? + function( text ) { + return text == null ? + "" : + core_trim.call( text ); + } : + + // Otherwise use our own trimming functionality + function( text ) { + return text == null ? + "" : + ( text + "" ).replace( rtrim, "" ); + }, + + // results is for internal usage only + makeArray: function( arr, results ) { + var type, + ret = results || []; + + if ( arr != null ) { + // The window, strings (and functions) also have 'length' + // Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930 + type = jQuery.type( arr ); + + if ( arr.length == null || type === "string" || type === "function" || type === "regexp" || jQuery.isWindow( arr ) ) { + core_push.call( ret, arr ); + } else { + jQuery.merge( ret, arr ); + } + } + + return ret; + }, + + inArray: function( elem, arr, i ) { + var len; + + if ( arr ) { + if ( core_indexOf ) { + return core_indexOf.call( arr, elem, i ); + } + + len = arr.length; + i = i ? i < 0 ? Math.max( 0, len + i ) : i : 0; + + for ( ; i < len; i++ ) { + // Skip accessing in sparse arrays + if ( i in arr && arr[ i ] === elem ) { + return i; + } + } + } + + return -1; + }, + + merge: function( first, second ) { + var l = second.length, + i = first.length, + j = 0; + + if ( typeof l === "number" ) { + for ( ; 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 retVal, + ret = [], + i = 0, + length = elems.length; + inv = !!inv; + + // Go through the array, only saving the items + // that pass the validator function + for ( ; 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 value, key, + ret = [], + i = 0, + length = elems.length, + // jquery objects are treated as arrays + isArray = elems instanceof jQuery || length !== undefined && typeof length === "number" && ( ( length > 0 && elems[ 0 ] && elems[ length -1 ] ) || length === 0 || jQuery.isArray( elems ) ) ; + + // Go through the array, translating each of the items to their + if ( isArray ) { + for ( ; i < length; i++ ) { + value = callback( elems[ i ], i, arg ); + + if ( value != null ) { + ret[ ret.length ] = value; + } + } + + // Go through every key on the object, + } else { + for ( key in elems ) { + value = callback( elems[ key ], key, 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, + + // Bind a function to a context, optionally partially applying any + // arguments. + proxy: function( fn, context ) { + var tmp, args, proxy; + + if ( typeof context === "string" ) { + tmp = fn[ context ]; + context = fn; + fn = tmp; + } + + // Quick check to determine if target is callable, in the spec + // this throws a TypeError, but we will just return undefined. + if ( !jQuery.isFunction( fn ) ) { + return undefined; + } + + // Simulated bind + args = core_slice.call( arguments, 2 ); + proxy = function() { + return fn.apply( context, args.concat( core_slice.call( arguments ) ) ); + }; + + // Set the guid of unique handler to the same of original handler, so it can be removed + proxy.guid = fn.guid = fn.guid || jQuery.guid++; + + return proxy; + }, + + // Multifunctional method to get and set values of a collection + // The value/s can optionally be executed if it's a function + access: function( elems, fn, key, value, chainable, emptyGet, pass ) { + var exec, + bulk = key == null, + i = 0, + length = elems.length; + + // Sets many values + if ( key && typeof key === "object" ) { + for ( i in key ) { + jQuery.access( elems, fn, i, key[i], 1, emptyGet, value ); + } + chainable = 1; + + // Sets one value + } else if ( value !== undefined ) { + // Optionally, function values get executed if exec is true + exec = pass === undefined && jQuery.isFunction( value ); + + if ( bulk ) { + // Bulk operations only iterate when executing function values + if ( exec ) { + exec = fn; + fn = function( elem, key, value ) { + return exec.call( jQuery( elem ), value ); + }; + + // Otherwise they run against the entire set + } else { + fn.call( elems, value ); + fn = null; + } + } + + if ( fn ) { + for (; i < length; i++ ) { + fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : value, pass ); + } + } + + chainable = 1; + } + + return chainable ? + elems : + + // Gets + bulk ? + fn.call( elems ) : + length ? fn( elems[0], key ) : emptyGet; + }, + + now: function() { + return ( new Date() ).getTime(); + } +}); + +jQuery.ready.promise = function( obj ) { + if ( !readyList ) { + + readyList = jQuery.Deferred(); + + // Catch cases where $(document).ready() is called after the browser event has already occurred. + // we once tried to use readyState "interactive" here, but it caused issues like the one + // discovered by ChrisS here: http://bugs.jquery.com/ticket/12282#comment:15 + if ( document.readyState === "complete" ) { + // Handle it asynchronously to allow scripts the opportunity to delay ready + setTimeout( jQuery.ready, 1 ); + + // Standards-based browsers support DOMContentLoaded + } else 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 { + // 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 top = false; + + try { + top = window.frameElement == null && document.documentElement; + } catch(e) {} + + if ( top && top.doScroll ) { + (function doScrollCheck() { + if ( !jQuery.isReady ) { + + try { + // Use the trick by Diego Perini + // http://javascript.nwbox.com/IEContentLoaded/ + top.doScroll("left"); + } catch(e) { + return setTimeout( doScrollCheck, 50 ); + } + + // and execute any waiting functions + jQuery.ready(); + } + })(); + } + } + } + return readyList.promise( obj ); +}; + +// Populate the class2type map +jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), function(i, name) { + class2type[ "[object " + name + "]" ] = name.toLowerCase(); +}); + +// All jQuery objects should point back to these +rootjQuery = jQuery(document); +// String to Object options format cache +var optionsCache = {}; + +// Convert String-formatted options into Object-formatted ones and store in cache +function createOptions( options ) { + var object = optionsCache[ options ] = {}; + jQuery.each( options.split( core_rspace ), function( _, flag ) { + object[ flag ] = true; + }); + return object; +} + +/* + * Create a callback list using the following parameters: + * + * options: an optional list of space-separated options that will change how + * the callback list behaves or a more traditional option object + * + * By default a callback list will act like an event callback list and can be + * "fired" multiple times. + * + * Possible options: + * + * once: will ensure the callback list can only be fired once (like a Deferred) + * + * memory: will keep track of previous values and will call any callback added + * after the list has been fired right away with the latest "memorized" + * values (like a Deferred) + * + * unique: will ensure a callback can only be added once (no duplicate in the list) + * + * stopOnFalse: interrupt callings when a callback returns false + * + */ +jQuery.Callbacks = function( options ) { + + // Convert options from String-formatted to Object-formatted if needed + // (we check in cache first) + options = typeof options === "string" ? + ( optionsCache[ options ] || createOptions( options ) ) : + jQuery.extend( {}, options ); + + var // Last fire value (for non-forgettable lists) + memory, + // Flag to know if list was already fired + fired, + // Flag to know if list is currently firing + firing, + // First callback to fire (used internally by add and fireWith) + firingStart, + // End of the loop when firing + firingLength, + // Index of currently firing callback (modified by remove if needed) + firingIndex, + // Actual callback list + list = [], + // Stack of fire calls for repeatable lists + stack = !options.once && [], + // Fire callbacks + fire = function( data ) { + memory = options.memory && data; + fired = true; + firingIndex = firingStart || 0; + firingStart = 0; + firingLength = list.length; + firing = true; + for ( ; list && firingIndex < firingLength; firingIndex++ ) { + if ( list[ firingIndex ].apply( data[ 0 ], data[ 1 ] ) === false && options.stopOnFalse ) { + memory = false; // To prevent further calls using add + break; + } + } + firing = false; + if ( list ) { + if ( stack ) { + if ( stack.length ) { + fire( stack.shift() ); + } + } else if ( memory ) { + list = []; + } else { + self.disable(); + } + } + }, + // Actual Callbacks object + self = { + // Add a callback or a collection of callbacks to the list + add: function() { + if ( list ) { + // First, we save the current length + var start = list.length; + (function add( args ) { + jQuery.each( args, function( _, arg ) { + var type = jQuery.type( arg ); + if ( type === "function" && ( !options.unique || !self.has( arg ) ) ) { + list.push( arg ); + } else if ( arg && arg.length && type !== "string" ) { + // Inspect recursively + add( arg ); + } + }); + })( arguments ); + // Do we need to add the callbacks to the + // current firing batch? + if ( firing ) { + firingLength = list.length; + // With memory, if we're not firing then + // we should call right away + } else if ( memory ) { + firingStart = start; + fire( memory ); + } + } + return this; + }, + // Remove a callback from the list + remove: function() { + if ( list ) { + jQuery.each( arguments, function( _, arg ) { + var index; + while( ( index = jQuery.inArray( arg, list, index ) ) > -1 ) { + list.splice( index, 1 ); + // Handle firing indexes + if ( firing ) { + if ( index <= firingLength ) { + firingLength--; + } + if ( index <= firingIndex ) { + firingIndex--; + } + } + } + }); + } + return this; + }, + // Control if a given callback is in the list + has: function( fn ) { + return jQuery.inArray( fn, list ) > -1; + }, + // Remove all callbacks from the list + empty: function() { + list = []; + return this; + }, + // Have the list do nothing anymore + disable: function() { + list = stack = memory = undefined; + return this; + }, + // Is it disabled? + disabled: function() { + return !list; + }, + // Lock the list in its current state + lock: function() { + stack = undefined; + if ( !memory ) { + self.disable(); + } + return this; + }, + // Is it locked? + locked: function() { + return !stack; + }, + // Call all callbacks with the given context and arguments + fireWith: function( context, args ) { + args = args || []; + args = [ context, args.slice ? args.slice() : args ]; + if ( list && ( !fired || stack ) ) { + if ( firing ) { + stack.push( args ); + } else { + fire( args ); + } + } + return this; + }, + // Call all the callbacks with the given arguments + fire: function() { + self.fireWith( this, arguments ); + return this; + }, + // To know if the callbacks have already been called at least once + fired: function() { + return !!fired; + } + }; + + return self; +}; +jQuery.extend({ + + Deferred: function( func ) { + var tuples = [ + // action, add listener, listener list, final state + [ "resolve", "done", jQuery.Callbacks("once memory"), "resolved" ], + [ "reject", "fail", jQuery.Callbacks("once memory"), "rejected" ], + [ "notify", "progress", jQuery.Callbacks("memory") ] + ], + state = "pending", + promise = { + state: function() { + return state; + }, + always: function() { + deferred.done( arguments ).fail( arguments ); + return this; + }, + then: function( /* fnDone, fnFail, fnProgress */ ) { + var fns = arguments; + return jQuery.Deferred(function( newDefer ) { + jQuery.each( tuples, function( i, tuple ) { + var action = tuple[ 0 ], + fn = fns[ i ]; + // deferred[ done | fail | progress ] for forwarding actions to newDefer + deferred[ tuple[1] ]( jQuery.isFunction( fn ) ? + function() { + var returned = fn.apply( this, arguments ); + if ( returned && jQuery.isFunction( returned.promise ) ) { + returned.promise() + .done( newDefer.resolve ) + .fail( newDefer.reject ) + .progress( newDefer.notify ); + } else { + newDefer[ action + "With" ]( this === deferred ? newDefer : this, [ returned ] ); + } + } : + newDefer[ action ] + ); + }); + fns = null; + }).promise(); + }, + // Get a promise for this deferred + // If obj is provided, the promise aspect is added to the object + promise: function( obj ) { + return obj != null ? jQuery.extend( obj, promise ) : promise; + } + }, + deferred = {}; + + // Keep pipe for back-compat + promise.pipe = promise.then; + + // Add list-specific methods + jQuery.each( tuples, function( i, tuple ) { + var list = tuple[ 2 ], + stateString = tuple[ 3 ]; + + // promise[ done | fail | progress ] = list.add + promise[ tuple[1] ] = list.add; + + // Handle state + if ( stateString ) { + list.add(function() { + // state = [ resolved | rejected ] + state = stateString; + + // [ reject_list | resolve_list ].disable; progress_list.lock + }, tuples[ i ^ 1 ][ 2 ].disable, tuples[ 2 ][ 2 ].lock ); + } + + // deferred[ resolve | reject | notify ] = list.fire + deferred[ tuple[0] ] = list.fire; + deferred[ tuple[0] + "With" ] = list.fireWith; + }); + + // Make the deferred a promise + promise.promise( deferred ); + + // Call given func if any + if ( func ) { + func.call( deferred, deferred ); + } + + // All done! + return deferred; + }, + + // Deferred helper + when: function( subordinate /* , ..., subordinateN */ ) { + var i = 0, + resolveValues = core_slice.call( arguments ), + length = resolveValues.length, + + // the count of uncompleted subordinates + remaining = length !== 1 || ( subordinate && jQuery.isFunction( subordinate.promise ) ) ? length : 0, + + // the master Deferred. If resolveValues consist of only a single Deferred, just use that. + deferred = remaining === 1 ? subordinate : jQuery.Deferred(), + + // Update function for both resolve and progress values + updateFunc = function( i, contexts, values ) { + return function( value ) { + contexts[ i ] = this; + values[ i ] = arguments.length > 1 ? core_slice.call( arguments ) : value; + if( values === progressValues ) { + deferred.notifyWith( contexts, values ); + } else if ( !( --remaining ) ) { + deferred.resolveWith( contexts, values ); + } + }; + }, + + progressValues, progressContexts, resolveContexts; + + // add listeners to Deferred subordinates; treat others as resolved + if ( length > 1 ) { + progressValues = new Array( length ); + progressContexts = new Array( length ); + resolveContexts = new Array( length ); + for ( ; i < length; i++ ) { + if ( resolveValues[ i ] && jQuery.isFunction( resolveValues[ i ].promise ) ) { + resolveValues[ i ].promise() + .done( updateFunc( i, resolveContexts, resolveValues ) ) + .fail( deferred.reject ) + .progress( updateFunc( i, progressContexts, progressValues ) ); + } else { + --remaining; + } + } + } + + // if we're not waiting on anything, resolve the master + if ( !remaining ) { + deferred.resolveWith( resolveContexts, resolveValues ); + } + + return deferred.promise(); + } +}); +jQuery.support = (function() { + + var support, + all, + a, + select, + opt, + input, + fragment, + eventName, + i, + isSupported, + clickFn, + div = document.createElement("div"); + + // Preliminary tests + div.setAttribute( "className", "t" ); + div.innerHTML = "
a"; + + all = div.getElementsByTagName("*"); + a = div.getElementsByTagName("a")[ 0 ]; + a.style.cssText = "top:1px;float:left;opacity:.5"; + + // Can't get basic test support + if ( !all || !all.length ) { + return {}; + } + + // First batch of supports tests + select = document.createElement("select"); + opt = select.appendChild( document.createElement("option") ); + input = div.getElementsByTagName("input")[ 0 ]; + + 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 instead) + style: /top/.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.5/.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, + + // Test setAttribute on camelCase class. If it works, we need attrFixes when doing get/setAttribute (ie6/7) + getSetAttribute: div.className !== "t", + + // Tests for enctype support on a form(#6743) + enctype: !!document.createElement("form").enctype, + + // Makes sure cloning an html5 element does not cause problems + // Where outerHTML is undefined, this still works + html5Clone: document.createElement("nav").cloneNode( true ).outerHTML !== "<:nav>", + + // jQuery.support.boxModel DEPRECATED in 1.8 since we don't support Quirks Mode + boxModel: ( document.compatMode === "CSS1Compat" ), + + // Will be defined later + submitBubbles: true, + changeBubbles: true, + focusinBubbles: false, + deleteExpando: true, + noCloneEvent: true, + inlineBlockNeedsLayout: false, + shrinkWrapBlocks: false, + reliableMarginRight: true, + boxSizingReliable: true, + pixelPosition: false + }; + + // Make sure checked status is properly cloned + input.checked = true; + support.noCloneChecked = input.cloneNode( true ).checked; + + // Make sure that the options inside disabled selects aren't marked as disabled + // (WebKit marks them as disabled) + select.disabled = true; + support.optDisabled = !opt.disabled; + + // Test to see if it's possible to delete an expando from an element + // Fails in Internet Explorer + try { + delete div.test; + } catch( e ) { + support.deleteExpando = false; + } + + if ( !div.addEventListener && div.attachEvent && div.fireEvent ) { + div.attachEvent( "onclick", clickFn = function() { + // Cloning a node shouldn't copy over any + // bound event handlers (IE does this) + support.noCloneEvent = false; + }); + div.cloneNode( true ).fireEvent("onclick"); + div.detachEvent( "onclick", clickFn ); + } + + // Check if a radio maintains its value + // after being appended to the DOM + input = document.createElement("input"); + input.value = "t"; + input.setAttribute( "type", "radio" ); + support.radioValue = input.value === "t"; + + input.setAttribute( "checked", "checked" ); + + // #11217 - WebKit loses check when the name is after the checked attribute + input.setAttribute( "name", "t" ); + + div.appendChild( input ); + fragment = document.createDocumentFragment(); + fragment.appendChild( div.lastChild ); + + // WebKit doesn't clone checked state correctly in fragments + support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked; + + // Check if a disconnected checkbox will retain its checked + // value of true after appended to the DOM (IE6/7) + support.appendChecked = input.checked; + + fragment.removeChild( input ); + fragment.appendChild( div ); + + // Technique from Juriy Zaytsev + // http://perfectionkills.com/detecting-event-support-without-browser-sniffing/ + // 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 ( div.attachEvent ) { + for ( i in { + submit: true, + change: true, + focusin: true + }) { + eventName = "on" + i; + isSupported = ( eventName in div ); + if ( !isSupported ) { + div.setAttribute( eventName, "return;" ); + isSupported = ( typeof div[ eventName ] === "function" ); + } + support[ i + "Bubbles" ] = isSupported; + } + } + + // Run tests that need a body at doc ready + jQuery(function() { + var container, div, tds, marginDiv, + divReset = "padding:0;margin:0;border:0;display:block;overflow:hidden;", + body = document.getElementsByTagName("body")[0]; + + if ( !body ) { + // Return for frameset docs that don't have a body + return; + } + + container = document.createElement("div"); + container.style.cssText = "visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px"; + body.insertBefore( container, body.firstChild ); + + // Construct the test element + div = document.createElement("div"); + container.appendChild( div ); + + // 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) + div.innerHTML = "
t
"; + tds = div.getElementsByTagName("td"); + tds[ 0 ].style.cssText = "padding:0;margin:0;border:0;display:none"; + isSupported = ( 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) + support.reliableHiddenOffsets = isSupported && ( tds[ 0 ].offsetHeight === 0 ); + + // Check box-sizing and margin behavior + div.innerHTML = ""; + div.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;"; + support.boxSizing = ( div.offsetWidth === 4 ); + support.doesNotIncludeMarginInBodyOffset = ( body.offsetTop !== 1 ); + + // NOTE: To any future maintainer, we've window.getComputedStyle + // because jsdom on node.js will break without it. + if ( window.getComputedStyle ) { + support.pixelPosition = ( window.getComputedStyle( div, null ) || {} ).top !== "1%"; + support.boxSizingReliable = ( window.getComputedStyle( div, null ) || { width: "4px" } ).width === "4px"; + + // 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 + marginDiv = document.createElement("div"); + marginDiv.style.cssText = div.style.cssText = divReset; + marginDiv.style.marginRight = marginDiv.style.width = "0"; + div.style.width = "1px"; + div.appendChild( marginDiv ); + support.reliableMarginRight = + !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight ); + } + + if ( typeof div.style.zoom !== "undefined" ) { + // 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.innerHTML = ""; + div.style.cssText = divReset + "width:1px;padding:1px;display:inline;zoom:1"; + support.inlineBlockNeedsLayout = ( div.offsetWidth === 3 ); + + // Check if elements with layout shrink-wrap their children + // (IE 6 does this) + div.style.display = "block"; + div.style.overflow = "visible"; + div.innerHTML = "
"; + div.firstChild.style.width = "5px"; + support.shrinkWrapBlocks = ( div.offsetWidth !== 3 ); + + container.style.zoom = 1; + } + + // Null elements to avoid leaks in IE + body.removeChild( container ); + container = div = tds = marginDiv = null; + }); + + // Null elements to avoid leaks in IE + fragment.removeChild( div ); + all = a = select = opt = input = fragment = div = null; + + return support; +})(); +var rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, + rmultiDash = /([A-Z])/g; + +jQuery.extend({ + cache: {}, + + deletedIds: [], + + // Remove at next major release (1.9/2.0) + 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 thisCache, ret, + internalKey = jQuery.expando, + getByName = typeof name === "string", + + // 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[ internalKey ] : elem[ internalKey ] && internalKey; + + // 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 || !cache[id] || (!pvt && !cache[id].data)) && 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[ internalKey ] = id = jQuery.deletedIds.pop() || jQuery.guid++; + } else { + id = internalKey; + } + } + + if ( !cache[ id ] ) { + cache[ id ] = {}; + + // 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 ] = jQuery.extend( cache[ id ], name ); + } else { + cache[ id ].data = jQuery.extend( cache[ id ].data, name ); + } + } + + thisCache = cache[ id ]; + + // jQuery data() is stored in a separate object inside the object's internal data + // cache in order to avoid key collisions between internal data and user-defined + // data. + if ( !pvt ) { + if ( !thisCache.data ) { + thisCache.data = {}; + } + + thisCache = thisCache.data; + } + + if ( data !== undefined ) { + thisCache[ jQuery.camelCase( name ) ] = data; + } + + // Check for both converted-to-camel and non-converted data property names + // If a data property was specified + if ( getByName ) { + + // First Try to find as-is property data + ret = thisCache[ name ]; + + // Test for null|undefined property data + if ( ret == null ) { + + // Try to find the camelCased property + ret = thisCache[ jQuery.camelCase( name ) ]; + } + } else { + ret = thisCache; + } + + return ret; + }, + + removeData: function( elem, name, pvt /* Internal Use Only */ ) { + if ( !jQuery.acceptData( elem ) ) { + return; + } + + var thisCache, i, l, + + isNode = elem.nodeType, + + // See jQuery.data for more information + cache = isNode ? jQuery.cache : elem, + 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 ) { + + thisCache = pvt ? cache[ id ] : cache[ id ].data; + + if ( thisCache ) { + + // Support array or space separated string names for data keys + if ( !jQuery.isArray( name ) ) { + + // try the string as a key before any manipulation + if ( name in thisCache ) { + name = [ name ]; + } else { + + // split the camel cased version by spaces unless a key with the spaces exists + name = jQuery.camelCase( name ); + if ( name in thisCache ) { + name = [ name ]; + } else { + name = name.split(" "); + } + } + } + + for ( i = 0, l = name.length; i < l; i++ ) { + delete thisCache[ name[i] ]; + } + + // If there is no data left in the cache, we want to continue + // and let the cache object itself get destroyed + if ( !( pvt ? isEmptyDataObject : jQuery.isEmptyObject )( thisCache ) ) { + return; + } + } + } + + // See jQuery.data for more information + if ( !pvt ) { + delete cache[ id ].data; + + // Don't destroy the parent cache unless the internal data object + // had been the only thing left in it + if ( !isEmptyDataObject( cache[ id ] ) ) { + return; + } + } + + // Destroy the cache + if ( isNode ) { + jQuery.cleanData( [ elem ], true ); + + // Use delete when supported for expandos or `cache` is not a window per isWindow (#10080) + } else if ( jQuery.support.deleteExpando || cache != cache.window ) { + delete cache[ id ]; + + // When all else fails, null + } else { + cache[ id ] = 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 ) { + var noData = elem.nodeName && jQuery.noData[ elem.nodeName.toLowerCase() ]; + + // nodes accept data unless otherwise specified; rejection can be conditional + return !noData || noData !== true && elem.getAttribute("classid") === noData; + } +}); + +jQuery.fn.extend({ + data: function( key, value ) { + var parts, part, attr, name, l, + elem = this[0], + i = 0, + data = null; + + // Gets all values + if ( key === undefined ) { + if ( this.length ) { + data = jQuery.data( elem ); + + if ( elem.nodeType === 1 && !jQuery._data( elem, "parsedAttrs" ) ) { + attr = elem.attributes; + for ( l = attr.length; i < l; i++ ) { + name = attr[i].name; + + if ( !name.indexOf( "data-" ) ) { + name = jQuery.camelCase( name.substring(5) ); + + dataAttr( elem, name, data[ name ] ); + } + } + jQuery._data( elem, "parsedAttrs", true ); + } + } + + return data; + } + + // Sets multiple values + if ( typeof key === "object" ) { + return this.each(function() { + jQuery.data( this, key ); + }); + } + + parts = key.split( ".", 2 ); + parts[1] = parts[1] ? "." + parts[1] : ""; + part = parts[1] + "!"; + + return jQuery.access( this, function( value ) { + + if ( value === undefined ) { + data = this.triggerHandler( "getData" + part, [ parts[0] ] ); + + // Try to fetch any internally stored data first + if ( data === undefined && elem ) { + data = jQuery.data( elem, key ); + data = dataAttr( elem, key, data ); + } + + return data === undefined && parts[1] ? + this.data( parts[0] ) : + data; + } + + parts[1] = value; + this.each(function() { + var self = jQuery( this ); + + self.triggerHandler( "setData" + part, parts ); + jQuery.data( this, key, value ); + self.triggerHandler( "changeData" + part, parts ); + }); + }, null, value, arguments.length > 1, null, false ); + }, + + 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 ) { + + var name = "data-" + key.replace( rmultiDash, "-$1" ).toLowerCase(); + + data = elem.getAttribute( name ); + + if ( typeof data === "string" ) { + try { + data = data === "true" ? true : + data === "false" ? false : + data === "null" ? null : + // Only convert to a number if it doesn't change the string + +data + "" === data ? +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; +} + +// checks a cache object for emptiness +function isEmptyDataObject( obj ) { + var name; + for ( name in obj ) { + + // if the public data object is empty, the private is still empty + if ( name === "data" && jQuery.isEmptyObject( obj[name] ) ) { + continue; + } + if ( name !== "toJSON" ) { + return false; + } + } + + return true; +} +jQuery.extend({ + queue: function( elem, type, data ) { + var queue; + + if ( elem ) { + type = ( type || "fx" ) + "queue"; + queue = jQuery._data( elem, type ); + + // Speed up dequeue by getting out quickly if this is just a lookup + if ( data ) { + if ( !queue || jQuery.isArray(data) ) { + queue = jQuery._data( elem, type, jQuery.makeArray(data) ); + } else { + queue.push( data ); + } + } + return queue || []; + } + }, + + dequeue: function( elem, type ) { + type = type || "fx"; + + var queue = jQuery.queue( elem, type ), + startLength = queue.length, + fn = queue.shift(), + hooks = jQuery._queueHooks( elem, type ), + next = function() { + jQuery.dequeue( elem, type ); + }; + + // If the fx queue is dequeued, always remove the progress sentinel + if ( fn === "inprogress" ) { + fn = queue.shift(); + startLength--; + } + + if ( fn ) { + + // Add a progress sentinel to prevent the fx queue from being + // automatically dequeued + if ( type === "fx" ) { + queue.unshift( "inprogress" ); + } + + // clear up the last queue stop function + delete hooks.stop; + fn.call( elem, next, hooks ); + } + + if ( !startLength && hooks ) { + hooks.empty.fire(); + } + }, + + // not intended for public consumption - generates a queueHooks object, or returns the current one + _queueHooks: function( elem, type ) { + var key = type + "queueHooks"; + return jQuery._data( elem, key ) || jQuery._data( elem, key, { + empty: jQuery.Callbacks("once memory").add(function() { + jQuery.removeData( elem, type + "queue", true ); + jQuery.removeData( elem, key, true ); + }) + }); + } +}); + +jQuery.fn.extend({ + queue: function( type, data ) { + var setter = 2; + + if ( typeof type !== "string" ) { + data = type; + type = "fx"; + setter--; + } + + if ( arguments.length < setter ) { + return jQuery.queue( this[0], type ); + } + + return data === undefined ? + this : + this.each(function() { + var queue = jQuery.queue( this, type, data ); + + // ensure a hooks for this queue + jQuery._queueHooks( this, type ); + + 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( next, hooks ) { + var timeout = setTimeout( next, time ); + hooks.stop = function() { + clearTimeout( timeout ); + }; + }); + }, + clearQueue: function( type ) { + return this.queue( type || "fx", [] ); + }, + // Get a promise resolved when queues of a certain type + // are emptied (fx is the type by default) + promise: function( type, obj ) { + var tmp, + count = 1, + defer = jQuery.Deferred(), + elements = this, + i = this.length, + resolve = function() { + if ( !( --count ) ) { + defer.resolveWith( elements, [ elements ] ); + } + }; + + if ( typeof type !== "string" ) { + obj = type; + type = undefined; + } + type = type || "fx"; + + while( i-- ) { + tmp = jQuery._data( elements[ i ], type + "queueHooks" ); + if ( tmp && tmp.empty ) { + count++; + tmp.empty.add( resolve ); + } + } + resolve(); + return defer.promise( obj ); + } +}); +var nodeHook, boolHook, fixSpecified, + rclass = /[\t\r\n]/g, + rreturn = /\r/g, + rtype = /^(?:button|input)$/i, + rfocusable = /^(?:button|input|object|select|textarea)$/i, + rclickable = /^a(?:rea|)$/i, + rboolean = /^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i, + getSetAttribute = jQuery.support.getSetAttribute; + +jQuery.fn.extend({ + attr: function( name, value ) { + return jQuery.access( this, jQuery.attr, name, value, arguments.length > 1 ); + }, + + removeAttr: function( name ) { + return this.each(function() { + jQuery.removeAttr( this, name ); + }); + }, + + prop: function( name, value ) { + return jQuery.access( this, jQuery.prop, name, value, arguments.length > 1 ); + }, + + removeProp: function( name ) { + name = jQuery.propFix[ name ] || name; + return this.each(function() { + // try/catch handles cases where IE balks (such as removing a property on window) + try { + this[ name ] = undefined; + delete this[ name ]; + } catch( e ) {} + }); + }, + + addClass: function( value ) { + var classNames, i, l, elem, + setClass, c, cl; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).addClass( value.call(this, j, this.className) ); + }); + } + + if ( value && typeof value === "string" ) { + classNames = value.split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + + if ( elem.nodeType === 1 ) { + if ( !elem.className && classNames.length === 1 ) { + elem.className = value; + + } else { + setClass = " " + elem.className + " "; + + for ( c = 0, cl = classNames.length; c < cl; c++ ) { + if ( setClass.indexOf( " " + classNames[ c ] + " " ) < 0 ) { + setClass += classNames[ c ] + " "; + } + } + elem.className = jQuery.trim( setClass ); + } + } + } + } + + return this; + }, + + removeClass: function( value ) { + var removes, className, elem, c, cl, i, l; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( j ) { + jQuery( this ).removeClass( value.call(this, j, this.className) ); + }); + } + if ( (value && typeof value === "string") || value === undefined ) { + removes = ( value || "" ).split( core_rspace ); + + for ( i = 0, l = this.length; i < l; i++ ) { + elem = this[ i ]; + if ( elem.nodeType === 1 && elem.className ) { + + className = (" " + elem.className + " ").replace( rclass, " " ); + + // loop over each item in the removal list + for ( c = 0, cl = removes.length; c < cl; c++ ) { + // Remove until there is nothing to remove, + while ( className.indexOf(" " + removes[ c ] + " ") >= 0 ) { + className = className.replace( " " + removes[ c ] + " " , " " ); + } + } + elem.className = value ? jQuery.trim( className ) : ""; + } + } + } + + return this; + }, + + toggleClass: function( value, stateVal ) { + var type = typeof value, + isBool = typeof stateVal === "boolean"; + + if ( jQuery.isFunction( value ) ) { + return this.each(function( i ) { + jQuery( this ).toggleClass( value.call(this, i, this.className, 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( core_rspace ); + + while ( (className = classNames[ i++ ]) ) { + // check each className given, space separated 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 + " ", + i = 0, + l = this.length; + for ( ; i < l; i++ ) { + if ( this[i].nodeType === 1 && (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) >= 0 ) { + return true; + } + } + + return false; + }, + + val: function( value ) { + var hooks, ret, isFunction, + elem = this[0]; + + if ( !arguments.length ) { + if ( elem ) { + hooks = jQuery.valHooks[ elem.type ] || jQuery.valHooks[ elem.nodeName.toLowerCase() ]; + + if ( hooks && "get" in hooks && (ret = hooks.get( elem, "value" )) !== undefined ) { + return ret; + } + + ret = elem.value; + + return typeof ret === "string" ? + // handle most common string cases + ret.replace(rreturn, "") : + // handle cases where value is null/undef or number + ret == null ? "" : ret; + } + + return; + } + + isFunction = jQuery.isFunction( value ); + + return this.each(function( i ) { + var val, + self = jQuery(this); + + if ( this.nodeType !== 1 ) { + return; + } + + if ( isFunction ) { + val = value.call( this, i, self.val() ); + } else { + val = value; + } + + // 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 + ""; + }); + } + + hooks = jQuery.valHooks[ this.type ] || jQuery.valHooks[ this.nodeName.toLowerCase() ]; + + // If set returns undefined, fall back to normal setting + if ( !hooks || !("set" in hooks) || hooks.set( this, val, "value" ) === undefined ) { + this.value = val; + } + }); + } +}); + +jQuery.extend({ + valHooks: { + option: { + get: function( elem ) { + // 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; + } + }, + select: { + get: function( elem ) { + var value, i, max, option, + 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 + i = one ? index : 0; + max = one ? index + 1 : options.length; + for ( ; i < max; i++ ) { + 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; + }, + + set: function( elem, value ) { + var values = jQuery.makeArray( value ); + + jQuery(elem).find("option").each(function() { + this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0; + }); + + if ( !values.length ) { + elem.selectedIndex = -1; + } + return values; + } + } + }, + + // Unused in 1.8, left in so attrFn-stabbers won't die; remove in 1.9 + attrFn: {}, + + attr: function( elem, name, value, pass ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set attributes on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + if ( pass && jQuery.isFunction( jQuery.fn[ name ] ) ) { + return jQuery( elem )[ name ]( value ); + } + + // Fallback to prop when attributes are not supported + if ( typeof elem.getAttribute === "undefined" ) { + return jQuery.prop( elem, name, value ); + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + // All attributes are lowercase + // Grab necessary hook if one is defined + if ( notxml ) { + name = name.toLowerCase(); + hooks = jQuery.attrHooks[ name ] || ( rboolean.test( name ) ? boolHook : nodeHook ); + } + + if ( value !== undefined ) { + + if ( value === null ) { + jQuery.removeAttr( elem, name ); + return; + + } else if ( hooks && "set" in hooks && notxml && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + elem.setAttribute( name, value + "" ); + return value; + } + + } else if ( hooks && "get" in hooks && notxml && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + + ret = elem.getAttribute( name ); + + // Non-existent attributes return null, we normalize to undefined + return ret === null ? + undefined : + ret; + } + }, + + removeAttr: function( elem, value ) { + var propName, attrNames, name, isBool, + i = 0; + + if ( value && elem.nodeType === 1 ) { + + attrNames = value.split( core_rspace ); + + for ( ; i < attrNames.length; i++ ) { + name = attrNames[ i ]; + + if ( name ) { + propName = jQuery.propFix[ name ] || name; + isBool = rboolean.test( name ); + + // See #9699 for explanation of this approach (setting first, then removal) + // Do not do this for boolean attributes (see #10870) + if ( !isBool ) { + jQuery.attr( elem, name, "" ); + } + elem.removeAttribute( getSetAttribute ? name : propName ); + + // Set corresponding property to false for boolean attributes + if ( isBool && propName in elem ) { + elem[ propName ] = false; + } + } + } + } + }, + + attrHooks: { + type: { + set: function( elem, value ) { + // We can't allow the type property to be changed (since it causes problems in IE) + if ( rtype.test( elem.nodeName ) && elem.parentNode ) { + jQuery.error( "type property can't be changed" ); + } else if ( !jQuery.support.radioValue && value === "radio" && jQuery.nodeName(elem, "input") ) { + // Setting the type on a radio button after the value resets the value in IE6-9 + // Reset value to it's default in case type is set after value + // This is for element creation + var val = elem.value; + elem.setAttribute( "type", value ); + if ( val ) { + elem.value = val; + } + return value; + } + } + }, + // Use the value property for back compat + // Use the nodeHook for button elements in IE6/7 (#1954) + value: { + get: function( elem, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.get( elem, name ); + } + return name in elem ? + elem.value : + null; + }, + set: function( elem, value, name ) { + if ( nodeHook && jQuery.nodeName( elem, "button" ) ) { + return nodeHook.set( elem, value, name ); + } + // Does not return so that setAttribute is also used + elem.value = value; + } + } + }, + + propFix: { + tabindex: "tabIndex", + readonly: "readOnly", + "for": "htmlFor", + "class": "className", + maxlength: "maxLength", + cellspacing: "cellSpacing", + cellpadding: "cellPadding", + rowspan: "rowSpan", + colspan: "colSpan", + usemap: "useMap", + frameborder: "frameBorder", + contenteditable: "contentEditable" + }, + + prop: function( elem, name, value ) { + var ret, hooks, notxml, + nType = elem.nodeType; + + // don't get/set properties on text, comment and attribute nodes + if ( !elem || nType === 3 || nType === 8 || nType === 2 ) { + return; + } + + notxml = nType !== 1 || !jQuery.isXMLDoc( elem ); + + if ( notxml ) { + // Fix name and attach hooks + name = jQuery.propFix[ name ] || name; + hooks = jQuery.propHooks[ name ]; + } + + if ( value !== undefined ) { + if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) { + return ret; + + } else { + return ( elem[ name ] = value ); + } + + } else { + if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) { + return ret; + + } else { + return elem[ name ]; + } + } + }, + + propHooks: { + tabIndex: { + get: function( elem ) { + // 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/ + var attributeNode = elem.getAttributeNode("tabindex"); + + return attributeNode && attributeNode.specified ? + parseInt( attributeNode.value, 10 ) : + rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && elem.href ? + 0 : + undefined; + } + } + } +}); + +// Hook for boolean attributes +boolHook = { + get: function( elem, name ) { + // Align boolean attributes with corresponding properties + // Fall back to attribute presence where some booleans are not supported + var attrNode, + property = jQuery.prop( elem, name ); + return property === true || typeof property !== "boolean" && ( attrNode = elem.getAttributeNode(name) ) && attrNode.nodeValue !== false ? + name.toLowerCase() : + undefined; + }, + set: function( elem, value, name ) { + var propName; + if ( value === false ) { + // Remove boolean attributes when set to false + jQuery.removeAttr( elem, name ); + } else { + // value is true since we know at this point it's type boolean and not false + // Set boolean attributes to the same name and set the DOM property + propName = jQuery.propFix[ name ] || name; + if ( propName in elem ) { + // Only set the IDL specifically if it already exists on the element + elem[ propName ] = true; + } + + elem.setAttribute( name, name.toLowerCase() ); + } + return name; + } +}; + +// IE6/7 do not support getting/setting some attributes with get/setAttribute +if ( !getSetAttribute ) { + + fixSpecified = { + name: true, + id: true, + coords: true + }; + + // Use this for any attribute in IE6/7 + // This fixes almost every IE6/7 issue + nodeHook = jQuery.valHooks.button = { + get: function( elem, name ) { + var ret; + ret = elem.getAttributeNode( name ); + return ret && ( fixSpecified[ name ] ? ret.value !== "" : ret.specified ) ? + ret.value : + undefined; + }, + set: function( elem, value, name ) { + // Set the existing or create a new attribute node + var ret = elem.getAttributeNode( name ); + if ( !ret ) { + ret = document.createAttribute( name ); + elem.setAttributeNode( ret ); + } + return ( ret.value = value + "" ); + } + }; + + // Set width and height to auto instead of 0 on empty string( Bug #8150 ) + // This is for removals + jQuery.each([ "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + set: function( elem, value ) { + if ( value === "" ) { + elem.setAttribute( name, "auto" ); + return value; + } + } + }); + }); + + // Set contenteditable to false on removals(#10429) + // Setting to empty string throws an error as an invalid value + jQuery.attrHooks.contenteditable = { + get: nodeHook.get, + set: function( elem, value, name ) { + if ( value === "" ) { + value = "false"; + } + nodeHook.set( elem, value, name ); + } + }; +} + + +// Some attributes require a special call on IE +if ( !jQuery.support.hrefNormalized ) { + jQuery.each([ "href", "src", "width", "height" ], function( i, name ) { + jQuery.attrHooks[ name ] = jQuery.extend( jQuery.attrHooks[ name ], { + get: function( elem ) { + var ret = elem.getAttribute( name, 2 ); + return ret === null ? undefined : ret; + } + }); + }); +} + +if ( !jQuery.support.style ) { + jQuery.attrHooks.style = { + get: function( elem ) { + // Return undefined in the case of empty string + // Normalize to lowercase since IE uppercases css property names + return elem.style.cssText.toLowerCase() || undefined; + }, + set: function( elem, value ) { + return ( elem.style.cssText = value + "" ); + } + }; +} + +// Safari mis-reports the default selected property of an option +// Accessing the parent's selectedIndex property fixes it +if ( !jQuery.support.optSelected ) { + jQuery.propHooks.selected = jQuery.extend( jQuery.propHooks.selected, { + get: function( elem ) { + var parent = elem.parentNode; + + if ( parent ) { + parent.selectedIndex; + + // Make sure that it also works with optgroups, see #5701 + if ( parent.parentNode ) { + parent.parentNode.selectedIndex; + } + } + return null; + } + }); +} + +// IE6/7 call enctype encoding +if ( !jQuery.support.enctype ) { + jQuery.propFix.enctype = "encoding"; +} + +// Radios and checkboxes getter/setter +if ( !jQuery.support.checkOn ) { + jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = { + get: function( elem ) { + // Handle the case where in Webkit "" is returned instead of "on" if a value isn't specified + return elem.getAttribute("value") === null ? "on" : elem.value; + } + }; + }); +} +jQuery.each([ "radio", "checkbox" ], function() { + jQuery.valHooks[ this ] = jQuery.extend( jQuery.valHooks[ this ], { + set: function( elem, value ) { + if ( jQuery.isArray( value ) ) { + return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 ); + } + } + }); +}); +var rformElems = /^(?:textarea|input|select)$/i, + rtypenamespace = /^([^\.]*|)(?:\.(.+)|)$/, + rhoverHack = /(?:^|\s)hover(\.\S+|)\b/, + rkeyEvent = /^key/, + rmouseEvent = /^(?:mouse|contextmenu)|click/, + rfocusMorph = /^(?:focusinfocus|focusoutblur)$/, + hoverHack = function( events ) { + return jQuery.event.special.hover ? events : events.replace( rhoverHack, "mouseenter$1 mouseleave$1" ); + }; + +/* + * Helper functions for managing events -- not part of the public interface. + * Props to Dean Edwards' addEvent library for many of the ideas. + */ +jQuery.event = { + + add: function( elem, types, handler, data, selector ) { + + var elemData, eventHandle, events, + t, tns, type, namespaces, handleObj, + handleObjIn, handlers, special; + + // Don't attach events to noData or text/comment nodes (allow plain objects tho) + if ( elem.nodeType === 3 || elem.nodeType === 8 || !types || !handler || !(elemData = jQuery._data( elem )) ) { + return; + } + + // Caller can pass in an object of custom data in lieu of the handler + if ( handler.handler ) { + handleObjIn = handler; + handler = handleObjIn.handler; + selector = handleObjIn.selector; + } + + // Make sure that the handler has a unique ID, used to find/remove it later + if ( !handler.guid ) { + handler.guid = jQuery.guid++; + } + + // Init the element's event structure and main handler, if this is the first + events = elemData.events; + if ( !events ) { + elemData.events = events = {}; + } + eventHandle = elemData.handle; + if ( !eventHandle ) { + elemData.handle = eventHandle = function( e ) { + // Discard the second event of a jQuery.event.trigger() and + // when an event is called after a page has unloaded + return typeof jQuery !== "undefined" && (!e || jQuery.event.triggered !== e.type) ? + jQuery.event.dispatch.apply( eventHandle.elem, arguments ) : + undefined; + }; + // Add elem as a property of the handle fn to prevent a memory leak with IE non-native events + eventHandle.elem = elem; + } + + // Handle multiple events separated by a space + // jQuery(...).bind("mouseover mouseout", fn); + types = jQuery.trim( hoverHack(types) ).split( " " ); + for ( t = 0; t < types.length; t++ ) { + + tns = rtypenamespace.exec( types[t] ) || []; + type = tns[1]; + namespaces = ( tns[2] || "" ).split( "." ).sort(); + + // If event changes its type, use the special event handlers for the changed type + special = jQuery.event.special[ type ] || {}; + + // If selector defined, determine special event api type, otherwise given type + type = ( selector ? special.delegateType : special.bindType ) || type; + + // Update special based on newly reset type + special = jQuery.event.special[ type ] || {}; + + // handleObj is passed to all event handlers + handleObj = jQuery.extend({ + type: type, + origType: tns[1], + data: data, + handler: handler, + guid: handler.guid, + selector: selector, + needsContext: selector && jQuery.expr.match.needsContext.test( selector ), + namespace: namespaces.join(".") + }, handleObjIn ); + + // Init the event handler queue if we're the first + handlers = events[ type ]; + if ( !handlers ) { + handlers = events[ type ] = []; + handlers.delegateCount = 0; + + // 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 to the element's handler list, delegates in front + if ( selector ) { + handlers.splice( handlers.delegateCount++, 0, handleObj ); + } else { + handlers.push( handleObj ); + } + + // Keep track of which events have ever been used, for event optimization + 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, selector, mappedTypes ) { + + var t, tns, type, origType, namespaces, origCount, + j, events, special, eventType, handleObj, + elemData = jQuery.hasData( elem ) && jQuery._data( elem ); + + if ( !elemData || !(events = elemData.events) ) { + return; + } + + // Once for each type.namespace in types; type may be omitted + types = jQuery.trim( hoverHack( types || "" ) ).split(" "); + for ( t = 0; t < types.length; t++ ) { + tns = rtypenamespace.exec( types[t] ) || []; + type = origType = tns[1]; + namespaces = tns[2]; + + // Unbind all events (on this namespace, if provided) for the element + if ( !type ) { + for ( type in events ) { + jQuery.event.remove( elem, type + types[ t ], handler, selector, true ); + } + continue; + } + + special = jQuery.event.special[ type ] || {}; + type = ( selector? special.delegateType : special.bindType ) || type; + eventType = events[ type ] || []; + origCount = eventType.length; + namespaces = namespaces ? new RegExp("(^|\\.)" + namespaces.split(".").sort().join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + + // Remove matching events + for ( j = 0; j < eventType.length; j++ ) { + handleObj = eventType[ j ]; + + if ( ( mappedTypes || origType === handleObj.origType ) && + ( !handler || handler.guid === handleObj.guid ) && + ( !namespaces || namespaces.test( handleObj.namespace ) ) && + ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) { + eventType.splice( j--, 1 ); + + if ( handleObj.selector ) { + eventType.delegateCount--; + } + if ( special.remove ) { + special.remove.call( elem, handleObj ); + } + } + } + + // Remove generic event handler if we removed something and no more handlers exist + // (avoids potential for endless recursion during removal of special event handlers) + if ( eventType.length === 0 && origCount !== eventType.length ) { + if ( !special.teardown || special.teardown.call( elem, namespaces, elemData.handle ) === false ) { + jQuery.removeEvent( elem, type, elemData.handle ); + } + + delete events[ type ]; + } + } + + // Remove the expando if it's no longer used + if ( jQuery.isEmptyObject( events ) ) { + delete elemData.handle; + + // removeData also checks for emptiness and clears the expando if empty + // so use it instead of delete + jQuery.removeData( elem, "events", true ); + } + }, + + // Events that are safe to short-circuit if no handlers are attached. + // Native DOM events should not be added, they may have inline handlers. + customEvent: { + "getData": true, + "setData": true, + "changeData": true + }, + + trigger: function( event, data, elem, onlyHandlers ) { + // Don't do events on text and comment nodes + if ( elem && (elem.nodeType === 3 || elem.nodeType === 8) ) { + return; + } + + // Event object or event type + var cache, exclusive, i, cur, old, ontype, special, handle, eventPath, bubbleType, + type = event.type || event, + namespaces = []; + + // focus/blur morphs to focusin/out; ensure we're not firing them right now + if ( rfocusMorph.test( type + jQuery.event.triggered ) ) { + return; + } + + if ( type.indexOf( "!" ) >= 0 ) { + // Exclusive events trigger only for the exact event (no namespaces) + type = type.slice(0, -1); + exclusive = true; + } + + if ( type.indexOf( "." ) >= 0 ) { + // Namespaced trigger; create a regexp to match event type in handle() + namespaces = type.split("."); + type = namespaces.shift(); + namespaces.sort(); + } + + if ( (!elem || jQuery.event.customEvent[ type ]) && !jQuery.event.global[ type ] ) { + // No jQuery handlers for this event type, and it can't have inline handlers + return; + } + + // Caller can pass in an Event, Object, or just an event type string + event = typeof event === "object" ? + // jQuery.Event object + event[ jQuery.expando ] ? event : + // Object literal + new jQuery.Event( type, event ) : + // Just the event type (string) + new jQuery.Event( type ); + + event.type = type; + event.isTrigger = true; + event.exclusive = exclusive; + event.namespace = namespaces.join( "." ); + event.namespace_re = event.namespace? new RegExp("(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)") : null; + ontype = type.indexOf( ":" ) < 0 ? "on" + type : ""; + + // Handle a global trigger + if ( !elem ) { + + // TODO: Stop taunting the data cache; remove global events and always attach to document + cache = jQuery.cache; + for ( i in cache ) { + if ( cache[ i ].events && cache[ i ].events[ type ] ) { + jQuery.event.trigger( event, data, cache[ i ].handle.elem, true ); + } + } + return; + } + + // Clean up the event in case it is being reused + event.result = undefined; + if ( !event.target ) { + event.target = elem; + } + + // Clone any incoming data and prepend the event, creating the handler arg list + data = data != null ? jQuery.makeArray( data ) : []; + data.unshift( event ); + + // Allow special events to draw outside the lines + special = jQuery.event.special[ type ] || {}; + if ( special.trigger && special.trigger.apply( elem, data ) === false ) { + return; + } + + // Determine event propagation path in advance, per W3C events spec (#9951) + // Bubble up to document, then to window; watch for a global ownerDocument var (#9724) + eventPath = [[ elem, special.bindType || type ]]; + if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) { + + bubbleType = special.delegateType || type; + cur = rfocusMorph.test( bubbleType + type ) ? elem : elem.parentNode; + for ( old = elem; cur; cur = cur.parentNode ) { + eventPath.push([ cur, bubbleType ]); + old = cur; + } + + // Only add window if we got to document (e.g., not plain obj or detached DOM) + if ( old === (elem.ownerDocument || document) ) { + eventPath.push([ old.defaultView || old.parentWindow || window, bubbleType ]); + } + } + + // Fire handlers on the event path + for ( i = 0; i < eventPath.length && !event.isPropagationStopped(); i++ ) { + + cur = eventPath[i][0]; + event.type = eventPath[i][1]; + + handle = ( jQuery._data( cur, "events" ) || {} )[ event.type ] && jQuery._data( cur, "handle" ); + if ( handle ) { + handle.apply( cur, data ); + } + // Note that this is a bare JS function and not a jQuery handler + handle = ontype && cur[ ontype ]; + if ( handle && jQuery.acceptData( cur ) && handle.apply && handle.apply( cur, data ) === false ) { + event.preventDefault(); + } + } + event.type = type; + + // If nobody prevented the default action, do it now + if ( !onlyHandlers && !event.isDefaultPrevented() ) { + + if ( (!special._default || special._default.apply( elem.ownerDocument, data ) === false) && + !(type === "click" && jQuery.nodeName( elem, "a" )) && jQuery.acceptData( elem ) ) { + + // Call a native DOM method on the target with the same name name as the event. + // Can't use an .isFunction() check here because IE6/7 fails that test. + // Don't do default actions on window, that's where global variables be (#6170) + // IE<9 dies on focus/blur to hidden element (#1486) + if ( ontype && elem[ type ] && ((type !== "focus" && type !== "blur") || event.target.offsetWidth !== 0) && !jQuery.isWindow( elem ) ) { + + // Don't re-trigger an onFOO event when we call its FOO() method + old = elem[ ontype ]; + + if ( old ) { + elem[ ontype ] = null; + } + + // Prevent re-triggering of the same event, since we already bubbled it above + jQuery.event.triggered = type; + elem[ type ](); + jQuery.event.triggered = undefined; + + if ( old ) { + elem[ ontype ] = old; + } + } + } + } + + return event.result; + }, + + dispatch: function( event ) { + + // Make a writable jQuery.Event from the native event object + event = jQuery.event.fix( event || window.event ); + + var i, j, cur, ret, selMatch, matched, matches, handleObj, sel, related, + handlers = ( (jQuery._data( this, "events" ) || {} )[ event.type ] || []), + delegateCount = handlers.delegateCount, + args = core_slice.call( arguments ), + run_all = !event.exclusive && !event.namespace, + special = jQuery.event.special[ event.type ] || {}, + handlerQueue = []; + + // Use the fix-ed jQuery.Event rather than the (read-only) native event + args[0] = event; + event.delegateTarget = this; + + // Call the preDispatch hook for the mapped type, and let it bail if desired + if ( special.preDispatch && special.preDispatch.call( this, event ) === false ) { + return; + } + + // Determine handlers that should run if there are delegated events + // Avoid non-left-click bubbling in Firefox (#3861) + if ( delegateCount && !(event.button && event.type === "click") ) { + + for ( cur = event.target; cur != this; cur = cur.parentNode || this ) { + + // Don't process clicks (ONLY) on disabled elements (#6911, #8165, #11382, #11764) + if ( cur.disabled !== true || event.type !== "click" ) { + selMatch = {}; + matches = []; + for ( i = 0; i < delegateCount; i++ ) { + handleObj = handlers[ i ]; + sel = handleObj.selector; + + if ( selMatch[ sel ] === undefined ) { + selMatch[ sel ] = handleObj.needsContext ? + jQuery( sel, this ).index( cur ) >= 0 : + jQuery.find( sel, this, null, [ cur ] ).length; + } + if ( selMatch[ sel ] ) { + matches.push( handleObj ); + } + } + if ( matches.length ) { + handlerQueue.push({ elem: cur, matches: matches }); + } + } + } + } + + // Add the remaining (directly-bound) handlers + if ( handlers.length > delegateCount ) { + handlerQueue.push({ elem: this, matches: handlers.slice( delegateCount ) }); + } + + // Run delegates first; they may want to stop propagation beneath us + for ( i = 0; i < handlerQueue.length && !event.isPropagationStopped(); i++ ) { + matched = handlerQueue[ i ]; + event.currentTarget = matched.elem; + + for ( j = 0; j < matched.matches.length && !event.isImmediatePropagationStopped(); j++ ) { + handleObj = matched.matches[ j ]; + + // Triggered event must either 1) be non-exclusive and have no namespace, or + // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace). + if ( run_all || (!event.namespace && !handleObj.namespace) || event.namespace_re && event.namespace_re.test( handleObj.namespace ) ) { + + event.data = handleObj.data; + event.handleObj = handleObj; + + ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler ) + .apply( matched.elem, args ); + + if ( ret !== undefined ) { + event.result = ret; + if ( ret === false ) { + event.preventDefault(); + event.stopPropagation(); + } + } + } + } + } + + // Call the postDispatch hook for the mapped type + if ( special.postDispatch ) { + special.postDispatch.call( this, event ); + } + + return event.result; + }, + + // Includes some event props shared by KeyEvent and MouseEvent + // *** attrChange attrName relatedNode srcElement are not normalized, non-W3C, deprecated, will be removed in 1.8 *** + props: "attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), + + fixHooks: {}, + + keyHooks: { + props: "char charCode key keyCode".split(" "), + filter: function( event, original ) { + + // Add which for key events + if ( event.which == null ) { + event.which = original.charCode != null ? original.charCode : original.keyCode; + } + + return event; + } + }, + + mouseHooks: { + props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), + filter: function( event, original ) { + var eventDoc, doc, body, + button = original.button, + fromElement = original.fromElement; + + // Calculate pageX/Y if missing and clientX/Y available + if ( event.pageX == null && original.clientX != null ) { + eventDoc = event.target.ownerDocument || document; + doc = eventDoc.documentElement; + body = eventDoc.body; + + event.pageX = original.clientX + ( doc && doc.scrollLeft || body && body.scrollLeft || 0 ) - ( doc && doc.clientLeft || body && body.clientLeft || 0 ); + event.pageY = original.clientY + ( doc && doc.scrollTop || body && body.scrollTop || 0 ) - ( doc && doc.clientTop || body && body.clientTop || 0 ); + } + + // Add relatedTarget, if necessary + if ( !event.relatedTarget && fromElement ) { + event.relatedTarget = fromElement === event.target ? original.toElement : fromElement; + } + + // Add which for click: 1 === left; 2 === middle; 3 === right + // Note: button is not normalized, so don't use it + if ( !event.which && button !== undefined ) { + event.which = ( button & 1 ? 1 : ( button & 2 ? 3 : ( button & 4 ? 2 : 0 ) ) ); + } + + return event; + } + }, + + fix: function( event ) { + if ( event[ jQuery.expando ] ) { + return event; + } + + // Create a writable copy of the event object and normalize some properties + var i, prop, + originalEvent = event, + fixHook = jQuery.event.fixHooks[ event.type ] || {}, + copy = fixHook.props ? this.props.concat( fixHook.props ) : this.props; + + event = jQuery.Event( originalEvent ); + + for ( i = copy.length; i; ) { + prop = copy[ --i ]; + event[ prop ] = originalEvent[ prop ]; + } + + // Fix target property, if necessary (#1925, IE 6/7/8 & Safari2) + if ( !event.target ) { + event.target = originalEvent.srcElement || document; + } + + // Target should not be a text node (#504, Safari) + if ( event.target.nodeType === 3 ) { + event.target = event.target.parentNode; + } + + // For mouse/key events, metaKey==false if it's undefined (#3368, #11328; IE6/7/8) + event.metaKey = !!event.metaKey; + + return fixHook.filter? fixHook.filter( event, originalEvent ) : event; + }, + + special: { + load: { + // Prevent triggered image.load events from bubbling to window.load + noBubble: true + }, + + focus: { + delegateType: "focusin" + }, + blur: { + delegateType: "focusout" + }, + + 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; + } + } + } + }, + + simulate: function( type, elem, event, bubble ) { + // 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. + var e = jQuery.extend( + new jQuery.Event(), + event, + { type: type, + isSimulated: true, + originalEvent: {} + } + ); + if ( bubble ) { + jQuery.event.trigger( e, null, elem ); + } else { + jQuery.event.dispatch.call( elem, e ); + } + if ( e.isDefaultPrevented() ) { + event.preventDefault(); + } + } +}; + +// Some plugins are using, but it's undocumented/deprecated and will be removed. +// The 1.7 special event interface should provide all the hooks needed now. +jQuery.event.handle = jQuery.event.dispatch; + +jQuery.removeEvent = document.removeEventListener ? + function( elem, type, handle ) { + if ( elem.removeEventListener ) { + elem.removeEventListener( type, handle, false ); + } + } : + function( elem, type, handle ) { + var name = "on" + type; + + if ( elem.detachEvent ) { + + // #8545, #7054, preventing memory leaks for custom events in IE6-8 – + // detachEvent needed property on element, by name of that event, to properly expose it to GC + if ( typeof elem[ name ] === "undefined" ) { + elem[ name ] = null; + } + + elem.detachEvent( name, handle ); + } + }; + +jQuery.Event = function( src, props ) { + // Allow instantiation without the 'new' keyword + if ( !(this instanceof jQuery.Event) ) { + return new jQuery.Event( src, props ); + } + + // 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; + } + + // Put explicitly provided properties onto the event object + if ( props ) { + jQuery.extend( this, props ); + } + + // Create a timestamp if incoming event doesn't have one + this.timeStamp = src && src.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 +}; + +// Create mouseenter/leave events using mouseover/out and event-time checks +jQuery.each({ + mouseenter: "mouseover", + mouseleave: "mouseout" +}, function( orig, fix ) { + jQuery.event.special[ orig ] = { + delegateType: fix, + bindType: fix, + + handle: function( event ) { + var ret, + target = this, + related = event.relatedTarget, + handleObj = event.handleObj, + selector = handleObj.selector; + + // For mousenter/leave call the handler if related is outside the target. + // NB: No relatedTarget if the mouse left/entered the browser window + if ( !related || (related !== target && !jQuery.contains( target, related )) ) { + event.type = handleObj.origType; + ret = handleObj.handler.apply( this, arguments ); + event.type = fix; + } + return ret; + } + }; +}); + +// IE submit delegation +if ( !jQuery.support.submitBubbles ) { + + jQuery.event.special.submit = { + setup: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Lazy-add a submit handler when a descendant form may potentially be submitted + jQuery.event.add( this, "click._submit keypress._submit", function( e ) { + // Node name check avoids a VML-related crash in IE (#9807) + var elem = e.target, + form = jQuery.nodeName( elem, "input" ) || jQuery.nodeName( elem, "button" ) ? elem.form : undefined; + if ( form && !jQuery._data( form, "_submit_attached" ) ) { + jQuery.event.add( form, "submit._submit", function( event ) { + event._submit_bubble = true; + }); + jQuery._data( form, "_submit_attached", true ); + } + }); + // return undefined since we don't need an event listener + }, + + postDispatch: function( event ) { + // If form was submitted by the user, bubble the event up the tree + if ( event._submit_bubble ) { + delete event._submit_bubble; + if ( this.parentNode && !event.isTrigger ) { + jQuery.event.simulate( "submit", this.parentNode, event, true ); + } + } + }, + + teardown: function() { + // Only need this for delegated form submit events + if ( jQuery.nodeName( this, "form" ) ) { + return false; + } + + // Remove delegated handlers; cleanData eventually reaps submit handlers attached above + jQuery.event.remove( this, "._submit" ); + } + }; +} + +// IE change delegation and checkbox/radio fix +if ( !jQuery.support.changeBubbles ) { + + jQuery.event.special.change = { + + setup: function() { + + if ( rformElems.test( this.nodeName ) ) { + // IE doesn't fire change on a check/radio until blur; trigger it on click + // after a propertychange. Eat the blur-change in special.change.handle. + // This still fires onchange a second time for check/radio after blur. + if ( this.type === "checkbox" || this.type === "radio" ) { + jQuery.event.add( this, "propertychange._change", function( event ) { + if ( event.originalEvent.propertyName === "checked" ) { + this._just_changed = true; + } + }); + jQuery.event.add( this, "click._change", function( event ) { + if ( this._just_changed && !event.isTrigger ) { + this._just_changed = false; + } + // Allow triggered, simulated change events (#11500) + jQuery.event.simulate( "change", this, event, true ); + }); + } + return false; + } + // Delegated event; lazy-add a change handler on descendant inputs + jQuery.event.add( this, "beforeactivate._change", function( e ) { + var elem = e.target; + + if ( rformElems.test( elem.nodeName ) && !jQuery._data( elem, "_change_attached" ) ) { + jQuery.event.add( elem, "change._change", function( event ) { + if ( this.parentNode && !event.isSimulated && !event.isTrigger ) { + jQuery.event.simulate( "change", this.parentNode, event, true ); + } + }); + jQuery._data( elem, "_change_attached", true ); + } + }); + }, + + handle: function( event ) { + var elem = event.target; + + // Swallow native change events from checkbox/radio, we already triggered them above + if ( this !== elem || event.isSimulated || event.isTrigger || (elem.type !== "radio" && elem.type !== "checkbox") ) { + return event.handleObj.handler.apply( this, arguments ); + } + }, + + teardown: function() { + jQuery.event.remove( this, "._change" ); + + return !rformElems.test( this.nodeName ); + } + }; +} + +// Create "bubbling" focus and blur events +if ( !jQuery.support.focusinBubbles ) { + jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) { + + // Attach a single capturing handler while someone wants focusin/focusout + var attaches = 0, + handler = function( event ) { + jQuery.event.simulate( fix, event.target, jQuery.event.fix( event ), true ); + }; + + jQuery.event.special[ fix ] = { + setup: function() { + if ( attaches++ === 0 ) { + document.addEventListener( orig, handler, true ); + } + }, + teardown: function() { + if ( --attaches === 0 ) { + document.removeEventListener( orig, handler, true ); + } + } + }; + }); +} + +jQuery.fn.extend({ + + on: function( types, selector, data, fn, /*INTERNAL*/ one ) { + var origFn, type; + + // Types can be a map of types/handlers + if ( typeof types === "object" ) { + // ( types-Object, selector, data ) + if ( typeof selector !== "string" ) { // && selector != null + // ( types-Object, data ) + data = data || selector; + selector = undefined; + } + for ( type in types ) { + this.on( type, selector, data, types[ type ], one ); + } + return this; + } + + if ( data == null && fn == null ) { + // ( types, fn ) + fn = selector; + data = selector = undefined; + } else if ( fn == null ) { + if ( typeof selector === "string" ) { + // ( types, selector, fn ) + fn = data; + data = undefined; + } else { + // ( types, data, fn ) + fn = data; + data = selector; + selector = undefined; + } + } + if ( fn === false ) { + fn = returnFalse; + } else if ( !fn ) { + return this; + } + + if ( one === 1 ) { + origFn = fn; + fn = function( event ) { + // Can use an empty set, since event contains the info + jQuery().off( event ); + return origFn.apply( this, arguments ); + }; + // Use same guid so caller can remove using origFn + fn.guid = origFn.guid || ( origFn.guid = jQuery.guid++ ); + } + return this.each( function() { + jQuery.event.add( this, types, fn, data, selector ); + }); + }, + one: function( types, selector, data, fn ) { + return this.on( types, selector, data, fn, 1 ); + }, + off: function( types, selector, fn ) { + var handleObj, type; + if ( types && types.preventDefault && types.handleObj ) { + // ( event ) dispatched jQuery.Event + handleObj = types.handleObj; + jQuery( types.delegateTarget ).off( + handleObj.namespace ? handleObj.origType + "." + handleObj.namespace : handleObj.origType, + handleObj.selector, + handleObj.handler + ); + return this; + } + if ( typeof types === "object" ) { + // ( types-object [, selector] ) + for ( type in types ) { + this.off( type, selector, types[ type ] ); + } + return this; + } + if ( selector === false || typeof selector === "function" ) { + // ( types [, fn] ) + fn = selector; + selector = undefined; + } + if ( fn === false ) { + fn = returnFalse; + } + return this.each(function() { + jQuery.event.remove( this, types, fn, selector ); + }); + }, + + bind: function( types, data, fn ) { + return this.on( types, null, data, fn ); + }, + unbind: function( types, fn ) { + return this.off( types, null, fn ); + }, + + live: function( types, data, fn ) { + jQuery( this.context ).on( types, this.selector, data, fn ); + return this; + }, + die: function( types, fn ) { + jQuery( this.context ).off( types, this.selector || "**", fn ); + return this; + }, + + delegate: function( selector, types, data, fn ) { + return this.on( types, selector, data, fn ); + }, + undelegate: function( selector, types, fn ) { + // ( namespace ) or ( selector, types [, fn] ) + return arguments.length === 1 ? this.off( selector, "**" ) : this.off( types, selector || "**", fn ); + }, + + trigger: function( type, data ) { + return this.each(function() { + jQuery.event.trigger( type, data, this ); + }); + }, + triggerHandler: function( type, data ) { + if ( this[0] ) { + return jQuery.event.trigger( type, data, this[0], true ); + } + }, + + toggle: function( fn ) { + // Save reference to arguments for access in closure + var args = arguments, + guid = fn.guid || jQuery.guid++, + i = 0, + toggler = 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; + }; + + // link all the functions, so any of them can unbind this click handler + toggler.guid = guid; + while ( i < args.length ) { + args[ i++ ].guid = guid; + } + + return this.click( toggler ); + }, + + hover: function( fnOver, fnOut ) { + return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver ); + } +}); + +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 contextmenu").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.on( name, null, data, fn ) : + this.trigger( name ); + }; + + if ( rkeyEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.keyHooks; + } + + if ( rmouseEvent.test( name ) ) { + jQuery.event.fixHooks[ name ] = jQuery.event.mouseHooks; + } +}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2012 jQuery Foundation and other contributors + * Released under the MIT license + * http://sizzlejs.com/ + */ +(function( window, undefined ) { + +var cachedruns, + assertGetIdNotName, + Expr, + getText, + isXML, + contains, + compile, + sortOrder, + hasDuplicate, + outermostContext, + + baseHasDuplicate = true, + strundefined = "undefined", + + expando = ( "sizcache" + Math.random() ).replace( ".", "" ), + + Token = String, + document = window.document, + docElem = document.documentElement, + dirruns = 0, + done = 0, + pop = [].pop, + push = [].push, + slice = [].slice, + // Use a stripped-down indexOf if a native one is unavailable + indexOf = [].indexOf || function( elem ) { + var i = 0, + len = this.length; + for ( ; i < len; i++ ) { + if ( this[i] === elem ) { + return i; + } + } + return -1; + }, + + // Augment a function for special use by Sizzle + markFunction = function( fn, value ) { + fn[ expando ] = value == null || value; + return fn; + }, + + createCache = function() { + var cache = {}, + keys = []; + + return markFunction(function( key, value ) { + // Only keep the most recent entries + if ( keys.push( key ) > Expr.cacheLength ) { + delete cache[ keys.shift() ]; + } + + return (cache[ key ] = value); + }, cache ); + }, + + classCache = createCache(), + tokenCache = createCache(), + compilerCache = createCache(), + + // Regex + + // Whitespace characters http://www.w3.org/TR/css3-selectors/#whitespace + whitespace = "[\\x20\\t\\r\\n\\f]", + // http://www.w3.org/TR/css3-syntax/#characters + characterEncoding = "(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+", + + // Loosely modeled on CSS identifier characters + // An unquoted value should be a CSS identifier (http://www.w3.org/TR/css3-selectors/#attribute-selectors) + // Proper syntax: http://www.w3.org/TR/CSS21/syndata.html#value-def-identifier + identifier = characterEncoding.replace( "w", "w#" ), + + // Acceptable operators http://www.w3.org/TR/selectors/#attribute-selectors + operators = "([*^$|!~]?=)", + attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace + + "*(?:" + operators + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]", + + // Prefer arguments not in parens/brackets, + // then attribute selectors and non-pseudos (denoted by :), + // then anything else + // These preferences are here to reduce the number of selectors + // needing tokenize in the PSEUDO preFilter + pseudos = ":(" + characterEncoding + ")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:" + attributes + ")|[^:]|\\\\.)*|.*))\\)|)", + + // For matchExpr.POS and matchExpr.needsContext + pos = ":(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", + + // Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter + rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g" ), + + rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ), + rcombinators = new RegExp( "^" + whitespace + "*([\\x20\\t\\r\\n\\f>+~])" + whitespace + "*" ), + rpseudo = new RegExp( pseudos ), + + // Easily-parseable/retrievable ID or TAG or CLASS selectors + rquickExpr = /^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/, + + rnot = /^:not/, + rsibling = /[\x20\t\r\n\f]*[+~]/, + rendsWithNot = /:not\($/, + + rheader = /h\d/i, + rinputs = /input|select|textarea|button/i, + + rbackslash = /\\(?!\\)/g, + + matchExpr = { + "ID": new RegExp( "^#(" + characterEncoding + ")" ), + "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ), + "NAME": new RegExp( "^\\[name=['\"]?(" + characterEncoding + ")['\"]?\\]" ), + "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ), + "ATTR": new RegExp( "^" + attributes ), + "PSEUDO": new RegExp( "^" + pseudos ), + "POS": new RegExp( pos, "i" ), + "CHILD": new RegExp( "^:(only|nth|first|last)-child(?:\\(" + whitespace + + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ), + // For use in libraries implementing .is() + "needsContext": new RegExp( "^" + whitespace + "*[>+~]|" + pos, "i" ) + }, + + // Support + + // Used for testing something on an element + assert = function( fn ) { + var div = document.createElement("div"); + + try { + return fn( div ); + } catch (e) { + return false; + } finally { + // release memory in IE + div = null; + } + }, + + // Check if getElementsByTagName("*") returns only elements + assertTagNameNoComments = assert(function( div ) { + div.appendChild( document.createComment("") ); + return !div.getElementsByTagName("*").length; + }), + + // Check if getAttribute returns normalized href attributes + assertHrefNotNormalized = assert(function( div ) { + div.innerHTML = ""; + return div.firstChild && typeof div.firstChild.getAttribute !== strundefined && + div.firstChild.getAttribute("href") === "#"; + }), + + // Check if attributes should be retrieved by attribute nodes + assertAttributes = assert(function( div ) { + div.innerHTML = ""; + var type = typeof div.lastChild.getAttribute("multiple"); + // IE8 returns a string for some attributes even when not present + return type !== "boolean" && type !== "string"; + }), + + // Check if getElementsByClassName can be trusted + assertUsableClassName = assert(function( div ) { + // Opera can't find a second classname (in 9.6) + div.innerHTML = ""; + if ( !div.getElementsByClassName || !div.getElementsByClassName("e").length ) { + return false; + } + + // Safari 3.2 caches class attributes and doesn't catch changes + div.lastChild.className = "e"; + return div.getElementsByClassName("e").length === 2; + }), + + // Check if getElementById returns elements by name + // Check if getElementsByName privileges form controls or returns elements by ID + assertUsableName = assert(function( div ) { + // Inject content + div.id = expando + 0; + div.innerHTML = "
"; + docElem.insertBefore( div, docElem.firstChild ); + + // Test + var pass = document.getElementsByName && + // buggy browsers will return fewer than the correct 2 + document.getElementsByName( expando ).length === 2 + + // buggy browsers will return more than the correct 0 + document.getElementsByName( expando + 0 ).length; + assertGetIdNotName = !document.getElementById( expando ); + + // Cleanup + docElem.removeChild( div ); + + return pass; + }); + +// If slice is not available, provide a backup +try { + slice.call( docElem.childNodes, 0 )[0].nodeType; +} catch ( e ) { + slice = function( i ) { + var elem, + results = []; + for ( ; (elem = this[i]); i++ ) { + results.push( elem ); + } + return results; + }; +} + +function Sizzle( selector, context, results, seed ) { + results = results || []; + context = context || document; + var match, elem, xml, m, + nodeType = context.nodeType; + + if ( !selector || typeof selector !== "string" ) { + return results; + } + + if ( nodeType !== 1 && nodeType !== 9 ) { + return []; + } + + xml = isXML( context ); + + if ( !xml && !seed ) { + if ( (match = rquickExpr.exec( selector )) ) { + // Speed-up: Sizzle("#ID") + if ( (m = match[1]) ) { + if ( nodeType === 9 ) { + elem = context.getElementById( m ); + // 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, Opera, and Webkit return items + // by name instead of ID + if ( elem.id === m ) { + results.push( elem ); + return results; + } + } else { + return results; + } + } else { + // Context is not a document + if ( context.ownerDocument && (elem = context.ownerDocument.getElementById( m )) && + contains( context, elem ) && elem.id === m ) { + results.push( elem ); + return results; + } + } + + // Speed-up: Sizzle("TAG") + } else if ( match[2] ) { + push.apply( results, slice.call(context.getElementsByTagName( selector ), 0) ); + return results; + + // Speed-up: Sizzle(".CLASS") + } else if ( (m = match[3]) && assertUsableClassName && context.getElementsByClassName ) { + push.apply( results, slice.call(context.getElementsByClassName( m ), 0) ); + return results; + } + } + } + + // All others + return select( selector.replace( rtrim, "$1" ), context, results, seed, xml ); +} + +Sizzle.matches = function( expr, elements ) { + return Sizzle( expr, null, null, elements ); +}; + +Sizzle.matchesSelector = function( elem, expr ) { + return Sizzle( expr, null, null, [ elem ] ).length > 0; +}; + +// Returns a function to use in pseudos for input types +function createInputPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === type; + }; +} + +// Returns a function to use in pseudos for buttons +function createButtonPseudo( type ) { + return function( elem ) { + var name = elem.nodeName.toLowerCase(); + return (name === "input" || name === "button") && elem.type === type; + }; +} + +// Returns a function to use in pseudos for positionals +function createPositionalPseudo( fn ) { + return markFunction(function( argument ) { + argument = +argument; + return markFunction(function( seed, matches ) { + var j, + matchIndexes = fn( [], seed.length, argument ), + i = matchIndexes.length; + + // Match elements found at the specified indexes + while ( i-- ) { + if ( seed[ (j = matchIndexes[i]) ] ) { + seed[j] = !(matches[j] = seed[j]); + } + } + }); + }); +} + +/** + * Utility function for retrieving the text value of an array of DOM nodes + * @param {Array|Element} elem + */ +getText = Sizzle.getText = function( elem ) { + var node, + ret = "", + i = 0, + nodeType = elem.nodeType; + + if ( nodeType ) { + if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) { + // Use textContent for elements + // innerText usage removed for consistency of new lines (see #11153) + if ( typeof elem.textContent === "string" ) { + return elem.textContent; + } else { + // Traverse its children + for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) { + ret += getText( elem ); + } + } + } else if ( nodeType === 3 || nodeType === 4 ) { + return elem.nodeValue; + } + // Do not include comment or processing instruction nodes + } else { + + // If no nodeType, this is expected to be an array + for ( ; (node = elem[i]); i++ ) { + // Do not traverse comment nodes + ret += getText( node ); + } + } + return ret; +}; + +isXML = 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).documentElement; + return documentElement ? documentElement.nodeName !== "HTML" : false; +}; + +// Element contains another +contains = Sizzle.contains = docElem.contains ? + function( a, b ) { + var adown = a.nodeType === 9 ? a.documentElement : a, + bup = b && b.parentNode; + return a === bup || !!( bup && bup.nodeType === 1 && adown.contains && adown.contains(bup) ); + } : + docElem.compareDocumentPosition ? + function( a, b ) { + return b && !!( a.compareDocumentPosition( b ) & 16 ); + } : + function( a, b ) { + while ( (b = b.parentNode) ) { + if ( b === a ) { + return true; + } + } + return false; + }; + +Sizzle.attr = function( elem, name ) { + var val, + xml = isXML( elem ); + + if ( !xml ) { + name = name.toLowerCase(); + } + if ( (val = Expr.attrHandle[ name ]) ) { + return val( elem ); + } + if ( xml || assertAttributes ) { + return elem.getAttribute( name ); + } + val = elem.getAttributeNode( name ); + return val ? + typeof elem[ name ] === "boolean" ? + elem[ name ] ? name : null : + val.specified ? val.value : null : + null; +}; + +Expr = Sizzle.selectors = { + + // Can be adjusted by the user + cacheLength: 50, + + createPseudo: markFunction, + + match: matchExpr, + + // IE6/7 return a modified href + attrHandle: assertHrefNotNormalized ? + {} : + { + "href": function( elem ) { + return elem.getAttribute( "href", 2 ); + }, + "type": function( elem ) { + return elem.getAttribute("type"); + } + }, + + find: { + "ID": assertGetIdNotName ? + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + // Check parentNode to catch when Blackberry 4.6 returns + // nodes that are no longer in the document #6963 + return m && m.parentNode ? [m] : []; + } + } : + function( id, context, xml ) { + if ( typeof context.getElementById !== strundefined && !xml ) { + var m = context.getElementById( id ); + + return m ? + m.id === id || typeof m.getAttributeNode !== strundefined && m.getAttributeNode("id").value === id ? + [m] : + undefined : + []; + } + }, + + "TAG": assertTagNameNoComments ? + function( tag, context ) { + if ( typeof context.getElementsByTagName !== strundefined ) { + return context.getElementsByTagName( tag ); + } + } : + function( tag, context ) { + var results = context.getElementsByTagName( tag ); + + // Filter out possible comments + if ( tag === "*" ) { + var elem, + tmp = [], + i = 0; + + for ( ; (elem = results[i]); i++ ) { + if ( elem.nodeType === 1 ) { + tmp.push( elem ); + } + } + + return tmp; + } + return results; + }, + + "NAME": assertUsableName && function( tag, context ) { + if ( typeof context.getElementsByName !== strundefined ) { + return context.getElementsByName( name ); + } + }, + + "CLASS": assertUsableClassName && function( className, context, xml ) { + if ( typeof context.getElementsByClassName !== strundefined && !xml ) { + return context.getElementsByClassName( className ); + } + } + }, + + relative: { + ">": { dir: "parentNode", first: true }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: true }, + "~": { dir: "previousSibling" } + }, + + preFilter: { + "ATTR": function( match ) { + match[1] = match[1].replace( rbackslash, "" ); + + // Move the given value to match[3] whether quoted or unquoted + match[3] = ( match[4] || match[5] || "" ).replace( rbackslash, "" ); + + if ( match[2] === "~=" ) { + match[3] = " " + match[3] + " "; + } + + return match.slice( 0, 4 ); + }, + + "CHILD": function( match ) { + /* matches from matchExpr["CHILD"] + 1 type (only|nth|...) + 2 argument (even|odd|\d*|\d*n([+-]\d+)?|...) + 3 xn-component of xn+y argument ([+-]?\d*n|) + 4 sign of xn-component + 5 x of xn-component + 6 sign of y-component + 7 y of y-component + */ + match[1] = match[1].toLowerCase(); + + if ( match[1] === "nth" ) { + // nth-child requires argument + if ( !match[2] ) { + Sizzle.error( match[0] ); + } + + // numeric x and y parameters for Expr.filter.CHILD + // remember that false/true cast respectively to 0/1 + match[3] = +( match[3] ? match[4] + (match[5] || 1) : 2 * ( match[2] === "even" || match[2] === "odd" ) ); + match[4] = +( ( match[6] + match[7] ) || match[2] === "odd" ); + + // other types prohibit arguments + } else if ( match[2] ) { + Sizzle.error( match[0] ); + } + + return match; + }, + + "PSEUDO": function( match ) { + var unquoted, excess; + if ( matchExpr["CHILD"].test( match[0] ) ) { + return null; + } + + if ( match[3] ) { + match[2] = match[3]; + } else if ( (unquoted = match[4]) ) { + // Only check arguments that contain a pseudo + if ( rpseudo.test(unquoted) && + // Get excess from tokenize (recursively) + (excess = tokenize( unquoted, true )) && + // advance to the next closing parenthesis + (excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length) ) { + + // excess is a negative index + unquoted = unquoted.slice( 0, excess ); + match[0] = match[0].slice( 0, excess ); + } + match[2] = unquoted; + } + + // Return only captures needed by the pseudo filter method (type and argument) + return match.slice( 0, 3 ); + } + }, + + filter: { + "ID": assertGetIdNotName ? + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + return elem.getAttribute("id") === id; + }; + } : + function( id ) { + id = id.replace( rbackslash, "" ); + return function( elem ) { + var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id"); + return node && node.value === id; + }; + }, + + "TAG": function( nodeName ) { + if ( nodeName === "*" ) { + return function() { return true; }; + } + nodeName = nodeName.replace( rbackslash, "" ).toLowerCase(); + + return function( elem ) { + return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; + }; + }, + + "CLASS": function( className ) { + var pattern = classCache[ expando ][ className ]; + if ( !pattern ) { + pattern = classCache( className, new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)") ); + } + return function( elem ) { + return pattern.test( elem.className || (typeof elem.getAttribute !== strundefined && elem.getAttribute("class")) || "" ); + }; + }, + + "ATTR": function( name, operator, check ) { + return function( elem, context ) { + var result = Sizzle.attr( elem, name ); + + if ( result == null ) { + return operator === "!="; + } + if ( !operator ) { + return true; + } + + result += ""; + + return operator === "=" ? result === check : + operator === "!=" ? result !== check : + operator === "^=" ? check && result.indexOf( check ) === 0 : + operator === "*=" ? check && result.indexOf( check ) > -1 : + operator === "$=" ? check && result.substr( result.length - check.length ) === check : + operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 : + operator === "|=" ? result === check || result.substr( 0, check.length + 1 ) === check + "-" : + false; + }; + }, + + "CHILD": function( type, argument, first, last ) { + + if ( type === "nth" ) { + return function( elem ) { + var node, diff, + parent = elem.parentNode; + + if ( first === 1 && last === 0 ) { + return true; + } + + if ( parent ) { + diff = 0; + for ( node = parent.firstChild; node; node = node.nextSibling ) { + if ( node.nodeType === 1 ) { + diff++; + if ( elem === node ) { + break; + } + } + } + } + + // Incorporate the offset (or cast to NaN), then check against cycle size + diff -= last; + return diff === first || ( diff % first === 0 && diff / first >= 0 ); + }; + } + + return function( elem ) { + var 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; + + /* falls through */ + case "last": + while ( (node = node.nextSibling) ) { + if ( node.nodeType === 1 ) { + return false; + } + } + + return true; + } + }; + }, + + "PSEUDO": function( pseudo, argument ) { + // pseudo-class names are case-insensitive + // http://www.w3.org/TR/selectors/#pseudo-classes + // Prioritize by case sensitivity in case custom pseudos are added with uppercase letters + // Remember that setFilters inherits from pseudos + var args, + fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] || + Sizzle.error( "unsupported pseudo: " + pseudo ); + + // The user may use createPseudo to indicate that + // arguments are needed to create the filter function + // just as Sizzle does + if ( fn[ expando ] ) { + return fn( argument ); + } + + // But maintain support for old signatures + if ( fn.length > 1 ) { + args = [ pseudo, pseudo, "", argument ]; + return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ? + markFunction(function( seed, matches ) { + var idx, + matched = fn( seed, argument ), + i = matched.length; + while ( i-- ) { + idx = indexOf.call( seed, matched[i] ); + seed[ idx ] = !( matches[ idx ] = matched[i] ); + } + }) : + function( elem ) { + return fn( elem, 0, args ); + }; + } + + return fn; + } + }, + + pseudos: { + "not": markFunction(function( selector ) { + // Trim the selector passed to compile + // to avoid treating leading and trailing + // spaces as combinators + var input = [], + results = [], + matcher = compile( selector.replace( rtrim, "$1" ) ); + + return matcher[ expando ] ? + markFunction(function( seed, matches, context, xml ) { + var elem, + unmatched = matcher( seed, null, xml, [] ), + i = seed.length; + + // Match elements unmatched by `matcher` + while ( i-- ) { + if ( (elem = unmatched[i]) ) { + seed[i] = !(matches[i] = elem); + } + } + }) : + function( elem, context, xml ) { + input[0] = elem; + matcher( input, null, xml, results ); + return !results.pop(); + }; + }), + + "has": markFunction(function( selector ) { + return function( elem ) { + return Sizzle( selector, elem ).length > 0; + }; + }), + + "contains": markFunction(function( text ) { + return function( elem ) { + return ( elem.textContent || elem.innerText || getText( elem ) ).indexOf( text ) > -1; + }; + }), + + "enabled": function( elem ) { + return elem.disabled === false; + }, + + "disabled": function( elem ) { + return elem.disabled === true; + }, + + "checked": function( elem ) { + // In CSS3, :checked should return both checked and selected elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + var nodeName = elem.nodeName.toLowerCase(); + return (nodeName === "input" && !!elem.checked) || (nodeName === "option" && !!elem.selected); + }, + + "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 !Expr.pseudos["empty"]( elem ); + }, + + "empty": function( elem ) { + // http://www.w3.org/TR/selectors/#empty-pseudo + // :empty is only affected by element nodes and content nodes(including text(3), cdata(4)), + // not comment, processing instructions, or others + // Thanks to Diego Perini for the nodeName shortcut + // Greater than "@" means alpha characters (specifically not starting with "#" or "?") + var nodeType; + elem = elem.firstChild; + while ( elem ) { + if ( elem.nodeName > "@" || (nodeType = elem.nodeType) === 3 || nodeType === 4 ) { + return false; + } + elem = elem.nextSibling; + } + return true; + }, + + "header": function( elem ) { + return rheader.test( elem.nodeName ); + }, + + "text": function( elem ) { + var type, attr; + // IE6 and 7 will map elem.type to 'text' for new HTML5 types (search, etc) + // use getAttribute instead to test this case + return elem.nodeName.toLowerCase() === "input" && + (type = elem.type) === "text" && + ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === type ); + }, + + // Input types + "radio": createInputPseudo("radio"), + "checkbox": createInputPseudo("checkbox"), + "file": createInputPseudo("file"), + "password": createInputPseudo("password"), + "image": createInputPseudo("image"), + + "submit": createButtonPseudo("submit"), + "reset": createButtonPseudo("reset"), + + "button": function( elem ) { + var name = elem.nodeName.toLowerCase(); + return name === "input" && elem.type === "button" || name === "button"; + }, + + "input": function( elem ) { + return rinputs.test( elem.nodeName ); + }, + + "focus": function( elem ) { + var doc = elem.ownerDocument; + return elem === doc.activeElement && (!doc.hasFocus || doc.hasFocus()) && !!(elem.type || elem.href); + }, + + "active": function( elem ) { + return elem === elem.ownerDocument.activeElement; + }, + + // Positional types + "first": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ 0 ]; + }), + + "last": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ length - 1 ]; + }), + + "eq": createPositionalPseudo(function( matchIndexes, length, argument ) { + return [ argument < 0 ? argument + length : argument ]; + }), + + "even": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 0; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "odd": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = 1; i < length; i += 2 ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "lt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; --i >= 0; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }), + + "gt": createPositionalPseudo(function( matchIndexes, length, argument ) { + for ( var i = argument < 0 ? argument + length : argument; ++i < length; ) { + matchIndexes.push( i ); + } + return matchIndexes; + }) + } +}; + +function siblingCheck( a, b, ret ) { + if ( a === b ) { + return ret; + } + + var cur = a.nextSibling; + + while ( cur ) { + if ( cur === b ) { + return -1; + } + + cur = cur.nextSibling; + } + + return 1; +} + +sortOrder = docElem.compareDocumentPosition ? + function( a, b ) { + if ( a === b ) { + hasDuplicate = true; + return 0; + } + + return ( !a.compareDocumentPosition || !b.compareDocumentPosition ? + a.compareDocumentPosition : + a.compareDocumentPosition(b) & 4 + ) ? -1 : 1; + } : + function( a, b ) { + // The nodes are identical, we can exit early + if ( a === b ) { + hasDuplicate = true; + return 0; + + // Fallback to using sourceIndex (in IE) if it's available on both nodes + } else if ( a.sourceIndex && b.sourceIndex ) { + return a.sourceIndex - b.sourceIndex; + } + + var al, bl, + ap = [], + bp = [], + aup = a.parentNode, + bup = b.parentNode, + cur = aup; + + // If the nodes are siblings (or identical) we can do a quick check + 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 ); + }; + +// Always assume the presence of duplicates if sort doesn't +// pass them to our comparison function (as in Google Chrome). +[0, 0].sort( sortOrder ); +baseHasDuplicate = !hasDuplicate; + +// Document sorting and removing duplicates +Sizzle.uniqueSort = function( results ) { + var elem, + i = 1; + + hasDuplicate = baseHasDuplicate; + results.sort( sortOrder ); + + if ( hasDuplicate ) { + for ( ; (elem = results[i]); i++ ) { + if ( elem === results[ i - 1 ] ) { + results.splice( i--, 1 ); + } + } + } + + return results; +}; + +Sizzle.error = function( msg ) { + throw new Error( "Syntax error, unrecognized expression: " + msg ); +}; + +function tokenize( selector, parseOnly ) { + var matched, match, tokens, type, soFar, groups, preFilters, + cached = tokenCache[ expando ][ selector ]; + + if ( cached ) { + return parseOnly ? 0 : cached.slice( 0 ); + } + + soFar = selector; + groups = []; + preFilters = Expr.preFilter; + + while ( soFar ) { + + // Comma and first run + if ( !matched || (match = rcomma.exec( soFar )) ) { + if ( match ) { + soFar = soFar.slice( match[0].length ); + } + groups.push( tokens = [] ); + } + + matched = false; + + // Combinators + if ( (match = rcombinators.exec( soFar )) ) { + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + + // Cast descendant combinators to space + matched.type = match[0].replace( rtrim, " " ); + } + + // Filters + for ( type in Expr.filter ) { + if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] || + // The last two arguments here are (context, xml) for backCompat + (match = preFilters[ type ]( match, document, true ))) ) { + + tokens.push( matched = new Token( match.shift() ) ); + soFar = soFar.slice( matched.length ); + matched.type = type; + matched.matches = match; + } + } + + if ( !matched ) { + break; + } + } + + // Return the length of the invalid excess + // if we're just parsing + // Otherwise, throw an error or return tokens + return parseOnly ? + soFar.length : + soFar ? + Sizzle.error( selector ) : + // Cache the tokens + tokenCache( selector, groups ).slice( 0 ); +} + +function addCombinator( matcher, combinator, base ) { + var dir = combinator.dir, + checkNonElements = base && combinator.dir === "parentNode", + doneName = done++; + + return combinator.first ? + // Check against closest ancestor/preceding element + function( elem, context, xml ) { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + return matcher( elem, context, xml ); + } + } + } : + + // Check against all ancestor/preceding elements + function( elem, context, xml ) { + // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching + if ( !xml ) { + var cache, + dirkey = dirruns + " " + doneName + " ", + cachedkey = dirkey + cachedruns; + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( (cache = elem[ expando ]) === cachedkey ) { + return elem.sizset; + } else if ( typeof cache === "string" && cache.indexOf(dirkey) === 0 ) { + if ( elem.sizset ) { + return elem; + } + } else { + elem[ expando ] = cachedkey; + if ( matcher( elem, context, xml ) ) { + elem.sizset = true; + return elem; + } + elem.sizset = false; + } + } + } + } else { + while ( (elem = elem[ dir ]) ) { + if ( checkNonElements || elem.nodeType === 1 ) { + if ( matcher( elem, context, xml ) ) { + return elem; + } + } + } + } + }; +} + +function elementMatcher( matchers ) { + return matchers.length > 1 ? + function( elem, context, xml ) { + var i = matchers.length; + while ( i-- ) { + if ( !matchers[i]( elem, context, xml ) ) { + return false; + } + } + return true; + } : + matchers[0]; +} + +function condense( unmatched, map, filter, context, xml ) { + var elem, + newUnmatched = [], + i = 0, + len = unmatched.length, + mapped = map != null; + + for ( ; i < len; i++ ) { + if ( (elem = unmatched[i]) ) { + if ( !filter || filter( elem, context, xml ) ) { + newUnmatched.push( elem ); + if ( mapped ) { + map.push( i ); + } + } + } + } + + return newUnmatched; +} + +function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) { + if ( postFilter && !postFilter[ expando ] ) { + postFilter = setMatcher( postFilter ); + } + if ( postFinder && !postFinder[ expando ] ) { + postFinder = setMatcher( postFinder, postSelector ); + } + return markFunction(function( seed, results, context, xml ) { + // Positional selectors apply to seed elements, so it is invalid to follow them with relative ones + if ( seed && postFinder ) { + return; + } + + var i, elem, postFilterIn, + preMap = [], + postMap = [], + preexisting = results.length, + + // Get initial elements from seed or context + elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [], seed ), + + // Prefilter to get matcher input, preserving a map for seed-results synchronization + matcherIn = preFilter && ( seed || !selector ) ? + condense( elems, preMap, preFilter, context, xml ) : + elems, + + matcherOut = matcher ? + // If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results, + postFinder || ( seed ? preFilter : preexisting || postFilter ) ? + + // ...intermediate processing is necessary + [] : + + // ...otherwise use results directly + results : + matcherIn; + + // Find primary matches + if ( matcher ) { + matcher( matcherIn, matcherOut, context, xml ); + } + + // Apply postFilter + if ( postFilter ) { + postFilterIn = condense( matcherOut, postMap ); + postFilter( postFilterIn, [], context, xml ); + + // Un-match failing elements by moving them back to matcherIn + i = postFilterIn.length; + while ( i-- ) { + if ( (elem = postFilterIn[i]) ) { + matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem); + } + } + } + + // Keep seed and results synchronized + if ( seed ) { + // Ignore postFinder because it can't coexist with seed + i = preFilter && matcherOut.length; + while ( i-- ) { + if ( (elem = matcherOut[i]) ) { + seed[ preMap[i] ] = !(results[ preMap[i] ] = elem); + } + } + } else { + matcherOut = condense( + matcherOut === results ? + matcherOut.splice( preexisting, matcherOut.length ) : + matcherOut + ); + if ( postFinder ) { + postFinder( null, results, matcherOut, xml ); + } else { + push.apply( results, matcherOut ); + } + } + }); +} + +function matcherFromTokens( tokens ) { + var checkContext, matcher, j, + len = tokens.length, + leadingRelative = Expr.relative[ tokens[0].type ], + implicitRelative = leadingRelative || Expr.relative[" "], + i = leadingRelative ? 1 : 0, + + // The foundational matcher ensures that elements are reachable from top-level context(s) + matchContext = addCombinator( function( elem ) { + return elem === checkContext; + }, implicitRelative, true ), + matchAnyContext = addCombinator( function( elem ) { + return indexOf.call( checkContext, elem ) > -1; + }, implicitRelative, true ), + matchers = [ function( elem, context, xml ) { + return ( !leadingRelative && ( xml || context !== outermostContext ) ) || ( + (checkContext = context).nodeType ? + matchContext( elem, context, xml ) : + matchAnyContext( elem, context, xml ) ); + } ]; + + for ( ; i < len; i++ ) { + if ( (matcher = Expr.relative[ tokens[i].type ]) ) { + matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ]; + } else { + // The concatenated values are (context, xml) for backCompat + matcher = Expr.filter[ tokens[i].type ].apply( null, tokens[i].matches ); + + // Return special upon seeing a positional matcher + if ( matcher[ expando ] ) { + // Find the next relative operator (if any) for proper handling + j = ++i; + for ( ; j < len; j++ ) { + if ( Expr.relative[ tokens[j].type ] ) { + break; + } + } + return setMatcher( + i > 1 && elementMatcher( matchers ), + i > 1 && tokens.slice( 0, i - 1 ).join("").replace( rtrim, "$1" ), + matcher, + i < j && matcherFromTokens( tokens.slice( i, j ) ), + j < len && matcherFromTokens( (tokens = tokens.slice( j )) ), + j < len && tokens.join("") + ); + } + matchers.push( matcher ); + } + } + + return elementMatcher( matchers ); +} + +function matcherFromGroupMatchers( elementMatchers, setMatchers ) { + var bySet = setMatchers.length > 0, + byElement = elementMatchers.length > 0, + superMatcher = function( seed, context, xml, results, expandContext ) { + var elem, j, matcher, + setMatched = [], + matchedCount = 0, + i = "0", + unmatched = seed && [], + outermost = expandContext != null, + contextBackup = outermostContext, + // We must always have either seed elements or context + elems = seed || byElement && Expr.find["TAG"]( "*", expandContext && context.parentNode || context ), + // Nested matchers should use non-integer dirruns + dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.E); + + if ( outermost ) { + outermostContext = context !== document && context; + cachedruns = superMatcher.el; + } + + // Add elements passing elementMatchers directly to results + for ( ; (elem = elems[i]) != null; i++ ) { + if ( byElement && elem ) { + for ( j = 0; (matcher = elementMatchers[j]); j++ ) { + if ( matcher( elem, context, xml ) ) { + results.push( elem ); + break; + } + } + if ( outermost ) { + dirruns = dirrunsUnique; + cachedruns = ++superMatcher.el; + } + } + + // Track unmatched elements for set filters + if ( bySet ) { + // They will have gone through all possible matchers + if ( (elem = !matcher && elem) ) { + matchedCount--; + } + + // Lengthen the array for every element, matched or not + if ( seed ) { + unmatched.push( elem ); + } + } + } + + // Apply set filters to unmatched elements + matchedCount += i; + if ( bySet && i !== matchedCount ) { + for ( j = 0; (matcher = setMatchers[j]); j++ ) { + matcher( unmatched, setMatched, context, xml ); + } + + if ( seed ) { + // Reintegrate element matches to eliminate the need for sorting + if ( matchedCount > 0 ) { + while ( i-- ) { + if ( !(unmatched[i] || setMatched[i]) ) { + setMatched[i] = pop.call( results ); + } + } + } + + // Discard index placeholder values to get only actual matches + setMatched = condense( setMatched ); + } + + // Add matches to results + push.apply( results, setMatched ); + + // Seedless set matches succeeding multiple successful matchers stipulate sorting + if ( outermost && !seed && setMatched.length > 0 && + ( matchedCount + setMatchers.length ) > 1 ) { + + Sizzle.uniqueSort( results ); + } + } + + // Override manipulation of globals by nested matchers + if ( outermost ) { + dirruns = dirrunsUnique; + outermostContext = contextBackup; + } + + return unmatched; + }; + + superMatcher.el = 0; + return bySet ? + markFunction( superMatcher ) : + superMatcher; +} + +compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) { + var i, + setMatchers = [], + elementMatchers = [], + cached = compilerCache[ expando ][ selector ]; + + if ( !cached ) { + // Generate a function of recursive functions that can be used to check each element + if ( !group ) { + group = tokenize( selector ); + } + i = group.length; + while ( i-- ) { + cached = matcherFromTokens( group[i] ); + if ( cached[ expando ] ) { + setMatchers.push( cached ); + } else { + elementMatchers.push( cached ); + } + } + + // Cache the compiled function + cached = compilerCache( selector, matcherFromGroupMatchers( elementMatchers, setMatchers ) ); + } + return cached; +}; + +function multipleContexts( selector, contexts, results, seed ) { + var i = 0, + len = contexts.length; + for ( ; i < len; i++ ) { + Sizzle( selector, contexts[i], results, seed ); + } + return results; +} + +function select( selector, context, results, seed, xml ) { + var i, tokens, token, type, find, + match = tokenize( selector ), + j = match.length; + + if ( !seed ) { + // Try to minimize operations if there is only one group + if ( match.length === 1 ) { + + // Take a shortcut and set the context if the root selector is an ID + tokens = match[0] = match[0].slice( 0 ); + if ( tokens.length > 2 && (token = tokens[0]).type === "ID" && + context.nodeType === 9 && !xml && + Expr.relative[ tokens[1].type ] ) { + + context = Expr.find["ID"]( token.matches[0].replace( rbackslash, "" ), context, xml )[0]; + if ( !context ) { + return results; + } + + selector = selector.slice( tokens.shift().length ); + } + + // Fetch a seed set for right-to-left matching + for ( i = matchExpr["POS"].test( selector ) ? -1 : tokens.length - 1; i >= 0; i-- ) { + token = tokens[i]; + + // Abort if we hit a combinator + if ( Expr.relative[ (type = token.type) ] ) { + break; + } + if ( (find = Expr.find[ type ]) ) { + // Search, expanding context for leading sibling combinators + if ( (seed = find( + token.matches[0].replace( rbackslash, "" ), + rsibling.test( tokens[0].type ) && context.parentNode || context, + xml + )) ) { + + // If seed is empty or no tokens remain, we can return early + tokens.splice( i, 1 ); + selector = seed.length && tokens.join(""); + if ( !selector ) { + push.apply( results, slice.call( seed, 0 ) ); + return results; + } + + break; + } + } + } + } + } + + // Compile and execute a filtering function + // Provide `match` to avoid retokenization if we modified the selector above + compile( selector, match )( + seed, + context, + xml, + results, + rsibling.test( selector ) + ); + return results; +} + +if ( document.querySelectorAll ) { + (function() { + var disconnectedMatch, + oldSelect = select, + rescape = /'|\\/g, + rattributeQuotes = /\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, + + // qSa(:focus) reports false when true (Chrome 21), + // A support test would require too much code (would include document ready) + rbuggyQSA = [":focus"], + + // matchesSelector(:focus) reports false when true (Chrome 21), + // matchesSelector(:active) reports false when true (IE9/Opera 11.5) + // A support test would require too much code (would include document ready) + // just skip matchesSelector for :active + rbuggyMatches = [ ":active", ":focus" ], + matches = docElem.matchesSelector || + docElem.mozMatchesSelector || + docElem.webkitMatchesSelector || + docElem.oMatchesSelector || + docElem.msMatchesSelector; + + // Build QSA regex + // Regex strategy adopted from Diego Perini + assert(function( div ) { + // Select is set to empty string on purpose + // This is to test IE's treatment of not explictly + // setting a boolean content attribute, + // since its presence should be enough + // http://bugs.jquery.com/ticket/12359 + div.innerHTML = ""; + + // IE8 - Some boolean attributes are not treated correctly + if ( !div.querySelectorAll("[selected]").length ) { + rbuggyQSA.push( "\\[" + whitespace + "*(?:checked|disabled|ismap|multiple|readonly|selected|value)" ); + } + + // Webkit/Opera - :checked should return selected option elements + // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked + // IE8 throws error here (do not put tests after this one) + if ( !div.querySelectorAll(":checked").length ) { + rbuggyQSA.push(":checked"); + } + }); + + assert(function( div ) { + + // Opera 10-12/IE9 - ^= $= *= and empty values + // Should not select anything + div.innerHTML = "

"; + if ( div.querySelectorAll("[test^='']").length ) { + rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:\"\"|'')" ); + } + + // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled) + // IE8 throws error here (do not put tests after this one) + div.innerHTML = ""; + if ( !div.querySelectorAll(":enabled").length ) { + rbuggyQSA.push(":enabled", ":disabled"); + } + }); + + // rbuggyQSA always contains :focus, so no need for a length check + rbuggyQSA = /* rbuggyQSA.length && */ new RegExp( rbuggyQSA.join("|") ); + + select = function( selector, context, results, seed, xml ) { + // Only use querySelectorAll when not filtering, + // when this is not xml, + // and when no QSA bugs apply + if ( !seed && !xml && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) { + var groups, i, + old = true, + nid = expando, + newContext = context, + newSelector = context.nodeType === 9 && selector; + + // 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 + if ( context.nodeType === 1 && context.nodeName.toLowerCase() !== "object" ) { + groups = tokenize( selector ); + + if ( (old = context.getAttribute("id")) ) { + nid = old.replace( rescape, "\\$&" ); + } else { + context.setAttribute( "id", nid ); + } + nid = "[id='" + nid + "'] "; + + i = groups.length; + while ( i-- ) { + groups[i] = nid + groups[i].join(""); + } + newContext = rsibling.test( selector ) && context.parentNode || context; + newSelector = groups.join(","); + } + + if ( newSelector ) { + try { + push.apply( results, slice.call( newContext.querySelectorAll( + newSelector + ), 0 ) ); + return results; + } catch(qsaError) { + } finally { + if ( !old ) { + context.removeAttribute("id"); + } + } + } + } + + return oldSelect( selector, context, results, seed, xml ); + }; + + if ( matches ) { + assert(function( div ) { + // Check to see if it's possible to do matchesSelector + // on a disconnected node (IE 9) + disconnectedMatch = matches.call( div, "div" ); + + // This should fail with an exception + // Gecko does not error, returns false instead + try { + matches.call( div, "[test!='']:sizzle" ); + rbuggyMatches.push( "!=", pseudos ); + } catch ( e ) {} + }); + + // rbuggyMatches always contains :active and :focus, so no need for a length check + rbuggyMatches = /* rbuggyMatches.length && */ new RegExp( rbuggyMatches.join("|") ); + + Sizzle.matchesSelector = function( elem, expr ) { + // Make sure that attribute selectors are quoted + expr = expr.replace( rattributeQuotes, "='$1']" ); + + // rbuggyMatches always contains :active, so no need for an existence check + if ( !isXML( elem ) && !rbuggyMatches.test( expr ) && (!rbuggyQSA || !rbuggyQSA.test( expr )) ) { + try { + var ret = matches.call( elem, 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 + elem.document && elem.document.nodeType !== 11 ) { + return ret; + } + } catch(e) {} + } + + return Sizzle( expr, null, null, [ elem ] ).length > 0; + }; + } + })(); +} + +// Deprecated +Expr.pseudos["nth"] = Expr.pseudos["eq"]; + +// Back-compat +function setFilters() {} +Expr.filters = setFilters.prototype = Expr.pseudos; +Expr.setFilters = new setFilters(); + +// Override sizzle attribute retrieval +Sizzle.attr = jQuery.attr; +jQuery.find = Sizzle; +jQuery.expr = Sizzle.selectors; +jQuery.expr[":"] = jQuery.expr.pseudos; +jQuery.unique = Sizzle.uniqueSort; +jQuery.text = Sizzle.getText; +jQuery.isXMLDoc = Sizzle.isXML; +jQuery.contains = Sizzle.contains; + + +})( window ); +var runtil = /Until$/, + rparentsprev = /^(?:parents|prev(?:Until|All))/, + isSimple = /^.[^:#\[\.,]*$/, + rneedsContext = jQuery.expr.match.needsContext, + // 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 i, l, length, n, r, ret, + self = this; + + if ( typeof selector !== "string" ) { + return jQuery( selector ).filter(function() { + for ( i = 0, l = self.length; i < l; i++ ) { + if ( jQuery.contains( self[ i ], this ) ) { + return true; + } + } + }); + } + + ret = this.pushStack( "", "find", selector ); + + for ( 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 ( n = length; n < ret.length; n++ ) { + for ( r = 0; r < length; r++ ) { + if ( ret[r] === ret[n] ) { + ret.splice(n--, 1); + break; + } + } + } + } + } + + return ret; + }, + + has: function( target ) { + var i, + targets = jQuery( target, this ), + len = targets.length; + + return this.filter(function() { + for ( i = 0; i < len; 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 && ( + typeof selector === "string" ? + // If this is a positional/relative selector, check membership in the returned set + // so $("p:first").is("p:last") won't return true for a doc with two "p". + rneedsContext.test( selector ) ? + jQuery( selector, this.context ).index( this[0] ) >= 0 : + jQuery.filter( selector, this ).length > 0 : + this.filter( selector ).length > 0 ); + }, + + closest: function( selectors, context ) { + var cur, + i = 0, + l = this.length, + ret = [], + pos = rneedsContext.test( selectors ) || typeof selectors !== "string" ? + jQuery( selectors, context || this.context ) : + 0; + + for ( ; i < l; i++ ) { + cur = this[i]; + + while ( cur && cur.ownerDocument && cur !== context && cur.nodeType !== 11 ) { + if ( pos ? pos.index(cur) > -1 : jQuery.find.matchesSelector(cur, selectors) ) { + ret.push( cur ); + break; + } + cur = cur.parentNode; + } + } + + 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 ) { + + // No argument, return index in parent + if ( !elem ) { + return ( this[0] && this[0].parentNode ) ? this.prevAll().length : -1; + } + + // index in selector + if ( typeof elem === "string" ) { + return jQuery.inArray( this[0], jQuery( elem ) ); + } + + // 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 && selector.nodeType ? [ selector ] : selector ), + all = jQuery.merge( this.get(), set ); + + return this.pushStack( isDisconnected( set[0] ) || isDisconnected( all[0] ) ? + all : + jQuery.unique( all ) ); + }, + + addBack: function( selector ) { + return this.add( selector == null ? + this.prevObject : this.prevObject.filter(selector) + ); + } +}); + +jQuery.fn.andSelf = jQuery.fn.addBack; + +// 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; +} + +function sibling( cur, dir ) { + do { + cur = cur[ dir ]; + } while ( cur && cur.nodeType !== 1 ); + + return cur; +} + +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 sibling( elem, "nextSibling" ); + }, + prev: function( elem ) { + return sibling( elem, "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.merge( [], elem.childNodes ); + } +}, function( name, fn ) { + jQuery.fn[ name ] = function( until, selector ) { + var ret = jQuery.map( this, fn, until ); + + 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 && rparentsprev.test( name ) ) { + ret = ret.reverse(); + } + + return this.pushStack( ret, name, core_slice.call( arguments ).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; + }, + + 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 ) { + + // Can't pass null or undefined to indexOf in Firefox 4 + // Set to 0 to skip string check + qualifier = qualifier || 0; + + 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; + }); +} +function createSafeFragment( document ) { + var list = nodeNames.split( "|" ), + safeFrag = document.createDocumentFragment(); + + if ( safeFrag.createElement ) { + while ( list.length ) { + safeFrag.createElement( + list.pop() + ); + } + } + return safeFrag; +} + +var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|" + + "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", + rinlinejQuery = / jQuery\d+="(?:null|\d+)"/g, + rleadingWhitespace = /^\s+/, + rxhtmlTag = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, + rtagName = /<([\w:]+)/, + rtbody = /]", "i"), + rcheckableType = /^(?:checkbox|radio)$/, + // checked="checked" or checked + rchecked = /checked\s*(?:[^=]|=\s*.checked.)/i, + rscriptType = /\/(java|ecma)script/i, + rcleanScript = /^\s*\s*$/g, + wrapMap = { + option: [ 1, "" ], + legend: [ 1, "
", "
" ], + thead: [ 1, "", "
" ], + tr: [ 2, "", "
" ], + td: [ 3, "", "
" ], + col: [ 2, "", "
" ], + area: [ 1, "", "" ], + _default: [ 0, "", "" ] + }, + safeFragment = createSafeFragment( document ), + fragmentDiv = safeFragment.appendChild( document.createElement("div") ); + +wrapMap.optgroup = wrapMap.option; +wrapMap.tbody = wrapMap.tfoot = wrapMap.colgroup = wrapMap.caption = wrapMap.thead; +wrapMap.th = wrapMap.td; + +// IE6-8 can't serialize link, script, style, or any html5 (NoScope) tags, +// unless wrapped in a div with non-breaking characters in front of it. +if ( !jQuery.support.htmlSerialize ) { + wrapMap._default = [ 1, "X
", "
" ]; +} + +jQuery.fn.extend({ + text: function( value ) { + return jQuery.access( this, function( value ) { + return value === undefined ? + jQuery.text( this ) : + this.empty().append( ( this[0] && this[0].ownerDocument || document ).createTextNode( value ) ); + }, null, value, arguments.length ); + }, + + wrapAll: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapAll( html.call(this, i) ); + }); + } + + if ( this[0] ) { + // The elements to wrap the target around + var wrap = jQuery( html, this[0].ownerDocument ).eq(0).clone(true); + + if ( this[0].parentNode ) { + wrap.insertBefore( this[0] ); + } + + wrap.map(function() { + var elem = this; + + while ( elem.firstChild && elem.firstChild.nodeType === 1 ) { + elem = elem.firstChild; + } + + return elem; + }).append( this ); + } + + return this; + }, + + wrapInner: function( html ) { + if ( jQuery.isFunction( html ) ) { + return this.each(function(i) { + jQuery(this).wrapInner( html.call(this, i) ); + }); + } + + return this.each(function() { + var self = jQuery( this ), + contents = self.contents(); + + if ( contents.length ) { + contents.wrapAll( html ); + + } else { + self.append( html ); + } + }); + }, + + wrap: function( html ) { + var isFunction = jQuery.isFunction( html ); + + return this.each(function(i) { + jQuery( this ).wrapAll( isFunction ? html.call(this, i) : html ); + }); + }, + + unwrap: function() { + return this.parent().each(function() { + if ( !jQuery.nodeName( this, "body" ) ) { + jQuery( this ).replaceWith( this.childNodes ); + } + }).end(); + }, + + append: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.appendChild( elem ); + } + }); + }, + + prepend: function() { + return this.domManip(arguments, true, function( elem ) { + if ( this.nodeType === 1 || this.nodeType === 11 ) { + this.insertBefore( elem, this.firstChild ); + } + }); + }, + + before: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( set, this ), "before", this.selector ); + } + }, + + after: function() { + if ( !isDisconnected( this[0] ) ) { + return this.domManip(arguments, false, function( elem ) { + this.parentNode.insertBefore( elem, this.nextSibling ); + }); + } + + if ( arguments.length ) { + var set = jQuery.clean( arguments ); + return this.pushStack( jQuery.merge( this, set ), "after", this.selector ); + } + }, + + // keepData is for internal use only--do not document + remove: function( selector, keepData ) { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + if ( !selector || jQuery.filter( selector, [ elem ] ).length ) { + if ( !keepData && elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + jQuery.cleanData( [ elem ] ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + } + } + + return this; + }, + + empty: function() { + var elem, + i = 0; + + for ( ; (elem = this[i]) != null; i++ ) { + // Remove element nodes and prevent memory leaks + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName("*") ); + } + + // Remove any remaining nodes + while ( elem.firstChild ) { + elem.removeChild( elem.firstChild ); + } + } + + return this; + }, + + clone: function( dataAndEvents, deepDataAndEvents ) { + dataAndEvents = dataAndEvents == null ? false : dataAndEvents; + deepDataAndEvents = deepDataAndEvents == null ? dataAndEvents : deepDataAndEvents; + + return this.map( function () { + return jQuery.clone( this, dataAndEvents, deepDataAndEvents ); + }); + }, + + html: function( value ) { + return jQuery.access( this, function( value ) { + var elem = this[0] || {}, + i = 0, + l = this.length; + + if ( value === undefined ) { + return elem.nodeType === 1 ? + elem.innerHTML.replace( rinlinejQuery, "" ) : + undefined; + } + + // See if we can take a shortcut and just use innerHTML + if ( typeof value === "string" && !rnoInnerhtml.test( value ) && + ( jQuery.support.htmlSerialize || !rnoshimcache.test( value ) ) && + ( jQuery.support.leadingWhitespace || !rleadingWhitespace.test( value ) ) && + !wrapMap[ ( rtagName.exec( value ) || ["", ""] )[1].toLowerCase() ] ) { + + value = value.replace( rxhtmlTag, "<$1>" ); + + try { + for (; i < l; i++ ) { + // Remove element nodes and prevent memory leaks + elem = this[i] || {}; + if ( elem.nodeType === 1 ) { + jQuery.cleanData( elem.getElementsByTagName( "*" ) ); + elem.innerHTML = value; + } + } + + elem = 0; + + // If using innerHTML throws an exception, use the fallback method + } catch(e) {} + } + + if ( elem ) { + this.empty().append( value ); + } + }, null, value, arguments.length ); + }, + + replaceWith: function( value ) { + if ( !isDisconnected( this[0] ) ) { + // Make sure that the elements are removed from the DOM before they are inserted + // this can help fix replacing a parent with child elements + if ( jQuery.isFunction( value ) ) { + return this.each(function(i) { + var self = jQuery(this), old = self.html(); + self.replaceWith( value.call( this, i, old ) ); + }); + } + + if ( typeof value !== "string" ) { + value = jQuery( value ).detach(); + } + + return this.each(function() { + var next = this.nextSibling, + parent = this.parentNode; + + jQuery( this ).remove(); + + if ( next ) { + jQuery(next).before( value ); + } else { + jQuery(parent).append( value ); + } + }); + } + + return this.length ? + this.pushStack( jQuery(jQuery.isFunction(value) ? value() : value), "replaceWith", value ) : + this; + }, + + detach: function( selector ) { + return this.remove( selector, true ); + }, + + domManip: function( args, table, callback ) { + + // Flatten any nested arrays + args = [].concat.apply( [], args ); + + var results, first, fragment, iNoClone, + i = 0, + value = args[0], + scripts = [], + l = this.length; + + // We can't cloneNode fragments that contain checked, in WebKit + if ( !jQuery.support.checkClone && l > 1 && typeof value === "string" && rchecked.test( value ) ) { + return this.each(function() { + jQuery(this).domManip( args, table, callback ); + }); + } + + if ( jQuery.isFunction(value) ) { + return this.each(function(i) { + var self = jQuery(this); + args[0] = value.call( this, i, table ? self.html() : undefined ); + self.domManip( args, table, callback ); + }); + } + + if ( this[0] ) { + results = jQuery.buildFragment( args, this, scripts ); + fragment = results.fragment; + first = fragment.firstChild; + + if ( fragment.childNodes.length === 1 ) { + fragment = first; + } + + if ( first ) { + table = table && jQuery.nodeName( first, "tr" ); + + // Use the original fragment for the last item instead of the first because it can end up + // being emptied incorrectly in certain situations (#8070). + // Fragments from the fragment cache must always be cloned and never used in place. + for ( iNoClone = results.cacheable || l - 1; i < l; i++ ) { + callback.call( + table && jQuery.nodeName( this[i], "table" ) ? + findOrAppend( this[i], "tbody" ) : + this[i], + i === iNoClone ? + fragment : + jQuery.clone( fragment, true, true ) + ); + } + } + + // Fix #11809: Avoid leaking memory + fragment = first = null; + + if ( scripts.length ) { + jQuery.each( scripts, function( i, elem ) { + if ( elem.src ) { + if ( jQuery.ajax ) { + jQuery.ajax({ + url: elem.src, + type: "GET", + dataType: "script", + async: false, + global: false, + "throws": true + }); + } else { + jQuery.error("no ajax"); + } + } else { + jQuery.globalEval( ( elem.text || elem.textContent || elem.innerHTML || "" ).replace( rcleanScript, "" ) ); + } + + if ( elem.parentNode ) { + elem.parentNode.removeChild( elem ); + } + }); + } + } + + return this; + } +}); + +function findOrAppend( elem, tag ) { + return elem.getElementsByTagName( tag )[0] || elem.appendChild( elem.ownerDocument.createElement( tag ) ); +} + +function cloneCopyEvent( src, dest ) { + + if ( dest.nodeType !== 1 || !jQuery.hasData( src ) ) { + return; + } + + var type, i, l, + oldData = jQuery._data( src ), + curData = jQuery._data( dest, oldData ), + events = oldData.events; + + if ( events ) { + delete curData.handle; + curData.events = {}; + + for ( type in events ) { + for ( i = 0, l = events[ type ].length; i < l; i++ ) { + jQuery.event.add( dest, type, events[ type ][ i ] ); + } + } + } + + // make the cloned public data object a copy from the original + if ( curData.data ) { + curData.data = jQuery.extend( {}, curData.data ); + } +} + +function cloneFixAttributes( src, dest ) { + var nodeName; + + // We do not need to do anything for non-Elements + if ( dest.nodeType !== 1 ) { + return; + } + + // clearAttributes removes the attributes, which we don't want, + // but also removes the attachEvent events, which we *do* want + if ( dest.clearAttributes ) { + dest.clearAttributes(); + } + + // mergeAttributes, in contrast, only merges back on the + // original attributes, not the events + if ( dest.mergeAttributes ) { + dest.mergeAttributes( src ); + } + + nodeName = dest.nodeName.toLowerCase(); + + if ( nodeName === "object" ) { + // IE6-10 improperly clones children of object elements using classid. + // IE10 throws NoModificationAllowedError if parent is null, #12132. + if ( dest.parentNode ) { + dest.outerHTML = src.outerHTML; + } + + // This path appears unavoidable for IE9. When cloning an object + // element in IE9, the outerHTML strategy above is not sufficient. + // If the src has innerHTML and the destination does not, + // copy the src.innerHTML into the dest.innerHTML. #10324 + if ( jQuery.support.html5Clone && (src.innerHTML && !jQuery.trim(dest.innerHTML)) ) { + dest.innerHTML = src.innerHTML; + } + + } else if ( nodeName === "input" && rcheckableType.test( src.type ) ) { + // IE6-8 fails to persist the checked state of a cloned checkbox + // or radio button. Worse, IE6-7 fail to give the cloned element + // a checked appearance if the defaultChecked value isn't also set + + dest.defaultChecked = dest.checked = src.checked; + + // IE6-7 get confused and end up setting the value of a cloned + // checkbox/radio button to an empty string instead of "on" + if ( dest.value !== src.value ) { + dest.value = src.value; + } + + // IE6-8 fails to return the selected option to the default selected + // state when cloning options + } else if ( nodeName === "option" ) { + dest.selected = src.defaultSelected; + + // IE6-8 fails to set the defaultValue to the correct value when + // cloning other types of input fields + } else if ( nodeName === "input" || nodeName === "textarea" ) { + dest.defaultValue = src.defaultValue; + + // IE blanks contents when cloning scripts + } else if ( nodeName === "script" && dest.text !== src.text ) { + dest.text = src.text; + } + + // Event data gets referenced instead of copied if the expando + // gets copied too + dest.removeAttribute( jQuery.expando ); +} + +jQuery.buildFragment = function( args, context, scripts ) { + var fragment, cacheable, cachehit, + first = args[ 0 ]; + + // Set context from what may come in as undefined or a jQuery collection or a node + // Updated to fix #12266 where accessing context[0] could throw an exception in IE9/10 & + // also doubles as fix for #8950 where plain objects caused createDocumentFragment exception + context = context || document; + context = !context.nodeType && context[0] || context; + context = context.ownerDocument || context; + + // Only cache "small" (1/2 KB) HTML strings that are associated with the main document + // Cloning options loses the selected state, so don't cache them + // IE 6 doesn't like it when you put or elements in a fragment + // Also, WebKit does not clone 'checked' attributes on cloneNode, so don't cache + // Lastly, IE6,7,8 will not correctly reuse cached fragments that were created from unknown elems #10501 + if ( args.length === 1 && typeof first === "string" && first.length < 512 && context === document && + first.charAt(0) === "<" && !rnocache.test( first ) && + (jQuery.support.checkClone || !rchecked.test( first )) && + (jQuery.support.html5Clone || !rnoshimcache.test( first )) ) { + + // Mark cacheable and look for a hit + cacheable = true; + fragment = jQuery.fragments[ first ]; + cachehit = fragment !== undefined; + } + + if ( !fragment ) { + fragment = context.createDocumentFragment(); + jQuery.clean( args, context, fragment, scripts ); + + // Update the cache, but only store false + // unless this is a second parsing of the same content + if ( cacheable ) { + jQuery.fragments[ first ] = cachehit && fragment; + } + } + + return { fragment: fragment, cacheable: cacheable }; +}; + +jQuery.fragments = {}; + +jQuery.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" +}, function( name, original ) { + jQuery.fn[ name ] = function( selector ) { + var elems, + i = 0, + ret = [], + insert = jQuery( selector ), + l = insert.length, + parent = this.length === 1 && this[0].parentNode; + + if ( (parent == null || parent && parent.nodeType === 11 && parent.childNodes.length === 1) && l === 1 ) { + insert[ original ]( this[0] ); + return this; + } else { + for ( ; i < l; i++ ) { + elems = ( i > 0 ? this.clone(true) : this ).get(); + jQuery( insert[i] )[ original ]( elems ); + ret = ret.concat( elems ); + } + + return this.pushStack( ret, name, insert.selector ); + } + }; +}); + +function getAll( elem ) { + if ( typeof elem.getElementsByTagName !== "undefined" ) { + return elem.getElementsByTagName( "*" ); + + } else if ( typeof elem.querySelectorAll !== "undefined" ) { + return elem.querySelectorAll( "*" ); + + } else { + return []; + } +} + +// Used in clean, fixes the defaultChecked property +function fixDefaultChecked( elem ) { + if ( rcheckableType.test( elem.type ) ) { + elem.defaultChecked = elem.checked; + } +} + +jQuery.extend({ + clone: function( elem, dataAndEvents, deepDataAndEvents ) { + var srcElements, + destElements, + i, + clone; + + if ( jQuery.support.html5Clone || jQuery.isXMLDoc(elem) || !rnoshimcache.test( "<" + elem.nodeName + ">" ) ) { + clone = elem.cloneNode( true ); + + // IE<=8 does not properly clone detached, unknown element nodes + } else { + fragmentDiv.innerHTML = elem.outerHTML; + fragmentDiv.removeChild( clone = fragmentDiv.firstChild ); + } + + if ( (!jQuery.support.noCloneEvent || !jQuery.support.noCloneChecked) && + (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem) ) { + // IE copies events bound via attachEvent when using cloneNode. + // Calling detachEvent on the clone will also remove the events + // from the original. In order to get around this, we use some + // proprietary methods to clear the events. Thanks to MooTools + // guys for this hotness. + + cloneFixAttributes( elem, clone ); + + // Using Sizzle here is crazy slow, so we use getElementsByTagName instead + srcElements = getAll( elem ); + destElements = getAll( clone ); + + // Weird iteration because IE will replace the length property + // with an element if you are cloning the body and one of the + // elements on the page has a name or id of "length" + for ( i = 0; srcElements[i]; ++i ) { + // Ensure that the destination node is not null; Fixes #9587 + if ( destElements[i] ) { + cloneFixAttributes( srcElements[i], destElements[i] ); + } + } + } + + // Copy the events from the original to the clone + if ( dataAndEvents ) { + cloneCopyEvent( elem, clone ); + + if ( deepDataAndEvents ) { + srcElements = getAll( elem ); + destElements = getAll( clone ); + + for ( i = 0; srcElements[i]; ++i ) { + cloneCopyEvent( srcElements[i], destElements[i] ); + } + } + } + + srcElements = destElements = null; + + // Return the cloned set + return clone; + }, + + clean: function( elems, context, fragment, scripts ) { + var i, j, elem, tag, wrap, depth, div, hasBody, tbody, len, handleScript, jsTags, + safe = context === document && safeFragment, + ret = []; + + // Ensure that context is a document + if ( !context || typeof context.createDocumentFragment === "undefined" ) { + context = document; + } + + // Use the already-created safe fragment if context permits + for ( i = 0; (elem = elems[i]) != null; i++ ) { + if ( typeof elem === "number" ) { + elem += ""; + } + + if ( !elem ) { + continue; + } + + // Convert html string into DOM nodes + if ( typeof elem === "string" ) { + if ( !rhtml.test( elem ) ) { + elem = context.createTextNode( elem ); + } else { + // Ensure a safe container in which to render the html + safe = safe || createSafeFragment( context ); + div = context.createElement("div"); + safe.appendChild( div ); + + // Fix "XHTML"-style tags in all browsers + elem = elem.replace(rxhtmlTag, "<$1>"); + + // Go to html and back, then peel off extra wrappers + tag = ( rtagName.exec( elem ) || ["", ""] )[1].toLowerCase(); + wrap = wrapMap[ tag ] || wrapMap._default; + depth = wrap[0]; + div.innerHTML = wrap[1] + elem + wrap[2]; + + // Move to the right depth + while ( depth-- ) { + div = div.lastChild; + } + + // Remove IE's autoinserted from table fragments + if ( !jQuery.support.tbody ) { + + // String was a , *may* have spurious + hasBody = rtbody.test(elem); + tbody = tag === "table" && !hasBody ? + div.firstChild && div.firstChild.childNodes : + + // String was a bare or + wrap[1] === "
" && !hasBody ? + div.childNodes : + []; + + for ( j = tbody.length - 1; j >= 0 ; --j ) { + if ( jQuery.nodeName( tbody[ j ], "tbody" ) && !tbody[ j ].childNodes.length ) { + tbody[ j ].parentNode.removeChild( tbody[ j ] ); + } + } + } + + // IE completely kills leading whitespace when innerHTML is used + if ( !jQuery.support.leadingWhitespace && rleadingWhitespace.test( elem ) ) { + div.insertBefore( context.createTextNode( rleadingWhitespace.exec(elem)[0] ), div.firstChild ); + } + + elem = div.childNodes; + + // Take out of fragment container (we need a fresh div each time) + div.parentNode.removeChild( div ); + } + } + + if ( elem.nodeType ) { + ret.push( elem ); + } else { + jQuery.merge( ret, elem ); + } + } + + // Fix #11356: Clear elements from safeFragment + if ( div ) { + elem = div = safe = null; + } + + // Reset defaultChecked for any radios and checkboxes + // about to be appended to the DOM in IE 6/7 (#8060) + if ( !jQuery.support.appendChecked ) { + for ( i = 0; (elem = ret[i]) != null; i++ ) { + if ( jQuery.nodeName( elem, "input" ) ) { + fixDefaultChecked( elem ); + } else if ( typeof elem.getElementsByTagName !== "undefined" ) { + jQuery.grep( elem.getElementsByTagName("input"), fixDefaultChecked ); + } + } + } + + // Append elements to a provided document fragment + if ( fragment ) { + // Special handling of each script element + handleScript = function( elem ) { + // Check if we consider it executable + if ( !elem.type || rscriptType.test( elem.type ) ) { + // Detach the script and store it in the scripts array (if provided) or the fragment + // Return truthy to indicate that it has been handled + return scripts ? + scripts.push( elem.parentNode ? elem.parentNode.removeChild( elem ) : elem ) : + fragment.appendChild( elem ); + } + }; + + for ( i = 0; (elem = ret[i]) != null; i++ ) { + // Check if we're done after handling an executable script + if ( !( jQuery.nodeName( elem, "script" ) && handleScript( elem ) ) ) { + // Append to fragment and handle embedded scripts + fragment.appendChild( elem ); + if ( typeof elem.getElementsByTagName !== "undefined" ) { + // handleScript alters the DOM, so use jQuery.merge to ensure snapshot iteration + jsTags = jQuery.grep( jQuery.merge( [], elem.getElementsByTagName("script") ), handleScript ); + + // Splice the scripts into ret after their former ancestor and advance our index beyond them + ret.splice.apply( ret, [i + 1, 0].concat( jsTags ) ); + i += jsTags.length; + } + } + } + } + + return ret; + }, + + cleanData: function( elems, /* internal */ acceptData ) { + var data, id, elem, type, + i = 0, + internalKey = jQuery.expando, + cache = jQuery.cache, + deleteExpando = jQuery.support.deleteExpando, + special = jQuery.event.special; + + for ( ; (elem = elems[i]) != null; i++ ) { + + if ( acceptData || jQuery.acceptData( elem ) ) { + + id = elem[ internalKey ]; + data = id && cache[ id ]; + + if ( data ) { + if ( data.events ) { + for ( type in data.events ) { + if ( special[ type ] ) { + jQuery.event.remove( elem, type ); + + // This is a shortcut to avoid jQuery.event.remove's overhead + } else { + jQuery.removeEvent( elem, type, data.handle ); + } + } + } + + // Remove cache only if it was not already removed by jQuery.event.remove + if ( cache[ id ] ) { + + delete cache[ id ]; + + // 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 ( deleteExpando ) { + delete elem[ internalKey ]; + + } else if ( elem.removeAttribute ) { + elem.removeAttribute( internalKey ); + + } else { + elem[ internalKey ] = null; + } + + jQuery.deletedIds.push( id ); + } + } + } + } + } +}); +// Limit scope pollution from any deprecated API +(function() { + +var matched, browser; + +// Use of jQuery.browser is frowned upon. +// More details: http://api.jquery.com/jQuery.browser +// jQuery.uaMatch maintained for back-compat +jQuery.uaMatch = function( ua ) { + ua = ua.toLowerCase(); + + var match = /(chrome)[ \/]([\w.]+)/.exec( ua ) || + /(webkit)[ \/]([\w.]+)/.exec( ua ) || + /(opera)(?:.*version|)[ \/]([\w.]+)/.exec( ua ) || + /(msie) ([\w.]+)/.exec( ua ) || + ua.indexOf("compatible") < 0 && /(mozilla)(?:.*? rv:([\w.]+)|)/.exec( ua ) || + []; + + return { + browser: match[ 1 ] || "", + version: match[ 2 ] || "0" + }; +}; + +matched = jQuery.uaMatch( navigator.userAgent ); +browser = {}; + +if ( matched.browser ) { + browser[ matched.browser ] = true; + browser.version = matched.version; +} + +// Chrome is Webkit, but Webkit is also Safari. +if ( browser.chrome ) { + browser.webkit = true; +} else if ( browser.webkit ) { + browser.safari = true; +} + +jQuery.browser = browser; + +jQuery.sub = function() { + function jQuerySub( selector, context ) { + return new jQuerySub.fn.init( selector, context ); + } + jQuery.extend( true, jQuerySub, this ); + jQuerySub.superclass = this; + jQuerySub.fn = jQuerySub.prototype = this(); + jQuerySub.fn.constructor = jQuerySub; + jQuerySub.sub = this.sub; + jQuerySub.fn.init = function init( selector, context ) { + if ( context && context instanceof jQuery && !(context instanceof jQuerySub) ) { + context = jQuerySub( context ); + } + + return jQuery.fn.init.call( this, selector, context, rootjQuerySub ); + }; + jQuerySub.fn.init.prototype = jQuerySub.fn; + var rootjQuerySub = jQuerySub(document); + return jQuerySub; +}; + +})(); +var curCSS, iframe, iframeDoc, + ralpha = /alpha\([^)]*\)/i, + ropacity = /opacity=([^)]*)/, + rposition = /^(top|right|bottom|left)$/, + // swappable if display is none or starts with table except "table", "table-cell", or "table-caption" + // see here for display values: https://developer.mozilla.org/en-US/docs/CSS/display + rdisplayswap = /^(none|table(?!-c[ea]).+)/, + rmargin = /^margin/, + rnumsplit = new RegExp( "^(" + core_pnum + ")(.*)$", "i" ), + rnumnonpx = new RegExp( "^(" + core_pnum + ")(?!px)[a-z%]+$", "i" ), + rrelNum = new RegExp( "^([-+])=(" + core_pnum + ")", "i" ), + elemdisplay = {}, + + cssShow = { position: "absolute", visibility: "hidden", display: "block" }, + cssNormalTransform = { + letterSpacing: 0, + fontWeight: 400 + }, + + cssExpand = [ "Top", "Right", "Bottom", "Left" ], + cssPrefixes = [ "Webkit", "O", "Moz", "ms" ], + + eventsToggle = jQuery.fn.toggle; + +// return a css property mapped to a potentially vendor prefixed property +function vendorPropName( style, name ) { + + // shortcut for names that are not vendor prefixed + if ( name in style ) { + return name; + } + + // check for vendor prefixed names + var capName = name.charAt(0).toUpperCase() + name.slice(1), + origName = name, + i = cssPrefixes.length; + + while ( i-- ) { + name = cssPrefixes[ i ] + capName; + if ( name in style ) { + return name; + } + } + + return origName; +} + +function isHidden( elem, el ) { + elem = el || elem; + return jQuery.css( elem, "display" ) === "none" || !jQuery.contains( elem.ownerDocument, elem ); +} + +function showHide( elements, show ) { + var elem, display, + values = [], + index = 0, + length = elements.length; + + for ( ; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + values[ index ] = jQuery._data( elem, "olddisplay" ); + if ( show ) { + // Reset the inline display of this element to learn if it is + // being hidden by cascaded rules or not + if ( !values[ index ] && elem.style.display === "none" ) { + elem.style.display = ""; + } + + // Set elements which have been overridden with display: none + // in a stylesheet to whatever the default browser style is + // for such an element + if ( elem.style.display === "" && isHidden( elem ) ) { + values[ index ] = jQuery._data( elem, "olddisplay", css_defaultDisplay(elem.nodeName) ); + } + } else { + display = curCSS( elem, "display" ); + + if ( !values[ index ] && display !== "none" ) { + jQuery._data( elem, "olddisplay", display ); + } + } + } + + // Set the display of most of the elements in a second loop + // to avoid the constant reflow + for ( index = 0; index < length; index++ ) { + elem = elements[ index ]; + if ( !elem.style ) { + continue; + } + if ( !show || elem.style.display === "none" || elem.style.display === "" ) { + elem.style.display = show ? values[ index ] || "" : "none"; + } + } + + return elements; +} + +jQuery.fn.extend({ + css: function( name, value ) { + return jQuery.access( this, function( elem, name, value ) { + return value !== undefined ? + jQuery.style( elem, name, value ) : + jQuery.css( elem, name ); + }, name, value, arguments.length > 1 ); + }, + show: function() { + return showHide( this, true ); + }, + hide: function() { + return showHide( this ); + }, + toggle: function( state, fn2 ) { + var bool = typeof state === "boolean"; + + if ( jQuery.isFunction( state ) && jQuery.isFunction( fn2 ) ) { + return eventsToggle.apply( this, arguments ); + } + + return this.each(function() { + if ( bool ? state : isHidden( this ) ) { + jQuery( this ).show(); + } else { + jQuery( this ).hide(); + } + }); + } +}); + +jQuery.extend({ + // Add in style property hooks for overriding the default + // behavior of getting and setting a style property + cssHooks: { + opacity: { + get: function( elem, computed ) { + if ( computed ) { + // We should always get a number back from opacity + var ret = curCSS( elem, "opacity" ); + return ret === "" ? "1" : ret; + + } + } + } + }, + + // Exclude the following css properties to add px + cssNumber: { + "fillOpacity": true, + "fontWeight": true, + "lineHeight": true, + "opacity": true, + "orphans": true, + "widows": true, + "zIndex": true, + "zoom": true + }, + + // Add in properties whose names you wish to fix before + // setting or getting the value + cssProps: { + // normalize float css property + "float": jQuery.support.cssFloat ? "cssFloat" : "styleFloat" + }, + + // Get and set the style property on a DOM Node + style: function( elem, name, value, extra ) { + // Don't set styles on text and comment nodes + if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || !elem.style ) { + return; + } + + // Make sure that we're working with the right name + var ret, type, hooks, + origName = jQuery.camelCase( name ), + style = elem.style; + + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // Check if we're setting a value + if ( value !== undefined ) { + type = typeof value; + + // convert relative number strings (+= or -=) to relative numbers. #7345 + if ( type === "string" && (ret = rrelNum.exec( value )) ) { + value = ( ret[1] + 1 ) * ret[2] + parseFloat( jQuery.css( elem, name ) ); + // Fixes bug #9237 + type = "number"; + } + + // Make sure that NaN and null values aren't set. See: #7116 + if ( value == null || type === "number" && isNaN( value ) ) { + return; + } + + // If a number was passed in, add 'px' to the (except for certain CSS properties) + if ( type === "number" && !jQuery.cssNumber[ origName ] ) { + value += "px"; + } + + // If a hook was provided, use that value, otherwise just set the specified value + if ( !hooks || !("set" in hooks) || (value = hooks.set( elem, value, extra )) !== undefined ) { + // Wrapped to prevent IE from throwing errors when 'invalid' values are provided + // Fixes bug #5509 + try { + style[ name ] = value; + } catch(e) {} + } + + } else { + // If a hook was provided get the non-computed value from there + if ( hooks && "get" in hooks && (ret = hooks.get( elem, false, extra )) !== undefined ) { + return ret; + } + + // Otherwise just get the value from the style object + return style[ name ]; + } + }, + + css: function( elem, name, numeric, extra ) { + var val, num, hooks, + origName = jQuery.camelCase( name ); + + // Make sure that we're working with the right name + name = jQuery.cssProps[ origName ] || ( jQuery.cssProps[ origName ] = vendorPropName( elem.style, origName ) ); + + // gets hook for the prefixed version + // followed by the unprefixed version + hooks = jQuery.cssHooks[ name ] || jQuery.cssHooks[ origName ]; + + // If a hook was provided get the computed value from there + if ( hooks && "get" in hooks ) { + val = hooks.get( elem, true, extra ); + } + + // Otherwise, if a way to get the computed value exists, use that + if ( val === undefined ) { + val = curCSS( elem, name ); + } + + //convert "normal" to computed value + if ( val === "normal" && name in cssNormalTransform ) { + val = cssNormalTransform[ name ]; + } + + // Return, converting to number if forced or a qualifier was provided and val looks numeric + if ( numeric || extra !== undefined ) { + num = parseFloat( val ); + return numeric || jQuery.isNumeric( num ) ? num || 0 : val; + } + return val; + }, + + // A method for quickly swapping in/out CSS properties to get correct calculations + swap: function( elem, options, callback ) { + var ret, name, + old = {}; + + // Remember the old values, and insert the new ones + for ( name in options ) { + old[ name ] = elem.style[ name ]; + elem.style[ name ] = options[ name ]; + } + + ret = callback.call( elem ); + + // Revert the old values + for ( name in options ) { + elem.style[ name ] = old[ name ]; + } + + return ret; + } +}); + +// NOTE: To any future maintainer, we've window.getComputedStyle +// because jsdom on node.js will break without it. +if ( window.getComputedStyle ) { + curCSS = function( elem, name ) { + var ret, width, minWidth, maxWidth, + computed = window.getComputedStyle( elem, null ), + style = elem.style; + + if ( computed ) { + + ret = computed[ name ]; + if ( ret === "" && !jQuery.contains( elem.ownerDocument, elem ) ) { + ret = jQuery.style( elem, name ); + } + + // A tribute to the "awesome hack by Dean Edwards" + // Chrome < 17 and Safari 5.0 uses "computed value" instead of "used value" for margin-right + // Safari 5.1.7 (at least) returns percentage for a larger set of values, but width seems to be reliably pixels + // this is against the CSSOM draft spec: http://dev.w3.org/csswg/cssom/#resolved-values + if ( rnumnonpx.test( ret ) && rmargin.test( name ) ) { + width = style.width; + minWidth = style.minWidth; + maxWidth = style.maxWidth; + + style.minWidth = style.maxWidth = style.width = ret; + ret = computed.width; + + style.width = width; + style.minWidth = minWidth; + style.maxWidth = maxWidth; + } + } + + return ret; + }; +} else if ( document.documentElement.currentStyle ) { + curCSS = function( elem, name ) { + var left, rsLeft, + ret = elem.currentStyle && elem.currentStyle[ name ], + style = elem.style; + + // Avoid setting ret to empty string here + // so we don't default to auto + if ( ret == null && style && style[ name ] ) { + ret = style[ name ]; + } + + // From the awesome hack by Dean Edwards + // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291 + + // If we're not dealing with a regular pixel number + // but a number that has a weird ending, we need to convert it to pixels + // but not position css attributes, as those are proportional to the parent element instead + // and we can't measure the parent instead because it might trigger a "stacking dolls" problem + if ( rnumnonpx.test( ret ) && !rposition.test( name ) ) { + + // Remember the original values + left = style.left; + rsLeft = elem.runtimeStyle && elem.runtimeStyle.left; + + // Put in the new values to get a computed value out + if ( rsLeft ) { + elem.runtimeStyle.left = elem.currentStyle.left; + } + style.left = name === "fontSize" ? "1em" : ret; + ret = style.pixelLeft + "px"; + + // Revert the changed values + style.left = left; + if ( rsLeft ) { + elem.runtimeStyle.left = rsLeft; + } + } + + return ret === "" ? "auto" : ret; + }; +} + +function setPositiveNumber( elem, value, subtract ) { + var matches = rnumsplit.exec( value ); + return matches ? + Math.max( 0, matches[ 1 ] - ( subtract || 0 ) ) + ( matches[ 2 ] || "px" ) : + value; +} + +function augmentWidthOrHeight( elem, name, extra, isBorderBox ) { + var i = extra === ( isBorderBox ? "border" : "content" ) ? + // If we already have the right measurement, avoid augmentation + 4 : + // Otherwise initialize for horizontal or vertical properties + name === "width" ? 1 : 0, + + val = 0; + + for ( ; i < 4; i += 2 ) { + // both box models exclude margin, so add it if we want it + if ( extra === "margin" ) { + // we use jQuery.css instead of curCSS here + // because of the reliableMarginRight CSS hook! + val += jQuery.css( elem, extra + cssExpand[ i ], true ); + } + + // From this point on we use curCSS for maximum performance (relevant in animations) + if ( isBorderBox ) { + // border-box includes padding, so remove it if we want content + if ( extra === "content" ) { + val -= parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + } + + // at this point, extra isn't border nor margin, so remove border + if ( extra !== "margin" ) { + val -= parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } else { + // at this point, extra isn't content, so add padding + val += parseFloat( curCSS( elem, "padding" + cssExpand[ i ] ) ) || 0; + + // at this point, extra isn't content nor padding, so add border + if ( extra !== "padding" ) { + val += parseFloat( curCSS( elem, "border" + cssExpand[ i ] + "Width" ) ) || 0; + } + } + } + + return val; +} + +function getWidthOrHeight( elem, name, extra ) { + + // Start with offset property, which is equivalent to the border-box value + var val = name === "width" ? elem.offsetWidth : elem.offsetHeight, + valueIsBorderBox = true, + isBorderBox = jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box"; + + // some non-html elements return undefined for offsetWidth, so check for null/undefined + // svg - https://bugzilla.mozilla.org/show_bug.cgi?id=649285 + // MathML - https://bugzilla.mozilla.org/show_bug.cgi?id=491668 + if ( val <= 0 || val == null ) { + // Fall back to computed then uncomputed css if necessary + val = curCSS( elem, name ); + if ( val < 0 || val == null ) { + val = elem.style[ name ]; + } + + // Computed unit is not pixels. Stop here and return. + if ( rnumnonpx.test(val) ) { + return val; + } + + // we need the check for style in case a browser which returns unreliable values + // for getComputedStyle silently falls back to the reliable elem.style + valueIsBorderBox = isBorderBox && ( jQuery.support.boxSizingReliable || val === elem.style[ name ] ); + + // Normalize "", auto, and prepare for extra + val = parseFloat( val ) || 0; + } + + // use the active box-sizing model to add/subtract irrelevant styles + return ( val + + augmentWidthOrHeight( + elem, + name, + extra || ( isBorderBox ? "border" : "content" ), + valueIsBorderBox + ) + ) + "px"; +} + + +// Try to determine the default display value of an element +function css_defaultDisplay( nodeName ) { + if ( elemdisplay[ nodeName ] ) { + return elemdisplay[ nodeName ]; + } + + var elem = jQuery( "<" + nodeName + ">" ).appendTo( document.body ), + display = elem.css("display"); + elem.remove(); + + // If the simple way fails, + // get element's real default display by attaching it to a temp iframe + if ( display === "none" || display === "" ) { + // Use the already-created iframe if possible + iframe = document.body.appendChild( + iframe || jQuery.extend( document.createElement("iframe"), { + frameBorder: 0, + width: 0, + height: 0 + }) + ); + + // Create a cacheable copy of the iframe document on first call. + // IE and Opera will allow us to reuse the iframeDoc without re-writing the fake HTML + // document to it; WebKit & Firefox won't allow reusing the iframe document. + if ( !iframeDoc || !iframe.createElement ) { + iframeDoc = ( iframe.contentWindow || iframe.contentDocument ).document; + iframeDoc.write(""); + iframeDoc.close(); + } + + elem = iframeDoc.body.appendChild( iframeDoc.createElement(nodeName) ); + + display = curCSS( elem, "display" ); + document.body.removeChild( iframe ); + } + + // Store the correct default display + elemdisplay[ nodeName ] = display; + + return display; +} + +jQuery.each([ "height", "width" ], function( i, name ) { + jQuery.cssHooks[ name ] = { + get: function( elem, computed, extra ) { + if ( computed ) { + // certain elements can have dimension info if we invisibly show them + // however, it must have a current display style that would benefit from this + if ( elem.offsetWidth === 0 && rdisplayswap.test( curCSS( elem, "display" ) ) ) { + return jQuery.swap( elem, cssShow, function() { + return getWidthOrHeight( elem, name, extra ); + }); + } else { + return getWidthOrHeight( elem, name, extra ); + } + } + }, + + set: function( elem, value, extra ) { + return setPositiveNumber( elem, value, extra ? + augmentWidthOrHeight( + elem, + name, + extra, + jQuery.support.boxSizing && jQuery.css( elem, "boxSizing" ) === "border-box" + ) : 0 + ); + } + }; +}); + +if ( !jQuery.support.opacity ) { + jQuery.cssHooks.opacity = { + get: function( elem, computed ) { + // IE uses filters for opacity + return ropacity.test( (computed && elem.currentStyle ? elem.currentStyle.filter : elem.style.filter) || "" ) ? + ( 0.01 * parseFloat( RegExp.$1 ) ) + "" : + computed ? "1" : ""; + }, + + set: function( elem, value ) { + var style = elem.style, + currentStyle = elem.currentStyle, + opacity = jQuery.isNumeric( value ) ? "alpha(opacity=" + value * 100 + ")" : "", + filter = currentStyle && currentStyle.filter || style.filter || ""; + + // IE has trouble with opacity if it does not have layout + // Force it by setting the zoom level + style.zoom = 1; + + // if setting opacity to 1, and no other filters exist - attempt to remove filter attribute #6652 + if ( value >= 1 && jQuery.trim( filter.replace( ralpha, "" ) ) === "" && + style.removeAttribute ) { + + // Setting style.filter to null, "" & " " still leave "filter:" in the cssText + // if "filter:" is present at all, clearType is disabled, we want to avoid this + // style.removeAttribute is IE Only, but so apparently is this code path... + style.removeAttribute( "filter" ); + + // if there there is no filter style applied in a css rule, we are done + if ( currentStyle && !currentStyle.filter ) { + return; + } + } + + // otherwise, set new filter values + style.filter = ralpha.test( filter ) ? + filter.replace( ralpha, opacity ) : + filter + " " + opacity; + } + }; +} + +// These hooks cannot be added until DOM ready because the support test +// for it is not run until after DOM ready +jQuery(function() { + if ( !jQuery.support.reliableMarginRight ) { + jQuery.cssHooks.marginRight = { + get: function( elem, computed ) { + // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right + // Work around by temporarily setting element display to inline-block + return jQuery.swap( elem, { "display": "inline-block" }, function() { + if ( computed ) { + return curCSS( elem, "marginRight" ); + } + }); + } + }; + } + + // Webkit bug: https://bugs.webkit.org/show_bug.cgi?id=29084 + // getComputedStyle returns percent when specified for top/left/bottom/right + // rather than make the css module depend on the offset module, we just check for it here + if ( !jQuery.support.pixelPosition && jQuery.fn.position ) { + jQuery.each( [ "top", "left" ], function( i, prop ) { + jQuery.cssHooks[ prop ] = { + get: function( elem, computed ) { + if ( computed ) { + var ret = curCSS( elem, prop ); + // if curCSS returns percentage, fallback to offset + return rnumnonpx.test( ret ) ? jQuery( elem ).position()[ prop ] + "px" : ret; + } + } + }; + }); + } + +}); + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.hidden = function( elem ) { + return ( elem.offsetWidth === 0 && elem.offsetHeight === 0 ) || (!jQuery.support.reliableHiddenOffsets && ((elem.style && elem.style.display) || curCSS( elem, "display" )) === "none"); + }; + + jQuery.expr.filters.visible = function( elem ) { + return !jQuery.expr.filters.hidden( elem ); + }; +} + +// These hooks are used by animate to expand properties +jQuery.each({ + margin: "", + padding: "", + border: "Width" +}, function( prefix, suffix ) { + jQuery.cssHooks[ prefix + suffix ] = { + expand: function( value ) { + var i, + + // assumes a single number if not a string + parts = typeof value === "string" ? value.split(" ") : [ value ], + expanded = {}; + + for ( i = 0; i < 4; i++ ) { + expanded[ prefix + cssExpand[ i ] + suffix ] = + parts[ i ] || parts[ i - 2 ] || parts[ 0 ]; + } + + return expanded; + } + }; + + if ( !rmargin.test( prefix ) ) { + jQuery.cssHooks[ prefix + suffix ].set = setPositiveNumber; + } +}); +var r20 = /%20/g, + rbracket = /\[\]$/, + rCRLF = /\r?\n/g, + rinput = /^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i, + rselectTextarea = /^(?:select|textarea)/i; + +jQuery.fn.extend({ + serialize: function() { + return jQuery.param( this.serializeArray() ); + }, + serializeArray: function() { + return this.map(function(){ + return this.elements ? jQuery.makeArray( this.elements ) : this; + }) + .filter(function(){ + return this.name && !this.disabled && + ( this.checked || rselectTextarea.test( this.nodeName ) || + rinput.test( this.type ) ); + }) + .map(function( i, elem ){ + var val = jQuery( this ).val(); + + return val == null ? + null : + jQuery.isArray( val ) ? + jQuery.map( val, function( val, i ){ + return { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }) : + { name: elem.name, value: val.replace( rCRLF, "\r\n" ) }; + }).get(); + } +}); + +//Serialize an array of form elements or a set of +//key/values into a query string +jQuery.param = function( a, traditional ) { + var prefix, + s = [], + add = function( key, value ) { + // If value is a function, invoke it and return its value + value = jQuery.isFunction( value ) ? value() : ( value == null ? "" : value ); + s[ s.length ] = encodeURIComponent( key ) + "=" + encodeURIComponent( value ); + }; + + // Set traditional to true for jQuery <= 1.3.2 behavior. + if ( traditional === undefined ) { + traditional = jQuery.ajaxSettings && jQuery.ajaxSettings.traditional; + } + + // If an array was passed in, assume that it is an array of form elements. + if ( jQuery.isArray( a ) || ( a.jquery && !jQuery.isPlainObject( a ) ) ) { + // Serialize the form elements + jQuery.each( a, function() { + add( this.name, this.value ); + }); + + } else { + // If traditional, encode the "old" way (the way 1.3.2 or older + // did it), otherwise encode params recursively. + for ( prefix in a ) { + buildParams( prefix, a[ prefix ], traditional, add ); + } + } + + // Return the resulting serialization + return s.join( "&" ).replace( r20, "+" ); +}; + +function buildParams( prefix, obj, traditional, add ) { + var name; + + if ( jQuery.isArray( obj ) ) { + // Serialize array item. + jQuery.each( obj, function( i, v ) { + if ( traditional || rbracket.test( prefix ) ) { + // Treat each array item as a scalar. + add( prefix, v ); + + } else { + // If array item is non-scalar (array or object), encode its + // numeric index to resolve deserialization ambiguity issues. + // Note that rack (as of 1.0.0) can't currently deserialize + // nested arrays properly, and attempting to do so may cause + // a server error. Possible fixes are to modify rack's + // deserialization algorithm or to provide an option or flag + // to force array serialization to be shallow. + buildParams( prefix + "[" + ( typeof v === "object" ? i : "" ) + "]", v, traditional, add ); + } + }); + + } else if ( !traditional && jQuery.type( obj ) === "object" ) { + // Serialize object item. + for ( name in obj ) { + buildParams( prefix + "[" + name + "]", obj[ name ], traditional, add ); + } + + } else { + // Serialize scalar item. + add( prefix, obj ); + } +} +var + // Document location + ajaxLocParts, + ajaxLocation, + + rhash = /#.*$/, + rheaders = /^(.*?):[ \t]*([^\r\n]*)\r?$/mg, // IE leaves an \r character at EOL + // #7653, #8125, #8152: local protocol detection + rlocalProtocol = /^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/, + rnoContent = /^(?:GET|HEAD)$/, + rprotocol = /^\/\//, + rquery = /\?/, + rscript = /)<[^<]*)*<\/script>/gi, + rts = /([?&])_=[^&]*/, + rurl = /^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, + + // Keep a copy of the old load method + _load = jQuery.fn.load, + + /* Prefilters + * 1) They are useful to introduce custom dataTypes (see ajax/jsonp.js for an example) + * 2) These are called: + * - BEFORE asking for a transport + * - AFTER param serialization (s.data is a string if s.processData is true) + * 3) key is the dataType + * 4) the catchall symbol "*" can be used + * 5) execution will start with transport dataType and THEN continue down to "*" if needed + */ + prefilters = {}, + + /* Transports bindings + * 1) key is the dataType + * 2) the catchall symbol "*" can be used + * 3) selection will start with transport dataType and THEN go to "*" if needed + */ + transports = {}, + + // Avoid comment-prolog char sequence (#10098); must appease lint and evade compression + allTypes = ["*/"] + ["*"]; + +// #8138, IE may throw an exception when accessing +// a field from window.location if document.domain has been set +try { + ajaxLocation = location.href; +} catch( e ) { + // Use the href attribute of an A element + // since IE will modify it given document.location + ajaxLocation = document.createElement( "a" ); + ajaxLocation.href = ""; + ajaxLocation = ajaxLocation.href; +} + +// Segment location into parts +ajaxLocParts = rurl.exec( ajaxLocation.toLowerCase() ) || []; + +// Base "constructor" for jQuery.ajaxPrefilter and jQuery.ajaxTransport +function addToPrefiltersOrTransports( structure ) { + + // dataTypeExpression is optional and defaults to "*" + return function( dataTypeExpression, func ) { + + if ( typeof dataTypeExpression !== "string" ) { + func = dataTypeExpression; + dataTypeExpression = "*"; + } + + var dataType, list, placeBefore, + dataTypes = dataTypeExpression.toLowerCase().split( core_rspace ), + i = 0, + length = dataTypes.length; + + if ( jQuery.isFunction( func ) ) { + // For each dataType in the dataTypeExpression + for ( ; i < length; i++ ) { + dataType = dataTypes[ i ]; + // We control if we're asked to add before + // any existing element + placeBefore = /^\+/.test( dataType ); + if ( placeBefore ) { + dataType = dataType.substr( 1 ) || "*"; + } + list = structure[ dataType ] = structure[ dataType ] || []; + // then we add to the structure accordingly + list[ placeBefore ? "unshift" : "push" ]( func ); + } + } + }; +} + +// Base inspection function for prefilters and transports +function inspectPrefiltersOrTransports( structure, options, originalOptions, jqXHR, + dataType /* internal */, inspected /* internal */ ) { + + dataType = dataType || options.dataTypes[ 0 ]; + inspected = inspected || {}; + + inspected[ dataType ] = true; + + var selection, + list = structure[ dataType ], + i = 0, + length = list ? list.length : 0, + executeOnly = ( structure === prefilters ); + + for ( ; i < length && ( executeOnly || !selection ); i++ ) { + selection = list[ i ]( options, originalOptions, jqXHR ); + // If we got redirected to another dataType + // we try there if executing only and not done already + if ( typeof selection === "string" ) { + if ( !executeOnly || inspected[ selection ] ) { + selection = undefined; + } else { + options.dataTypes.unshift( selection ); + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, selection, inspected ); + } + } + } + // If we're only executing or nothing was selected + // we try the catchall dataType if not done already + if ( ( executeOnly || !selection ) && !inspected[ "*" ] ) { + selection = inspectPrefiltersOrTransports( + structure, options, originalOptions, jqXHR, "*", inspected ); + } + // unnecessary when only executing (prefilters) + // but it'll be ignored by the caller in that case + return selection; +} + +// A special extend for ajax options +// that takes "flat" options (not to be deep extended) +// Fixes #9887 +function ajaxExtend( target, src ) { + var key, deep, + flatOptions = jQuery.ajaxSettings.flatOptions || {}; + for ( key in src ) { + if ( src[ key ] !== undefined ) { + ( flatOptions[ key ] ? target : ( deep || ( deep = {} ) ) )[ key ] = src[ key ]; + } + } + if ( deep ) { + jQuery.extend( true, target, deep ); + } +} + +jQuery.fn.load = function( url, params, callback ) { + if ( typeof url !== "string" && _load ) { + return _load.apply( this, arguments ); + } + + // Don't do a request if no elements are being requested + if ( !this.length ) { + return this; + } + + var selector, type, response, + self = this, + off = url.indexOf(" "); + + if ( off >= 0 ) { + selector = url.slice( off, url.length ); + url = url.slice( 0, off ); + } + + // If it's a function + if ( jQuery.isFunction( params ) ) { + + // We assume that it's the callback + callback = params; + params = undefined; + + // Otherwise, build a param string + } else if ( params && typeof params === "object" ) { + type = "POST"; + } + + // Request the remote document + jQuery.ajax({ + url: url, + + // if "type" variable is undefined, then "GET" method will be used + type: type, + dataType: "html", + data: params, + complete: function( jqXHR, status ) { + if ( callback ) { + self.each( callback, response || [ jqXHR.responseText, status, jqXHR ] ); + } + } + }).done(function( responseText ) { + + // Save response for use in complete callback + response = arguments; + + // See if a selector was specified + self.html( selector ? + + // Create a dummy div to hold the results + jQuery("
") + + // inject the contents of the document in, removing the scripts + // to avoid any 'Permission Denied' errors in IE + .append( responseText.replace( rscript, "" ) ) + + // Locate the specified elements + .find( selector ) : + + // If not, just inject the full result + responseText ); + + }); + + return this; +}; + +// Attach a bunch of functions for handling common AJAX events +jQuery.each( "ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split( " " ), function( i, o ){ + jQuery.fn[ o ] = function( f ){ + return this.on( o, f ); + }; +}); + +jQuery.each( [ "get", "post" ], function( i, method ) { + jQuery[ method ] = function( url, data, callback, type ) { + // shift arguments if data argument was omitted + if ( jQuery.isFunction( data ) ) { + type = type || callback; + callback = data; + data = undefined; + } + + return jQuery.ajax({ + type: method, + url: url, + data: data, + success: callback, + dataType: type + }); + }; +}); + +jQuery.extend({ + + getScript: function( url, callback ) { + return jQuery.get( url, undefined, callback, "script" ); + }, + + getJSON: function( url, data, callback ) { + return jQuery.get( url, data, callback, "json" ); + }, + + // Creates a full fledged settings object into target + // with both ajaxSettings and settings fields. + // If target is omitted, writes into ajaxSettings. + ajaxSetup: function( target, settings ) { + if ( settings ) { + // Building a settings object + ajaxExtend( target, jQuery.ajaxSettings ); + } else { + // Extending ajaxSettings + settings = target; + target = jQuery.ajaxSettings; + } + ajaxExtend( target, settings ); + return target; + }, + + ajaxSettings: { + url: ajaxLocation, + isLocal: rlocalProtocol.test( ajaxLocParts[ 1 ] ), + global: true, + type: "GET", + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + processData: true, + async: true, + /* + timeout: 0, + data: null, + dataType: null, + username: null, + password: null, + cache: null, + throws: false, + traditional: false, + headers: {}, + */ + + accepts: { + xml: "application/xml, text/xml", + html: "text/html", + text: "text/plain", + json: "application/json, text/javascript", + "*": allTypes + }, + + contents: { + xml: /xml/, + html: /html/, + json: /json/ + }, + + responseFields: { + xml: "responseXML", + text: "responseText" + }, + + // List of data converters + // 1) key format is "source_type destination_type" (a single space in-between) + // 2) the catchall symbol "*" can be used for source_type + converters: { + + // Convert anything to text + "* text": window.String, + + // Text to html (true = no transformation) + "text html": true, + + // Evaluate text as a json expression + "text json": jQuery.parseJSON, + + // Parse text as xml + "text xml": jQuery.parseXML + }, + + // For options that shouldn't be deep extended: + // you can add your own custom options here if + // and when you create one that shouldn't be + // deep extended (see ajaxExtend) + flatOptions: { + context: true, + url: true + } + }, + + ajaxPrefilter: addToPrefiltersOrTransports( prefilters ), + ajaxTransport: addToPrefiltersOrTransports( transports ), + + // Main method + ajax: function( url, options ) { + + // If url is an object, simulate pre-1.5 signature + if ( typeof url === "object" ) { + options = url; + url = undefined; + } + + // Force options to be an object + options = options || {}; + + var // ifModified key + ifModifiedKey, + // Response headers + responseHeadersString, + responseHeaders, + // transport + transport, + // timeout handle + timeoutTimer, + // Cross-domain detection vars + parts, + // To know if global events are to be dispatched + fireGlobals, + // Loop variable + i, + // Create the final options object + s = jQuery.ajaxSetup( {}, options ), + // Callbacks context + callbackContext = s.context || s, + // Context for global events + // It's the callbackContext if one was provided in the options + // and if it's a DOM node or a jQuery collection + globalEventContext = callbackContext !== s && + ( callbackContext.nodeType || callbackContext instanceof jQuery ) ? + jQuery( callbackContext ) : jQuery.event, + // Deferreds + deferred = jQuery.Deferred(), + completeDeferred = jQuery.Callbacks( "once memory" ), + // Status-dependent callbacks + statusCode = s.statusCode || {}, + // Headers (they are sent all at once) + requestHeaders = {}, + requestHeadersNames = {}, + // The jqXHR state + state = 0, + // Default abort message + strAbort = "canceled", + // Fake xhr + jqXHR = { + + readyState: 0, + + // Caches the header + setRequestHeader: function( name, value ) { + if ( !state ) { + var lname = name.toLowerCase(); + name = requestHeadersNames[ lname ] = requestHeadersNames[ lname ] || name; + requestHeaders[ name ] = value; + } + return this; + }, + + // Raw string + getAllResponseHeaders: function() { + return state === 2 ? responseHeadersString : null; + }, + + // Builds headers hashtable if needed + getResponseHeader: function( key ) { + var match; + if ( state === 2 ) { + if ( !responseHeaders ) { + responseHeaders = {}; + while( ( match = rheaders.exec( responseHeadersString ) ) ) { + responseHeaders[ match[1].toLowerCase() ] = match[ 2 ]; + } + } + match = responseHeaders[ key.toLowerCase() ]; + } + return match === undefined ? null : match; + }, + + // Overrides response content-type header + overrideMimeType: function( type ) { + if ( !state ) { + s.mimeType = type; + } + return this; + }, + + // Cancel the request + abort: function( statusText ) { + statusText = statusText || strAbort; + if ( transport ) { + transport.abort( statusText ); + } + done( 0, statusText ); + return this; + } + }; + + // Callback for when everything is done + // It is defined here because jslint complains if it is declared + // at the end of the function (which would be more logical and readable) + function done( status, nativeStatusText, responses, headers ) { + var isSuccess, success, error, response, modified, + statusText = nativeStatusText; + + // Called once + if ( state === 2 ) { + return; + } + + // State is "done" now + state = 2; + + // Clear timeout if it exists + if ( timeoutTimer ) { + clearTimeout( timeoutTimer ); + } + + // Dereference transport for early garbage collection + // (no matter how long the jqXHR object will be used) + transport = undefined; + + // Cache response headers + responseHeadersString = headers || ""; + + // Set readyState + jqXHR.readyState = status > 0 ? 4 : 0; + + // Get response data + if ( responses ) { + response = ajaxHandleResponses( s, jqXHR, responses ); + } + + // If successful, handle type chaining + if ( status >= 200 && status < 300 || status === 304 ) { + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + + modified = jqXHR.getResponseHeader("Last-Modified"); + if ( modified ) { + jQuery.lastModified[ ifModifiedKey ] = modified; + } + modified = jqXHR.getResponseHeader("Etag"); + if ( modified ) { + jQuery.etag[ ifModifiedKey ] = modified; + } + } + + // If not modified + if ( status === 304 ) { + + statusText = "notmodified"; + isSuccess = true; + + // If we have data + } else { + + isSuccess = ajaxConvert( s, response ); + statusText = isSuccess.state; + success = isSuccess.data; + error = isSuccess.error; + isSuccess = !error; + } + } else { + // We extract error from statusText + // then normalize statusText and status for non-aborts + error = statusText; + if ( !statusText || status ) { + statusText = "error"; + if ( status < 0 ) { + status = 0; + } + } + } + + // Set data for the fake xhr object + jqXHR.status = status; + jqXHR.statusText = ( nativeStatusText || statusText ) + ""; + + // Success/Error + if ( isSuccess ) { + deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] ); + } else { + deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] ); + } + + // Status-dependent callbacks + jqXHR.statusCode( statusCode ); + statusCode = undefined; + + if ( fireGlobals ) { + globalEventContext.trigger( "ajax" + ( isSuccess ? "Success" : "Error" ), + [ jqXHR, s, isSuccess ? success : error ] ); + } + + // Complete + completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] ); + + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] ); + // Handle the global AJAX counter + if ( !( --jQuery.active ) ) { + jQuery.event.trigger( "ajaxStop" ); + } + } + } + + // Attach deferreds + deferred.promise( jqXHR ); + jqXHR.success = jqXHR.done; + jqXHR.error = jqXHR.fail; + jqXHR.complete = completeDeferred.add; + + // Status-dependent callbacks + jqXHR.statusCode = function( map ) { + if ( map ) { + var tmp; + if ( state < 2 ) { + for ( tmp in map ) { + statusCode[ tmp ] = [ statusCode[tmp], map[tmp] ]; + } + } else { + tmp = map[ jqXHR.status ]; + jqXHR.always( tmp ); + } + } + return this; + }; + + // Remove hash character (#7531: and string promotion) + // Add protocol if not provided (#5866: IE7 issue with protocol-less urls) + // We also use the url parameter if available + s.url = ( ( url || s.url ) + "" ).replace( rhash, "" ).replace( rprotocol, ajaxLocParts[ 1 ] + "//" ); + + // Extract dataTypes list + s.dataTypes = jQuery.trim( s.dataType || "*" ).toLowerCase().split( core_rspace ); + + // A cross-domain request is in order when we have a protocol:host:port mismatch + if ( s.crossDomain == null ) { + parts = rurl.exec( s.url.toLowerCase() ) || false; + s.crossDomain = parts && ( parts.join(":") + ( parts[ 3 ] ? "" : parts[ 1 ] === "http:" ? 80 : 443 ) ) !== + ( ajaxLocParts.join(":") + ( ajaxLocParts[ 3 ] ? "" : ajaxLocParts[ 1 ] === "http:" ? 80 : 443 ) ); + } + + // Convert data if not already a string + if ( s.data && s.processData && typeof s.data !== "string" ) { + s.data = jQuery.param( s.data, s.traditional ); + } + + // Apply prefilters + inspectPrefiltersOrTransports( prefilters, s, options, jqXHR ); + + // If request was aborted inside a prefilter, stop there + if ( state === 2 ) { + return jqXHR; + } + + // We can fire global events as of now if asked to + fireGlobals = s.global; + + // Uppercase the type + s.type = s.type.toUpperCase(); + + // Determine if request has content + s.hasContent = !rnoContent.test( s.type ); + + // Watch for a new set of requests + if ( fireGlobals && jQuery.active++ === 0 ) { + jQuery.event.trigger( "ajaxStart" ); + } + + // More options handling for requests with no content + if ( !s.hasContent ) { + + // If data is available, append data to url + if ( s.data ) { + s.url += ( rquery.test( s.url ) ? "&" : "?" ) + s.data; + // #9682: remove data so that it's not used in an eventual retry + delete s.data; + } + + // Get ifModifiedKey before adding the anti-cache parameter + ifModifiedKey = s.url; + + // Add anti-cache in url if needed + if ( s.cache === false ) { + + var ts = jQuery.now(), + // try replacing _= if it is there + ret = s.url.replace( rts, "$1_=" + ts ); + + // if nothing was replaced, add timestamp to the end + s.url = ret + ( ( ret === s.url ) ? ( rquery.test( s.url ) ? "&" : "?" ) + "_=" + ts : "" ); + } + } + + // Set the correct header, if data is being sent + if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) { + jqXHR.setRequestHeader( "Content-Type", s.contentType ); + } + + // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode. + if ( s.ifModified ) { + ifModifiedKey = ifModifiedKey || s.url; + if ( jQuery.lastModified[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-Modified-Since", jQuery.lastModified[ ifModifiedKey ] ); + } + if ( jQuery.etag[ ifModifiedKey ] ) { + jqXHR.setRequestHeader( "If-None-Match", jQuery.etag[ ifModifiedKey ] ); + } + } + + // Set the Accepts header for the server, depending on the dataType + jqXHR.setRequestHeader( + "Accept", + s.dataTypes[ 0 ] && s.accepts[ s.dataTypes[0] ] ? + s.accepts[ s.dataTypes[0] ] + ( s.dataTypes[ 0 ] !== "*" ? ", " + allTypes + "; q=0.01" : "" ) : + s.accepts[ "*" ] + ); + + // Check for headers option + for ( i in s.headers ) { + jqXHR.setRequestHeader( i, s.headers[ i ] ); + } + + // Allow custom headers/mimetypes and early abort + if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) { + // Abort if not done already and return + return jqXHR.abort(); + + } + + // aborting is no longer a cancellation + strAbort = "abort"; + + // Install callbacks on deferreds + for ( i in { success: 1, error: 1, complete: 1 } ) { + jqXHR[ i ]( s[ i ] ); + } + + // Get transport + transport = inspectPrefiltersOrTransports( transports, s, options, jqXHR ); + + // If no transport, we auto-abort + if ( !transport ) { + done( -1, "No Transport" ); + } else { + jqXHR.readyState = 1; + // Send global event + if ( fireGlobals ) { + globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] ); + } + // Timeout + if ( s.async && s.timeout > 0 ) { + timeoutTimer = setTimeout( function(){ + jqXHR.abort( "timeout" ); + }, s.timeout ); + } + + try { + state = 1; + transport.send( requestHeaders, done ); + } catch (e) { + // Propagate exception as error if not done + if ( state < 2 ) { + done( -1, e ); + // Simply rethrow otherwise + } else { + throw e; + } + } + } + + return jqXHR; + }, + + // Counter for holding the number of active queries + active: 0, + + // Last-Modified header cache for next request + lastModified: {}, + etag: {} + +}); + +/* Handles responses to an ajax request: + * - sets all responseXXX fields accordingly + * - finds the right dataType (mediates between content-type and expected dataType) + * - returns the corresponding response + */ +function ajaxHandleResponses( s, jqXHR, responses ) { + + var ct, type, finalDataType, firstDataType, + contents = s.contents, + dataTypes = s.dataTypes, + responseFields = s.responseFields; + + // Fill responseXXX fields + for ( type in responseFields ) { + if ( type in responses ) { + jqXHR[ responseFields[type] ] = responses[ type ]; + } + } + + // Remove auto dataType and get content-type in the process + while( dataTypes[ 0 ] === "*" ) { + dataTypes.shift(); + if ( ct === undefined ) { + ct = s.mimeType || jqXHR.getResponseHeader( "content-type" ); + } + } + + // Check if we're dealing with a known content-type + if ( ct ) { + for ( type in contents ) { + if ( contents[ type ] && contents[ type ].test( ct ) ) { + dataTypes.unshift( type ); + break; + } + } + } + + // Check to see if we have a response for the expected dataType + if ( dataTypes[ 0 ] in responses ) { + finalDataType = dataTypes[ 0 ]; + } else { + // Try convertible dataTypes + for ( type in responses ) { + if ( !dataTypes[ 0 ] || s.converters[ type + " " + dataTypes[0] ] ) { + finalDataType = type; + break; + } + if ( !firstDataType ) { + firstDataType = type; + } + } + // Or just use first one + finalDataType = finalDataType || firstDataType; + } + + // If we found a dataType + // We add the dataType to the list if needed + // and return the corresponding response + if ( finalDataType ) { + if ( finalDataType !== dataTypes[ 0 ] ) { + dataTypes.unshift( finalDataType ); + } + return responses[ finalDataType ]; + } +} + +// Chain conversions given the request and the original response +function ajaxConvert( s, response ) { + + var conv, conv2, current, tmp, + // Work with a copy of dataTypes in case we need to modify it for conversion + dataTypes = s.dataTypes.slice(), + prev = dataTypes[ 0 ], + converters = {}, + i = 0; + + // Apply the dataFilter if provided + if ( s.dataFilter ) { + response = s.dataFilter( response, s.dataType ); + } + + // Create converters map with lowercased keys + if ( dataTypes[ 1 ] ) { + for ( conv in s.converters ) { + converters[ conv.toLowerCase() ] = s.converters[ conv ]; + } + } + + // Convert to each sequential dataType, tolerating list modification + for ( ; (current = dataTypes[++i]); ) { + + // There's only work to do if current dataType is non-auto + if ( current !== "*" ) { + + // Convert response if prev dataType is non-auto and differs from current + if ( prev !== "*" && prev !== current ) { + + // Seek a direct converter + conv = converters[ prev + " " + current ] || converters[ "* " + current ]; + + // If none found, seek a pair + if ( !conv ) { + for ( conv2 in converters ) { + + // If conv2 outputs current + tmp = conv2.split(" "); + if ( tmp[ 1 ] === current ) { + + // If prev can be converted to accepted input + conv = converters[ prev + " " + tmp[ 0 ] ] || + converters[ "* " + tmp[ 0 ] ]; + if ( conv ) { + // Condense equivalence converters + if ( conv === true ) { + conv = converters[ conv2 ]; + + // Otherwise, insert the intermediate dataType + } else if ( converters[ conv2 ] !== true ) { + current = tmp[ 0 ]; + dataTypes.splice( i--, 0, current ); + } + + break; + } + } + } + } + + // Apply converter (if not an equivalence) + if ( conv !== true ) { + + // Unless errors are allowed to bubble, catch and return them + if ( conv && s["throws"] ) { + response = conv( response ); + } else { + try { + response = conv( response ); + } catch ( e ) { + return { state: "parsererror", error: conv ? e : "No conversion from " + prev + " to " + current }; + } + } + } + } + + // Update prev for next iteration + prev = current; + } + } + + return { state: "success", data: response }; +} +var oldCallbacks = [], + rquestion = /\?/, + rjsonp = /(=)\?(?=&|$)|\?\?/, + nonce = jQuery.now(); + +// Default jsonp settings +jQuery.ajaxSetup({ + jsonp: "callback", + jsonpCallback: function() { + var callback = oldCallbacks.pop() || ( jQuery.expando + "_" + ( nonce++ ) ); + this[ callback ] = true; + return callback; + } +}); + +// Detect, normalize options and install callbacks for jsonp requests +jQuery.ajaxPrefilter( "json jsonp", function( s, originalSettings, jqXHR ) { + + var callbackName, overwritten, responseContainer, + data = s.data, + url = s.url, + hasCallback = s.jsonp !== false, + replaceInUrl = hasCallback && rjsonp.test( url ), + replaceInData = hasCallback && !replaceInUrl && typeof data === "string" && + !( s.contentType || "" ).indexOf("application/x-www-form-urlencoded") && + rjsonp.test( data ); + + // Handle iff the expected data type is "jsonp" or we have a parameter to set + if ( s.dataTypes[ 0 ] === "jsonp" || replaceInUrl || replaceInData ) { + + // Get callback name, remembering preexisting value associated with it + callbackName = s.jsonpCallback = jQuery.isFunction( s.jsonpCallback ) ? + s.jsonpCallback() : + s.jsonpCallback; + overwritten = window[ callbackName ]; + + // Insert callback into url or form data + if ( replaceInUrl ) { + s.url = url.replace( rjsonp, "$1" + callbackName ); + } else if ( replaceInData ) { + s.data = data.replace( rjsonp, "$1" + callbackName ); + } else if ( hasCallback ) { + s.url += ( rquestion.test( url ) ? "&" : "?" ) + s.jsonp + "=" + callbackName; + } + + // Use data converter to retrieve json after script execution + s.converters["script json"] = function() { + if ( !responseContainer ) { + jQuery.error( callbackName + " was not called" ); + } + return responseContainer[ 0 ]; + }; + + // force json dataType + s.dataTypes[ 0 ] = "json"; + + // Install callback + window[ callbackName ] = function() { + responseContainer = arguments; + }; + + // Clean-up function (fires after converters) + jqXHR.always(function() { + // Restore preexisting value + window[ callbackName ] = overwritten; + + // Save back as free + if ( s[ callbackName ] ) { + // make sure that re-using the options doesn't screw things around + s.jsonpCallback = originalSettings.jsonpCallback; + + // save the callback name for future use + oldCallbacks.push( callbackName ); + } + + // Call if it was a function and we have a response + if ( responseContainer && jQuery.isFunction( overwritten ) ) { + overwritten( responseContainer[ 0 ] ); + } + + responseContainer = overwritten = undefined; + }); + + // Delegate to script + return "script"; + } +}); +// Install script dataType +jQuery.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /javascript|ecmascript/ + }, + converters: { + "text script": function( text ) { + jQuery.globalEval( text ); + return text; + } + } +}); + +// Handle cache's special case and global +jQuery.ajaxPrefilter( "script", function( s ) { + if ( s.cache === undefined ) { + s.cache = false; + } + if ( s.crossDomain ) { + s.type = "GET"; + s.global = false; + } +}); + +// Bind script tag hack transport +jQuery.ajaxTransport( "script", function(s) { + + // This transport only deals with cross domain requests + if ( s.crossDomain ) { + + var script, + head = document.head || document.getElementsByTagName( "head" )[0] || document.documentElement; + + return { + + send: function( _, callback ) { + + script = document.createElement( "script" ); + + script.async = "async"; + + if ( s.scriptCharset ) { + script.charset = s.scriptCharset; + } + + script.src = s.url; + + // Attach handlers for all browsers + script.onload = script.onreadystatechange = function( _, isAbort ) { + + if ( isAbort || !script.readyState || /loaded|complete/.test( script.readyState ) ) { + + // Handle memory leak in IE + script.onload = script.onreadystatechange = null; + + // Remove the script + if ( head && script.parentNode ) { + head.removeChild( script ); + } + + // Dereference the script + script = undefined; + + // Callback if not abort + if ( !isAbort ) { + callback( 200, "success" ); + } + } + }; + // Use insertBefore instead of appendChild to circumvent an IE6 bug. + // This arises when a base node is used (#2709 and #4378). + head.insertBefore( script, head.firstChild ); + }, + + abort: function() { + if ( script ) { + script.onload( 0, 1 ); + } + } + }; + } +}); +var xhrCallbacks, + // #5280: Internet Explorer will keep connections alive if we don't abort on unload + xhrOnUnloadAbort = window.ActiveXObject ? function() { + // Abort all pending requests + for ( var key in xhrCallbacks ) { + xhrCallbacks[ key ]( 0, 1 ); + } + } : false, + xhrId = 0; + +// Functions to create xhrs +function createStandardXHR() { + try { + return new window.XMLHttpRequest(); + } catch( e ) {} +} + +function createActiveXHR() { + try { + return new window.ActiveXObject( "Microsoft.XMLHTTP" ); + } catch( e ) {} +} + +// Create the request object +// (This is still attached to ajaxSettings for backward compatibility) +jQuery.ajaxSettings.xhr = window.ActiveXObject ? + /* Microsoft failed to properly + * implement the XMLHttpRequest in IE7 (can't request local files), + * so we use the ActiveXObject when it is available + * Additionally XMLHttpRequest can be disabled in IE7/IE8 so + * we need a fallback. + */ + function() { + return !this.isLocal && createStandardXHR() || createActiveXHR(); + } : + // For all other browsers, use the standard XMLHttpRequest object + createStandardXHR; + +// Determine support properties +(function( xhr ) { + jQuery.extend( jQuery.support, { + ajax: !!xhr, + cors: !!xhr && ( "withCredentials" in xhr ) + }); +})( jQuery.ajaxSettings.xhr() ); + +// Create transport if the browser can provide an xhr +if ( jQuery.support.ajax ) { + + jQuery.ajaxTransport(function( s ) { + // Cross domain only allowed if supported through XMLHttpRequest + if ( !s.crossDomain || jQuery.support.cors ) { + + var callback; + + return { + send: function( headers, complete ) { + + // Get a new xhr + var handle, i, + xhr = s.xhr(); + + // Open the socket + // Passing null username, generates a login popup on Opera (#2865) + if ( s.username ) { + xhr.open( s.type, s.url, s.async, s.username, s.password ); + } else { + xhr.open( s.type, s.url, s.async ); + } + + // Apply custom fields if provided + if ( s.xhrFields ) { + for ( i in s.xhrFields ) { + xhr[ i ] = s.xhrFields[ i ]; + } + } + + // Override mime type if needed + if ( s.mimeType && xhr.overrideMimeType ) { + xhr.overrideMimeType( s.mimeType ); + } + + // X-Requested-With header + // For cross-domain requests, seeing as conditions for a preflight are + // akin to a jigsaw puzzle, we simply never set it to be sure. + // (it can always be set on a per-request basis or even using ajaxSetup) + // For same-domain requests, won't change header if already provided. + if ( !s.crossDomain && !headers["X-Requested-With"] ) { + headers[ "X-Requested-With" ] = "XMLHttpRequest"; + } + + // Need an extra try/catch for cross domain requests in Firefox 3 + try { + for ( i in headers ) { + xhr.setRequestHeader( i, headers[ i ] ); + } + } catch( _ ) {} + + // Do send the request + // This may raise an exception which is actually + // handled in jQuery.ajax (so no try/catch here) + xhr.send( ( s.hasContent && s.data ) || null ); + + // Listener + callback = function( _, isAbort ) { + + var status, + statusText, + responseHeaders, + responses, + xml; + + // Firefox throws exceptions when accessing properties + // of an xhr when a network error occurred + // http://helpful.knobs-dials.com/index.php/Component_returned_failure_code:_0x80040111_(NS_ERROR_NOT_AVAILABLE) + try { + + // Was never called and is aborted or complete + if ( callback && ( isAbort || xhr.readyState === 4 ) ) { + + // Only called once + callback = undefined; + + // Do not keep as active anymore + if ( handle ) { + xhr.onreadystatechange = jQuery.noop; + if ( xhrOnUnloadAbort ) { + delete xhrCallbacks[ handle ]; + } + } + + // If it's an abort + if ( isAbort ) { + // Abort it manually if needed + if ( xhr.readyState !== 4 ) { + xhr.abort(); + } + } else { + status = xhr.status; + responseHeaders = xhr.getAllResponseHeaders(); + responses = {}; + xml = xhr.responseXML; + + // Construct response list + if ( xml && xml.documentElement /* #4958 */ ) { + responses.xml = xml; + } + + // When requesting binary data, IE6-9 will throw an exception + // on any attempt to access responseText (#11426) + try { + responses.text = xhr.responseText; + } catch( _ ) { + } + + // Firefox throws an exception when accessing + // statusText for faulty cross-domain requests + try { + statusText = xhr.statusText; + } catch( e ) { + // We normalize with Webkit giving an empty statusText + statusText = ""; + } + + // Filter status for non standard behaviors + + // If the request is local and we have data: assume a success + // (success with no data won't get notified, that's the best we + // can do given current implementations) + if ( !status && s.isLocal && !s.crossDomain ) { + status = responses.text ? 200 : 404; + // IE - #1450: sometimes returns 1223 when it should be 204 + } else if ( status === 1223 ) { + status = 204; + } + } + } + } catch( firefoxAccessException ) { + if ( !isAbort ) { + complete( -1, firefoxAccessException ); + } + } + + // Call complete if needed + if ( responses ) { + complete( status, statusText, responses, responseHeaders ); + } + }; + + if ( !s.async ) { + // if we're in sync mode we fire the callback + callback(); + } else if ( xhr.readyState === 4 ) { + // (IE6 & IE7) if it's in cache and has been + // retrieved directly we need to fire the callback + setTimeout( callback, 0 ); + } else { + handle = ++xhrId; + if ( xhrOnUnloadAbort ) { + // Create the active xhrs callbacks list if needed + // and attach the unload handler + if ( !xhrCallbacks ) { + xhrCallbacks = {}; + jQuery( window ).unload( xhrOnUnloadAbort ); + } + // Add to list of active xhrs callbacks + xhrCallbacks[ handle ] = callback; + } + xhr.onreadystatechange = callback; + } + }, + + abort: function() { + if ( callback ) { + callback(0,1); + } + } + }; + } + }); +} +var fxNow, timerId, + rfxtypes = /^(?:toggle|show|hide)$/, + rfxnum = new RegExp( "^(?:([-+])=|)(" + core_pnum + ")([a-z%]*)$", "i" ), + rrun = /queueHooks$/, + animationPrefilters = [ defaultPrefilter ], + tweeners = { + "*": [function( prop, value ) { + var end, unit, + tween = this.createTween( prop, value ), + parts = rfxnum.exec( value ), + target = tween.cur(), + start = +target || 0, + scale = 1, + maxIterations = 20; + + if ( parts ) { + end = +parts[2]; + unit = parts[3] || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + + // We need to compute starting value + if ( unit !== "px" && start ) { + // Iteratively approximate from a nonzero starting point + // Prefer the current property, because this process will be trivial if it uses the same units + // Fallback to end or a simple constant + start = jQuery.css( tween.elem, prop, true ) || end || 1; + + do { + // If previous iteration zeroed out, double until we get *something* + // Use a string for doubling factor so we don't accidentally see scale as unchanged below + scale = scale || ".5"; + + // Adjust and apply + start = start / scale; + jQuery.style( tween.elem, prop, start + unit ); + + // Update scale, tolerating zero or NaN from tween.cur() + // And breaking the loop if scale is unchanged or perfect, or if we've just had enough + } while ( scale !== (scale = tween.cur() / target) && scale !== 1 && --maxIterations ); + } + + tween.unit = unit; + tween.start = start; + // If a +=/-= token was provided, we're doing a relative animation + tween.end = parts[1] ? start + ( parts[1] + 1 ) * end : end; + } + return tween; + }] + }; + +// Animations created synchronously will run synchronously +function createFxNow() { + setTimeout(function() { + fxNow = undefined; + }, 0 ); + return ( fxNow = jQuery.now() ); +} + +function createTweens( animation, props ) { + jQuery.each( props, function( prop, value ) { + var collection = ( tweeners[ prop ] || [] ).concat( tweeners[ "*" ] ), + index = 0, + length = collection.length; + for ( ; index < length; index++ ) { + if ( collection[ index ].call( animation, prop, value ) ) { + + // we're done with this property + return; + } + } + }); +} + +function Animation( elem, properties, options ) { + var result, + index = 0, + tweenerIndex = 0, + length = animationPrefilters.length, + deferred = jQuery.Deferred().always( function() { + // don't match elem in the :animated selector + delete tick.elem; + }), + tick = function() { + var currentTime = fxNow || createFxNow(), + remaining = Math.max( 0, animation.startTime + animation.duration - currentTime ), + percent = 1 - ( remaining / animation.duration || 0 ), + index = 0, + length = animation.tweens.length; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( percent ); + } + + deferred.notifyWith( elem, [ animation, percent, remaining ]); + + if ( percent < 1 && length ) { + return remaining; + } else { + deferred.resolveWith( elem, [ animation ] ); + return false; + } + }, + animation = deferred.promise({ + elem: elem, + props: jQuery.extend( {}, properties ), + opts: jQuery.extend( true, { specialEasing: {} }, options ), + originalProperties: properties, + originalOptions: options, + startTime: fxNow || createFxNow(), + duration: options.duration, + tweens: [], + createTween: function( prop, end, easing ) { + var tween = jQuery.Tween( elem, animation.opts, prop, end, + animation.opts.specialEasing[ prop ] || animation.opts.easing ); + animation.tweens.push( tween ); + return tween; + }, + stop: function( gotoEnd ) { + var index = 0, + // if we are going to the end, we want to run all the tweens + // otherwise we skip this part + length = gotoEnd ? animation.tweens.length : 0; + + for ( ; index < length ; index++ ) { + animation.tweens[ index ].run( 1 ); + } + + // resolve when we played the last frame + // otherwise, reject + if ( gotoEnd ) { + deferred.resolveWith( elem, [ animation, gotoEnd ] ); + } else { + deferred.rejectWith( elem, [ animation, gotoEnd ] ); + } + return this; + } + }), + props = animation.props; + + propFilter( props, animation.opts.specialEasing ); + + for ( ; index < length ; index++ ) { + result = animationPrefilters[ index ].call( animation, elem, props, animation.opts ); + if ( result ) { + return result; + } + } + + createTweens( animation, props ); + + if ( jQuery.isFunction( animation.opts.start ) ) { + animation.opts.start.call( elem, animation ); + } + + jQuery.fx.timer( + jQuery.extend( tick, { + anim: animation, + queue: animation.opts.queue, + elem: elem + }) + ); + + // attach callbacks from options + return animation.progress( animation.opts.progress ) + .done( animation.opts.done, animation.opts.complete ) + .fail( animation.opts.fail ) + .always( animation.opts.always ); +} + +function propFilter( props, specialEasing ) { + var index, name, easing, value, hooks; + + // camelCase, specialEasing and expand cssHook pass + for ( index in props ) { + name = jQuery.camelCase( index ); + easing = specialEasing[ name ]; + value = props[ index ]; + if ( jQuery.isArray( value ) ) { + easing = value[ 1 ]; + value = props[ index ] = value[ 0 ]; + } + + if ( index !== name ) { + props[ name ] = value; + delete props[ index ]; + } + + hooks = jQuery.cssHooks[ name ]; + if ( hooks && "expand" in hooks ) { + value = hooks.expand( value ); + delete props[ name ]; + + // not quite $.extend, this wont overwrite keys already present. + // also - reusing 'index' from above because we have the correct "name" + for ( index in value ) { + if ( !( index in props ) ) { + props[ index ] = value[ index ]; + specialEasing[ index ] = easing; + } + } + } else { + specialEasing[ name ] = easing; + } + } +} + +jQuery.Animation = jQuery.extend( Animation, { + + tweener: function( props, callback ) { + if ( jQuery.isFunction( props ) ) { + callback = props; + props = [ "*" ]; + } else { + props = props.split(" "); + } + + var prop, + index = 0, + length = props.length; + + for ( ; index < length ; index++ ) { + prop = props[ index ]; + tweeners[ prop ] = tweeners[ prop ] || []; + tweeners[ prop ].unshift( callback ); + } + }, + + prefilter: function( callback, prepend ) { + if ( prepend ) { + animationPrefilters.unshift( callback ); + } else { + animationPrefilters.push( callback ); + } + } +}); + +function defaultPrefilter( elem, props, opts ) { + var index, prop, value, length, dataShow, tween, hooks, oldfire, + anim = this, + style = elem.style, + orig = {}, + handled = [], + hidden = elem.nodeType && isHidden( elem ); + + // handle queue: false promises + if ( !opts.queue ) { + hooks = jQuery._queueHooks( elem, "fx" ); + if ( hooks.unqueued == null ) { + hooks.unqueued = 0; + oldfire = hooks.empty.fire; + hooks.empty.fire = function() { + if ( !hooks.unqueued ) { + oldfire(); + } + }; + } + hooks.unqueued++; + + anim.always(function() { + // doing this makes sure that the complete handler will be called + // before this completes + anim.always(function() { + hooks.unqueued--; + if ( !jQuery.queue( elem, "fx" ).length ) { + hooks.empty.fire(); + } + }); + }); + } + + // height/width overflow pass + if ( elem.nodeType === 1 && ( "height" in props || "width" in props ) ) { + // Make sure that nothing sneaks out + // Record all 3 overflow attributes because IE does not + // change the overflow attribute when overflowX and + // overflowY are set to the same value + opts.overflow = [ style.overflow, style.overflowX, style.overflowY ]; + + // Set display property to inline-block for height/width + // animations on inline elements that are having width/height animated + if ( jQuery.css( elem, "display" ) === "inline" && + jQuery.css( elem, "float" ) === "none" ) { + + // inline-level elements accept inline-block; + // block-level elements need to be inline with layout + if ( !jQuery.support.inlineBlockNeedsLayout || css_defaultDisplay( elem.nodeName ) === "inline" ) { + style.display = "inline-block"; + + } else { + style.zoom = 1; + } + } + } + + if ( opts.overflow ) { + style.overflow = "hidden"; + if ( !jQuery.support.shrinkWrapBlocks ) { + anim.done(function() { + style.overflow = opts.overflow[ 0 ]; + style.overflowX = opts.overflow[ 1 ]; + style.overflowY = opts.overflow[ 2 ]; + }); + } + } + + + // show/hide pass + for ( index in props ) { + value = props[ index ]; + if ( rfxtypes.exec( value ) ) { + delete props[ index ]; + if ( value === ( hidden ? "hide" : "show" ) ) { + continue; + } + handled.push( index ); + } + } + + length = handled.length; + if ( length ) { + dataShow = jQuery._data( elem, "fxshow" ) || jQuery._data( elem, "fxshow", {} ); + if ( hidden ) { + jQuery( elem ).show(); + } else { + anim.done(function() { + jQuery( elem ).hide(); + }); + } + anim.done(function() { + var prop; + jQuery.removeData( elem, "fxshow", true ); + for ( prop in orig ) { + jQuery.style( elem, prop, orig[ prop ] ); + } + }); + for ( index = 0 ; index < length ; index++ ) { + prop = handled[ index ]; + tween = anim.createTween( prop, hidden ? dataShow[ prop ] : 0 ); + orig[ prop ] = dataShow[ prop ] || jQuery.style( elem, prop ); + + if ( !( prop in dataShow ) ) { + dataShow[ prop ] = tween.start; + if ( hidden ) { + tween.end = tween.start; + tween.start = prop === "width" || prop === "height" ? 1 : 0; + } + } + } + } +} + +function Tween( elem, options, prop, end, easing ) { + return new Tween.prototype.init( elem, options, prop, end, easing ); +} +jQuery.Tween = Tween; + +Tween.prototype = { + constructor: Tween, + init: function( elem, options, prop, end, easing, unit ) { + this.elem = elem; + this.prop = prop; + this.easing = easing || "swing"; + this.options = options; + this.start = this.now = this.cur(); + this.end = end; + this.unit = unit || ( jQuery.cssNumber[ prop ] ? "" : "px" ); + }, + cur: function() { + var hooks = Tween.propHooks[ this.prop ]; + + return hooks && hooks.get ? + hooks.get( this ) : + Tween.propHooks._default.get( this ); + }, + run: function( percent ) { + var eased, + hooks = Tween.propHooks[ this.prop ]; + + if ( this.options.duration ) { + this.pos = eased = jQuery.easing[ this.easing ]( + percent, this.options.duration * percent, 0, 1, this.options.duration + ); + } else { + this.pos = eased = percent; + } + this.now = ( this.end - this.start ) * eased + this.start; + + if ( this.options.step ) { + this.options.step.call( this.elem, this.now, this ); + } + + if ( hooks && hooks.set ) { + hooks.set( this ); + } else { + Tween.propHooks._default.set( this ); + } + return this; + } +}; + +Tween.prototype.init.prototype = Tween.prototype; + +Tween.propHooks = { + _default: { + get: function( tween ) { + var result; + + if ( tween.elem[ tween.prop ] != null && + (!tween.elem.style || tween.elem.style[ tween.prop ] == null) ) { + return tween.elem[ tween.prop ]; + } + + // passing any value as a 4th parameter to .css will automatically + // attempt a parseFloat and fallback to a string if the parse fails + // so, simple values such as "10px" are parsed to Float. + // complex values such as "rotate(1rad)" are returned as is. + result = jQuery.css( tween.elem, tween.prop, false, "" ); + // Empty strings, null, undefined and "auto" are converted to 0. + return !result || result === "auto" ? 0 : result; + }, + set: function( tween ) { + // use step hook for back compat - use cssHook if its there - use .style if its + // available and use plain properties where available + if ( jQuery.fx.step[ tween.prop ] ) { + jQuery.fx.step[ tween.prop ]( tween ); + } else if ( tween.elem.style && ( tween.elem.style[ jQuery.cssProps[ tween.prop ] ] != null || jQuery.cssHooks[ tween.prop ] ) ) { + jQuery.style( tween.elem, tween.prop, tween.now + tween.unit ); + } else { + tween.elem[ tween.prop ] = tween.now; + } + } + } +}; + +// Remove in 2.0 - this supports IE8's panic based approach +// to setting things on disconnected nodes + +Tween.propHooks.scrollTop = Tween.propHooks.scrollLeft = { + set: function( tween ) { + if ( tween.elem.nodeType && tween.elem.parentNode ) { + tween.elem[ tween.prop ] = tween.now; + } + } +}; + +jQuery.each([ "toggle", "show", "hide" ], function( i, name ) { + var cssFn = jQuery.fn[ name ]; + jQuery.fn[ name ] = function( speed, easing, callback ) { + return speed == null || typeof speed === "boolean" || + // special check for .toggle( handler, handler, ... ) + ( !i && jQuery.isFunction( speed ) && jQuery.isFunction( easing ) ) ? + cssFn.apply( this, arguments ) : + this.animate( genFx( name, true ), speed, easing, callback ); + }; +}); + +jQuery.fn.extend({ + fadeTo: function( speed, to, easing, callback ) { + + // show any hidden elements after setting opacity to 0 + return this.filter( isHidden ).css( "opacity", 0 ).show() + + // animate to the value specified + .end().animate({ opacity: to }, speed, easing, callback ); + }, + animate: function( prop, speed, easing, callback ) { + var empty = jQuery.isEmptyObject( prop ), + optall = jQuery.speed( speed, easing, callback ), + doAnimation = function() { + // Operate on a copy of prop so per-property easing won't be lost + var anim = Animation( this, jQuery.extend( {}, prop ), optall ); + + // Empty animations resolve immediately + if ( empty ) { + anim.stop( true ); + } + }; + + return empty || optall.queue === false ? + this.each( doAnimation ) : + this.queue( optall.queue, doAnimation ); + }, + stop: function( type, clearQueue, gotoEnd ) { + var stopQueue = function( hooks ) { + var stop = hooks.stop; + delete hooks.stop; + stop( gotoEnd ); + }; + + if ( typeof type !== "string" ) { + gotoEnd = clearQueue; + clearQueue = type; + type = undefined; + } + if ( clearQueue && type !== false ) { + this.queue( type || "fx", [] ); + } + + return this.each(function() { + var dequeue = true, + index = type != null && type + "queueHooks", + timers = jQuery.timers, + data = jQuery._data( this ); + + if ( index ) { + if ( data[ index ] && data[ index ].stop ) { + stopQueue( data[ index ] ); + } + } else { + for ( index in data ) { + if ( data[ index ] && data[ index ].stop && rrun.test( index ) ) { + stopQueue( data[ index ] ); + } + } + } + + for ( index = timers.length; index--; ) { + if ( timers[ index ].elem === this && (type == null || timers[ index ].queue === type) ) { + timers[ index ].anim.stop( gotoEnd ); + dequeue = false; + timers.splice( index, 1 ); + } + } + + // start the next in the queue if the last step wasn't forced + // timers currently will call their complete callbacks, which will dequeue + // but only if they were gotoEnd + if ( dequeue || !gotoEnd ) { + jQuery.dequeue( this, type ); + } + }); + } +}); + +// Generate parameters to create a standard animation +function genFx( type, includeWidth ) { + var which, + attrs = { height: type }, + i = 0; + + // if we include width, step value is 1 to do all cssExpand values, + // if we don't include width, step value is 2 to skip over Left and Right + includeWidth = includeWidth? 1 : 0; + for( ; i < 4 ; i += 2 - includeWidth ) { + which = cssExpand[ i ]; + attrs[ "margin" + which ] = attrs[ "padding" + which ] = type; + } + + if ( includeWidth ) { + attrs.opacity = attrs.width = type; + } + + return attrs; +} + +// Generate shortcuts for custom animations +jQuery.each({ + slideDown: genFx("show"), + slideUp: genFx("hide"), + slideToggle: genFx("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } +}, function( name, props ) { + jQuery.fn[ name ] = function( speed, easing, callback ) { + return this.animate( props, speed, easing, callback ); + }; +}); + +jQuery.speed = function( speed, easing, fn ) { + var opt = speed && typeof speed === "object" ? jQuery.extend( {}, speed ) : { + complete: fn || !fn && easing || + jQuery.isFunction( speed ) && speed, + duration: speed, + easing: fn && easing || easing && !jQuery.isFunction( easing ) && easing + }; + + opt.duration = jQuery.fx.off ? 0 : typeof opt.duration === "number" ? opt.duration : + opt.duration in jQuery.fx.speeds ? jQuery.fx.speeds[ opt.duration ] : jQuery.fx.speeds._default; + + // normalize opt.queue - true/undefined/null -> "fx" + if ( opt.queue == null || opt.queue === true ) { + opt.queue = "fx"; + } + + // Queueing + opt.old = opt.complete; + + opt.complete = function() { + if ( jQuery.isFunction( opt.old ) ) { + opt.old.call( this ); + } + + if ( opt.queue ) { + jQuery.dequeue( this, opt.queue ); + } + }; + + return opt; +}; + +jQuery.easing = { + linear: function( p ) { + return p; + }, + swing: function( p ) { + return 0.5 - Math.cos( p*Math.PI ) / 2; + } +}; + +jQuery.timers = []; +jQuery.fx = Tween.prototype.init; +jQuery.fx.tick = function() { + var timer, + timers = jQuery.timers, + i = 0; + + for ( ; i < timers.length; i++ ) { + timer = timers[ i ]; + // Checks the timer has not already been removed + if ( !timer() && timers[ i ] === timer ) { + timers.splice( i--, 1 ); + } + } + + if ( !timers.length ) { + jQuery.fx.stop(); + } +}; + +jQuery.fx.timer = function( timer ) { + if ( timer() && jQuery.timers.push( timer ) && !timerId ) { + timerId = setInterval( jQuery.fx.tick, jQuery.fx.interval ); + } +}; + +jQuery.fx.interval = 13; + +jQuery.fx.stop = function() { + clearInterval( timerId ); + timerId = null; +}; + +jQuery.fx.speeds = { + slow: 600, + fast: 200, + // Default speed + _default: 400 +}; + +// Back Compat <1.8 extension point +jQuery.fx.step = {}; + +if ( jQuery.expr && jQuery.expr.filters ) { + jQuery.expr.filters.animated = function( elem ) { + return jQuery.grep(jQuery.timers, function( fn ) { + return elem === fn.elem; + }).length; + }; +} +var rroot = /^(?:body|html)$/i; + +jQuery.fn.offset = function( options ) { + if ( arguments.length ) { + return options === undefined ? + this : + this.each(function( i ) { + jQuery.offset.setOffset( this, options, i ); + }); + } + + var docElem, body, win, clientTop, clientLeft, scrollTop, scrollLeft, + box = { top: 0, left: 0 }, + elem = this[ 0 ], + doc = elem && elem.ownerDocument; + + if ( !doc ) { + return; + } + + if ( (body = doc.body) === elem ) { + return jQuery.offset.bodyOffset( elem ); + } + + docElem = doc.documentElement; + + // Make sure it's not a disconnected DOM node + if ( !jQuery.contains( docElem, elem ) ) { + return box; + } + + // If we don't have gBCR, just use 0,0 rather than error + // BlackBerry 5, iOS 3 (original iPhone) + if ( typeof elem.getBoundingClientRect !== "undefined" ) { + box = elem.getBoundingClientRect(); + } + win = getWindow( doc ); + clientTop = docElem.clientTop || body.clientTop || 0; + clientLeft = docElem.clientLeft || body.clientLeft || 0; + scrollTop = win.pageYOffset || docElem.scrollTop; + scrollLeft = win.pageXOffset || docElem.scrollLeft; + return { + top: box.top + scrollTop - clientTop, + left: box.left + scrollLeft - clientLeft + }; +}; + +jQuery.offset = { + + bodyOffset: function( body ) { + var top = body.offsetTop, + left = body.offsetLeft; + + if ( jQuery.support.doesNotIncludeMarginInBodyOffset ) { + top += parseFloat( jQuery.css(body, "marginTop") ) || 0; + left += parseFloat( jQuery.css(body, "marginLeft") ) || 0; + } + + return { top: top, left: left }; + }, + + setOffset: function( elem, options, i ) { + var position = jQuery.css( elem, "position" ); + + // set position first, in-case top/left are set even on static elem + if ( position === "static" ) { + elem.style.position = "relative"; + } + + var curElem = jQuery( elem ), + curOffset = curElem.offset(), + curCSSTop = jQuery.css( elem, "top" ), + curCSSLeft = jQuery.css( elem, "left" ), + calculatePosition = ( position === "absolute" || position === "fixed" ) && jQuery.inArray("auto", [curCSSTop, curCSSLeft]) > -1, + props = {}, curPosition = {}, curTop, curLeft; + + // need to be able to calculate position if either top or left is auto and position is either absolute or fixed + if ( calculatePosition ) { + curPosition = curElem.position(); + curTop = curPosition.top; + curLeft = curPosition.left; + } else { + curTop = parseFloat( curCSSTop ) || 0; + curLeft = parseFloat( curCSSLeft ) || 0; + } + + if ( jQuery.isFunction( options ) ) { + options = options.call( elem, i, curOffset ); + } + + if ( options.top != null ) { + props.top = ( options.top - curOffset.top ) + curTop; + } + if ( options.left != null ) { + props.left = ( options.left - curOffset.left ) + curLeft; + } + + if ( "using" in options ) { + options.using.call( elem, props ); + } else { + curElem.css( props ); + } + } +}; + + +jQuery.fn.extend({ + + position: function() { + if ( !this[0] ) { + return; + } + + var elem = this[0], + + // Get *real* offsetParent + offsetParent = this.offsetParent(), + + // Get correct offsets + offset = this.offset(), + parentOffset = rroot.test(offsetParent[0].nodeName) ? { top: 0, left: 0 } : offsetParent.offset(); + + // Subtract element margins + // note: when an element has margin: auto the offsetLeft and marginLeft + // are the same in Safari causing offset.left to incorrectly be 0 + offset.top -= parseFloat( jQuery.css(elem, "marginTop") ) || 0; + offset.left -= parseFloat( jQuery.css(elem, "marginLeft") ) || 0; + + // Add offsetParent borders + parentOffset.top += parseFloat( jQuery.css(offsetParent[0], "borderTopWidth") ) || 0; + parentOffset.left += parseFloat( jQuery.css(offsetParent[0], "borderLeftWidth") ) || 0; + + // Subtract the two offsets + return { + top: offset.top - parentOffset.top, + left: offset.left - parentOffset.left + }; + }, + + offsetParent: function() { + return this.map(function() { + var offsetParent = this.offsetParent || document.body; + while ( offsetParent && (!rroot.test(offsetParent.nodeName) && jQuery.css(offsetParent, "position") === "static") ) { + offsetParent = offsetParent.offsetParent; + } + return offsetParent || document.body; + }); + } +}); + + +// Create scrollLeft and scrollTop methods +jQuery.each( {scrollLeft: "pageXOffset", scrollTop: "pageYOffset"}, function( method, prop ) { + var top = /Y/.test( prop ); + + jQuery.fn[ method ] = function( val ) { + return jQuery.access( this, function( elem, method, val ) { + var win = getWindow( elem ); + + if ( val === undefined ) { + return win ? (prop in win) ? win[ prop ] : + win.document.documentElement[ method ] : + elem[ method ]; + } + + if ( win ) { + win.scrollTo( + !top ? val : jQuery( win ).scrollLeft(), + top ? val : jQuery( win ).scrollTop() + ); + + } else { + elem[ method ] = val; + } + }, method, val, arguments.length, null ); + }; +}); + +function getWindow( elem ) { + return jQuery.isWindow( elem ) ? + elem : + elem.nodeType === 9 ? + elem.defaultView || elem.parentWindow : + false; +} +// Create innerHeight, innerWidth, height, width, outerHeight and outerWidth methods +jQuery.each( { Height: "height", Width: "width" }, function( name, type ) { + jQuery.each( { padding: "inner" + name, content: type, "": "outer" + name }, function( defaultExtra, funcName ) { + // margin is only for outerHeight, outerWidth + jQuery.fn[ funcName ] = function( margin, value ) { + var chainable = arguments.length && ( defaultExtra || typeof margin !== "boolean" ), + extra = defaultExtra || ( margin === true || value === true ? "margin" : "border" ); + + return jQuery.access( this, function( elem, type, value ) { + var doc; + + if ( jQuery.isWindow( elem ) ) { + // As of 5/8/2012 this will yield incorrect results for Mobile Safari, but there + // isn't a whole lot we can do. See pull request at this URL for discussion: + // https://github.com/jquery/jquery/pull/764 + return elem.document.documentElement[ "client" + name ]; + } + + // Get document width or height + if ( elem.nodeType === 9 ) { + doc = elem.documentElement; + + // Either scroll[Width/Height] or offset[Width/Height] or client[Width/Height], whichever is greatest + // unfortunately, this causes bug #3838 in IE6/8 only, but there is currently no good, small way to fix it. + return Math.max( + elem.body[ "scroll" + name ], doc[ "scroll" + name ], + elem.body[ "offset" + name ], doc[ "offset" + name ], + doc[ "client" + name ] + ); + } + + return value === undefined ? + // Get width or height on the element, requesting but not forcing parseFloat + jQuery.css( elem, type, value, extra ) : + + // Set width or height on the element + jQuery.style( elem, type, value, extra ); + }, type, chainable ? margin : undefined, chainable, null ); + }; + }); +}); +// Expose jQuery to the global object +window.jQuery = window.$ = jQuery; + +// Expose jQuery as an AMD module, but only for AMD loaders that +// understand the issues with loading multiple versions of jQuery +// in a page that all might call define(). The loader will indicate +// they have special allowances for multiple jQuery versions by +// specifying define.amd.jQuery = true. Register as a named module, +// since jQuery can be concatenated with other files that may use define, +// but not use a proper concatenation script that understands anonymous +// AMD modules. A named AMD is safest and most robust way to register. +// Lowercase jquery is used because AMD module names are derived from +// file names, and jQuery is normally delivered in a lowercase file name. +// Do this after creating the global so that if an AMD module wants to call +// noConflict to hide this version of jQuery, it will work. +if ( typeof define === "function" && define.amd && define.amd.jQuery ) { + define( "jquery", [], function () { return jQuery; } ); +} + +})( window ); diff --git a/packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.min.js b/packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.min.js new file mode 100644 index 00000000..bc3fbc81 --- /dev/null +++ b/packages/jQuery.1.8.2/Content/Scripts/jquery-1.8.2.min.js @@ -0,0 +1,2 @@ +/*! jQuery v1.8.2 jquery.com | jquery.org/license */ +(function(a,b){function G(a){var b=F[a]={};return p.each(a.split(s),function(a,c){b[c]=!0}),b}function J(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(I,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:+d+""===d?+d:H.test(d)?p.parseJSON(d):d}catch(f){}p.data(a,c,d)}else d=b}return d}function K(a){var b;for(b in a){if(b==="data"&&p.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function ba(){return!1}function bb(){return!0}function bh(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function bi(a,b){do a=a[b];while(a&&a.nodeType!==1);return a}function bj(a,b,c){b=b||0;if(p.isFunction(b))return p.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return p.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=p.grep(a,function(a){return a.nodeType===1});if(be.test(b))return p.filter(b,d,!c);b=p.filter(b,d)}return p.grep(a,function(a,d){return p.inArray(a,b)>=0===c})}function bk(a){var b=bl.split("|"),c=a.createDocumentFragment();if(c.createElement)while(b.length)c.createElement(b.pop());return c}function bC(a,b){return a.getElementsByTagName(b)[0]||a.appendChild(a.ownerDocument.createElement(b))}function bD(a,b){if(b.nodeType!==1||!p.hasData(a))return;var c,d,e,f=p._data(a),g=p._data(b,f),h=f.events;if(h){delete g.handle,g.events={};for(c in h)for(d=0,e=h[c].length;d").appendTo(e.body),c=b.css("display");b.remove();if(c==="none"||c===""){bI=e.body.appendChild(bI||p.extend(e.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!bJ||!bI.createElement)bJ=(bI.contentWindow||bI.contentDocument).document,bJ.write(""),bJ.close();b=bJ.body.appendChild(bJ.createElement(a)),c=bH(b,"display"),e.body.removeChild(bI)}return bS[a]=c,c}function ci(a,b,c,d){var e;if(p.isArray(b))p.each(b,function(b,e){c||ce.test(a)?d(a,e):ci(a+"["+(typeof e=="object"?b:"")+"]",e,c,d)});else if(!c&&p.type(b)==="object")for(e in b)ci(a+"["+e+"]",b[e],c,d);else d(a,b)}function cz(a){return function(b,c){typeof b!="string"&&(c=b,b="*");var d,e,f,g=b.toLowerCase().split(s),h=0,i=g.length;if(p.isFunction(c))for(;h)[^>]*$|#([\w\-]*)$)/,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,y=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,z=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,A=/^-ms-/,B=/-([\da-z])/gi,C=function(a,b){return(b+"").toUpperCase()},D=function(){e.addEventListener?(e.removeEventListener("DOMContentLoaded",D,!1),p.ready()):e.readyState==="complete"&&(e.detachEvent("onreadystatechange",D),p.ready())},E={};p.fn=p.prototype={constructor:p,init:function(a,c,d){var f,g,h,i;if(!a)return this;if(a.nodeType)return this.context=this[0]=a,this.length=1,this;if(typeof a=="string"){a.charAt(0)==="<"&&a.charAt(a.length-1)===">"&&a.length>=3?f=[null,a,null]:f=u.exec(a);if(f&&(f[1]||!c)){if(f[1])return c=c instanceof p?c[0]:c,i=c&&c.nodeType?c.ownerDocument||c:e,a=p.parseHTML(f[1],i,!0),v.test(f[1])&&p.isPlainObject(c)&&this.attr.call(a,c,!0),p.merge(this,a);g=e.getElementById(f[2]);if(g&&g.parentNode){if(g.id!==f[2])return d.find(a);this.length=1,this[0]=g}return this.context=e,this.selector=a,this}return!c||c.jquery?(c||d).find(a):this.constructor(c).find(a)}return p.isFunction(a)?d.ready(a):(a.selector!==b&&(this.selector=a.selector,this.context=a.context),p.makeArray(a,this))},selector:"",jquery:"1.8.2",length:0,size:function(){return this.length},toArray:function(){return k.call(this)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=p.merge(this.constructor(),a);return d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")"),d},each:function(a,b){return p.each(this,a,b)},ready:function(a){return p.ready.promise().done(a),this},eq:function(a){return a=+a,a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(k.apply(this,arguments),"slice",k.call(arguments).join(","))},map:function(a){return this.pushStack(p.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:j,sort:[].sort,splice:[].splice},p.fn.init.prototype=p.fn,p.extend=p.fn.extend=function(){var a,c,d,e,f,g,h=arguments[0]||{},i=1,j=arguments.length,k=!1;typeof h=="boolean"&&(k=h,h=arguments[1]||{},i=2),typeof h!="object"&&!p.isFunction(h)&&(h={}),j===i&&(h=this,--i);for(;i0)return;d.resolveWith(e,[p]),p.fn.trigger&&p(e).trigger("ready").off("ready")},isFunction:function(a){return p.type(a)==="function"},isArray:Array.isArray||function(a){return p.type(a)==="array"},isWindow:function(a){return a!=null&&a==a.window},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):E[m.call(a)]||"object"},isPlainObject:function(a){if(!a||p.type(a)!=="object"||a.nodeType||p.isWindow(a))return!1;try{if(a.constructor&&!n.call(a,"constructor")&&!n.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||n.call(a,d)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},error:function(a){throw new Error(a)},parseHTML:function(a,b,c){var d;return!a||typeof a!="string"?null:(typeof b=="boolean"&&(c=b,b=0),b=b||e,(d=v.exec(a))?[b.createElement(d[1])]:(d=p.buildFragment([a],b,c?null:[]),p.merge([],(d.cacheable?p.clone(d.fragment):d.fragment).childNodes)))},parseJSON:function(b){if(!b||typeof b!="string")return null;b=p.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(w.test(b.replace(y,"@").replace(z,"]").replace(x,"")))return(new Function("return "+b))();p.error("Invalid JSON: "+b)},parseXML:function(c){var d,e;if(!c||typeof c!="string")return null;try{a.DOMParser?(e=new DOMParser,d=e.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(f){d=b}return(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&p.error("Invalid XML: "+c),d},noop:function(){},globalEval:function(b){b&&r.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(A,"ms-").replace(B,C)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,c,d){var e,f=0,g=a.length,h=g===b||p.isFunction(a);if(d){if(h){for(e in a)if(c.apply(a[e],d)===!1)break}else for(;f0&&a[0]&&a[i-1]||i===0||p.isArray(a));if(j)for(;h-1)i.splice(c,1),e&&(c<=g&&g--,c<=h&&h--)}),this},has:function(a){return p.inArray(a,i)>-1},empty:function(){return i=[],this},disable:function(){return i=j=c=b,this},disabled:function(){return!i},lock:function(){return j=b,c||l.disable(),this},locked:function(){return!j},fireWith:function(a,b){return b=b||[],b=[a,b.slice?b.slice():b],i&&(!d||j)&&(e?j.push(b):k(b)),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!d}};return l},p.extend({Deferred:function(a){var b=[["resolve","done",p.Callbacks("once memory"),"resolved"],["reject","fail",p.Callbacks("once memory"),"rejected"],["notify","progress",p.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return p.Deferred(function(c){p.each(b,function(b,d){var f=d[0],g=a[b];e[d[1]](p.isFunction(g)?function(){var a=g.apply(this,arguments);a&&p.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f+"With"](this===e?c:this,[a])}:c[f])}),a=null}).promise()},promise:function(a){return a!=null?p.extend(a,d):d}},e={};return d.pipe=d.then,p.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[a^1][2].disable,b[2][2].lock),e[f[0]]=g.fire,e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=k.call(arguments),d=c.length,e=d!==1||a&&p.isFunction(a.promise)?d:0,f=e===1?a:p.Deferred(),g=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?k.call(arguments):d,c===h?f.notifyWith(b,c):--e||f.resolveWith(b,c)}},h,i,j;if(d>1){h=new Array(d),i=new Array(d),j=new Array(d);for(;b
a",c=n.getElementsByTagName("*"),d=n.getElementsByTagName("a")[0],d.style.cssText="top:1px;float:left;opacity:.5";if(!c||!c.length)return{};f=e.createElement("select"),g=f.appendChild(e.createElement("option")),h=n.getElementsByTagName("input")[0],b={leadingWhitespace:n.firstChild.nodeType===3,tbody:!n.getElementsByTagName("tbody").length,htmlSerialize:!!n.getElementsByTagName("link").length,style:/top/.test(d.getAttribute("style")),hrefNormalized:d.getAttribute("href")==="/a",opacity:/^0.5/.test(d.style.opacity),cssFloat:!!d.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:n.className!=="t",enctype:!!e.createElement("form").enctype,html5Clone:e.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",boxModel:e.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},h.checked=!0,b.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,b.optDisabled=!g.disabled;try{delete n.test}catch(o){b.deleteExpando=!1}!n.addEventListener&&n.attachEvent&&n.fireEvent&&(n.attachEvent("onclick",m=function(){b.noCloneEvent=!1}),n.cloneNode(!0).fireEvent("onclick"),n.detachEvent("onclick",m)),h=e.createElement("input"),h.value="t",h.setAttribute("type","radio"),b.radioValue=h.value==="t",h.setAttribute("checked","checked"),h.setAttribute("name","t"),n.appendChild(h),i=e.createDocumentFragment(),i.appendChild(n.lastChild),b.checkClone=i.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=h.checked,i.removeChild(h),i.appendChild(n);if(n.attachEvent)for(k in{submit:!0,change:!0,focusin:!0})j="on"+k,l=j in n,l||(n.setAttribute(j,"return;"),l=typeof n[j]=="function"),b[k+"Bubbles"]=l;return p(function(){var c,d,f,g,h="padding:0;margin:0;border:0;display:block;overflow:hidden;",i=e.getElementsByTagName("body")[0];if(!i)return;c=e.createElement("div"),c.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",i.insertBefore(c,i.firstChild),d=e.createElement("div"),c.appendChild(d),d.innerHTML="
t
",f=d.getElementsByTagName("td"),f[0].style.cssText="padding:0;margin:0;border:0;display:none",l=f[0].offsetHeight===0,f[0].style.display="",f[1].style.display="none",b.reliableHiddenOffsets=l&&f[0].offsetHeight===0,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",b.boxSizing=d.offsetWidth===4,b.doesNotIncludeMarginInBodyOffset=i.offsetTop!==1,a.getComputedStyle&&(b.pixelPosition=(a.getComputedStyle(d,null)||{}).top!=="1%",b.boxSizingReliable=(a.getComputedStyle(d,null)||{width:"4px"}).width==="4px",g=e.createElement("div"),g.style.cssText=d.style.cssText=h,g.style.marginRight=g.style.width="0",d.style.width="1px",d.appendChild(g),b.reliableMarginRight=!parseFloat((a.getComputedStyle(g,null)||{}).marginRight)),typeof d.style.zoom!="undefined"&&(d.innerHTML="",d.style.cssText=h+"width:1px;padding:1px;display:inline;zoom:1",b.inlineBlockNeedsLayout=d.offsetWidth===3,d.style.display="block",d.style.overflow="visible",d.innerHTML="
",d.firstChild.style.width="5px",b.shrinkWrapBlocks=d.offsetWidth!==3,c.style.zoom=1),i.removeChild(c),c=d=f=g=null}),i.removeChild(n),c=d=f=g=h=i=n=null,b}();var H=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,I=/([A-Z])/g;p.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(p.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){return a=a.nodeType?p.cache[a[p.expando]]:a[p.expando],!!a&&!K(a)},data:function(a,c,d,e){if(!p.acceptData(a))return;var f,g,h=p.expando,i=typeof c=="string",j=a.nodeType,k=j?p.cache:a,l=j?a[h]:a[h]&&h;if((!l||!k[l]||!e&&!k[l].data)&&i&&d===b)return;l||(j?a[h]=l=p.deletedIds.pop()||p.guid++:l=h),k[l]||(k[l]={},j||(k[l].toJSON=p.noop));if(typeof c=="object"||typeof c=="function")e?k[l]=p.extend(k[l],c):k[l].data=p.extend(k[l].data,c);return f=k[l],e||(f.data||(f.data={}),f=f.data),d!==b&&(f[p.camelCase(c)]=d),i?(g=f[c],g==null&&(g=f[p.camelCase(c)])):g=f,g},removeData:function(a,b,c){if(!p.acceptData(a))return;var d,e,f,g=a.nodeType,h=g?p.cache:a,i=g?a[p.expando]:p.expando;if(!h[i])return;if(b){d=c?h[i]:h[i].data;if(d){p.isArray(b)||(b in d?b=[b]:(b=p.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,f=b.length;e1,null,!1))},removeData:function(a){return this.each(function(){p.removeData(this,a)})}}),p.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=p._data(a,b),c&&(!d||p.isArray(c)?d=p._data(a,b,p.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=p.queue(a,b),d=c.length,e=c.shift(),f=p._queueHooks(a,b),g=function(){p.dequeue(a,b)};e==="inprogress"&&(e=c.shift(),d--),e&&(b==="fx"&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return p._data(a,c)||p._data(a,c,{empty:p.Callbacks("once memory").add(function(){p.removeData(a,b+"queue",!0),p.removeData(a,c,!0)})})}}),p.fn.extend({queue:function(a,c){var d=2;return typeof a!="string"&&(c=a,a="fx",d--),arguments.length1)},removeAttr:function(a){return this.each(function(){p.removeAttr(this,a)})},prop:function(a,b){return p.access(this,p.prop,a,b,arguments.length>1)},removeProp:function(a){return a=p.propFix[a]||a,this.each(function(){try{this[a]=b,delete this[a]}catch(c){}})},addClass:function(a){var b,c,d,e,f,g,h;if(p.isFunction(a))return this.each(function(b){p(this).addClass(a.call(this,b,this.className))});if(a&&typeof a=="string"){b=a.split(s);for(c=0,d=this.length;c=0)d=d.replace(" "+c[f]+" "," ");e.className=a?p.trim(d):""}}}return this},toggleClass:function(a,b){var c=typeof a,d=typeof b=="boolean";return p.isFunction(a)?this.each(function(c){p(this).toggleClass(a.call(this,c,this.className,b),b)}):this.each(function(){if(c==="string"){var e,f=0,g=p(this),h=b,i=a.split(s);while(e=i[f++])h=d?h:!g.hasClass(e),g[h?"addClass":"removeClass"](e)}else if(c==="undefined"||c==="boolean")this.className&&p._data(this,"__className__",this.className),this.className=this.className||a===!1?"":p._data(this,"__className__")||""})},hasClass:function(a){var b=" "+a+" ",c=0,d=this.length;for(;c=0)return!0;return!1},val:function(a){var c,d,e,f=this[0];if(!arguments.length){if(f)return c=p.valHooks[f.type]||p.valHooks[f.nodeName.toLowerCase()],c&&"get"in c&&(d=c.get(f,"value"))!==b?d:(d=f.value,typeof d=="string"?d.replace(P,""):d==null?"":d);return}return e=p.isFunction(a),this.each(function(d){var f,g=p(this);if(this.nodeType!==1)return;e?f=a.call(this,d,g.val()):f=a,f==null?f="":typeof f=="number"?f+="":p.isArray(f)&&(f=p.map(f,function(a){return a==null?"":a+""})),c=p.valHooks[this.type]||p.valHooks[this.nodeName.toLowerCase()];if(!c||!("set"in c)||c.set(this,f,"value")===b)this.value=f})}}),p.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,f=a.selectedIndex,g=[],h=a.options,i=a.type==="select-one";if(f<0)return null;c=i?f:0,d=i?f+1:h.length;for(;c=0}),c.length||(a.selectedIndex=-1),c}}},attrFn:{},attr:function(a,c,d,e){var f,g,h,i=a.nodeType;if(!a||i===3||i===8||i===2)return;if(e&&p.isFunction(p.fn[c]))return p(a)[c](d);if(typeof a.getAttribute=="undefined")return p.prop(a,c,d);h=i!==1||!p.isXMLDoc(a),h&&(c=c.toLowerCase(),g=p.attrHooks[c]||(T.test(c)?M:L));if(d!==b){if(d===null){p.removeAttr(a,c);return}return g&&"set"in g&&h&&(f=g.set(a,d,c))!==b?f:(a.setAttribute(c,d+""),d)}return g&&"get"in g&&h&&(f=g.get(a,c))!==null?f:(f=a.getAttribute(c),f===null?b:f)},removeAttr:function(a,b){var c,d,e,f,g=0;if(b&&a.nodeType===1){d=b.split(s);for(;g=0}})});var V=/^(?:textarea|input|select)$/i,W=/^([^\.]*|)(?:\.(.+)|)$/,X=/(?:^|\s)hover(\.\S+|)\b/,Y=/^key/,Z=/^(?:mouse|contextmenu)|click/,$=/^(?:focusinfocus|focusoutblur)$/,_=function(a){return p.event.special.hover?a:a.replace(X,"mouseenter$1 mouseleave$1")};p.event={add:function(a,c,d,e,f){var g,h,i,j,k,l,m,n,o,q,r;if(a.nodeType===3||a.nodeType===8||!c||!d||!(g=p._data(a)))return;d.handler&&(o=d,d=o.handler,f=o.selector),d.guid||(d.guid=p.guid++),i=g.events,i||(g.events=i={}),h=g.handle,h||(g.handle=h=function(a){return typeof p!="undefined"&&(!a||p.event.triggered!==a.type)?p.event.dispatch.apply(h.elem,arguments):b},h.elem=a),c=p.trim(_(c)).split(" ");for(j=0;j=0&&(s=s.slice(0,-1),i=!0),s.indexOf(".")>=0&&(t=s.split("."),s=t.shift(),t.sort());if((!f||p.event.customEvent[s])&&!p.event.global[s])return;c=typeof c=="object"?c[p.expando]?c:new p.Event(s,c):new p.Event(s),c.type=s,c.isTrigger=!0,c.exclusive=i,c.namespace=t.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+t.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,m=s.indexOf(":")<0?"on"+s:"";if(!f){h=p.cache;for(j in h)h[j].events&&h[j].events[s]&&p.event.trigger(c,d,h[j].handle.elem,!0);return}c.result=b,c.target||(c.target=f),d=d!=null?p.makeArray(d):[],d.unshift(c),n=p.event.special[s]||{};if(n.trigger&&n.trigger.apply(f,d)===!1)return;q=[[f,n.bindType||s]];if(!g&&!n.noBubble&&!p.isWindow(f)){r=n.delegateType||s,k=$.test(r+s)?f:f.parentNode;for(l=f;k;k=k.parentNode)q.push([k,r]),l=k;l===(f.ownerDocument||e)&&q.push([l.defaultView||l.parentWindow||a,r])}for(j=0;j=0:p.find(m,this,null,[f]).length),h[m]&&j.push(l);j.length&&u.push({elem:f,matches:j})}o.length>q&&u.push({elem:this,matches:o.slice(q)});for(d=0;d0?this.on(b,null,a,c):this.trigger(b)},Y.test(b)&&(p.event.fixHooks[b]=p.event.keyHooks),Z.test(b)&&(p.event.fixHooks[b]=p.event.mouseHooks)}),function(a,b){function bc(a,b,c,d){c=c||[],b=b||r;var e,f,i,j,k=b.nodeType;if(!a||typeof a!="string")return c;if(k!==1&&k!==9)return[];i=g(b);if(!i&&!d)if(e=P.exec(a))if(j=e[1]){if(k===9){f=b.getElementById(j);if(!f||!f.parentNode)return c;if(f.id===j)return c.push(f),c}else if(b.ownerDocument&&(f=b.ownerDocument.getElementById(j))&&h(b,f)&&f.id===j)return c.push(f),c}else{if(e[2])return w.apply(c,x.call(b.getElementsByTagName(a),0)),c;if((j=e[3])&&_&&b.getElementsByClassName)return w.apply(c,x.call(b.getElementsByClassName(j),0)),c}return bp(a.replace(L,"$1"),b,c,d,i)}function bd(a){return function(b){var c=b.nodeName.toLowerCase();return c==="input"&&b.type===a}}function be(a){return function(b){var c=b.nodeName.toLowerCase();return(c==="input"||c==="button")&&b.type===a}}function bf(a){return z(function(b){return b=+b,z(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function bg(a,b,c){if(a===b)return c;var d=a.nextSibling;while(d){if(d===b)return-1;d=d.nextSibling}return 1}function bh(a,b){var c,d,f,g,h,i,j,k=C[o][a];if(k)return b?0:k.slice(0);h=a,i=[],j=e.preFilter;while(h){if(!c||(d=M.exec(h)))d&&(h=h.slice(d[0].length)),i.push(f=[]);c=!1;if(d=N.exec(h))f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=d[0].replace(L," ");for(g in e.filter)(d=W[g].exec(h))&&(!j[g]||(d=j[g](d,r,!0)))&&(f.push(c=new q(d.shift())),h=h.slice(c.length),c.type=g,c.matches=d);if(!c)break}return b?h.length:h?bc.error(a):C(a,i).slice(0)}function bi(a,b,d){var e=b.dir,f=d&&b.dir==="parentNode",g=u++;return b.first?function(b,c,d){while(b=b[e])if(f||b.nodeType===1)return a(b,c,d)}:function(b,d,h){if(!h){var i,j=t+" "+g+" ",k=j+c;while(b=b[e])if(f||b.nodeType===1){if((i=b[o])===k)return b.sizset;if(typeof i=="string"&&i.indexOf(j)===0){if(b.sizset)return b}else{b[o]=k;if(a(b,d,h))return b.sizset=!0,b;b.sizset=!1}}}else while(b=b[e])if(f||b.nodeType===1)if(a(b,d,h))return b}}function bj(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function bk(a,b,c,d,e){var f,g=[],h=0,i=a.length,j=b!=null;for(;h-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==l)||((b=c).nodeType?j(a,c,d):k(a,c,d))}];for(;i1&&bj(m),i>1&&a.slice(0,i-1).join("").replace(L,"$1"),c,i0,f=a.length>0,g=function(h,i,j,k,m){var n,o,p,q=[],s=0,u="0",x=h&&[],y=m!=null,z=l,A=h||f&&e.find.TAG("*",m&&i.parentNode||i),B=t+=z==null?1:Math.E;y&&(l=i!==r&&i,c=g.el);for(;(n=A[u])!=null;u++){if(f&&n){for(o=0;p=a[o];o++)if(p(n,i,j)){k.push(n);break}y&&(t=B,c=++g.el)}d&&((n=!p&&n)&&s--,h&&x.push(n))}s+=u;if(d&&u!==s){for(o=0;p=b[o];o++)p(x,q,i,j);if(h){if(s>0)while(u--)!x[u]&&!q[u]&&(q[u]=v.call(k));q=bk(q)}w.apply(k,q),y&&!h&&q.length>0&&s+b.length>1&&bc.uniqueSort(k)}return y&&(t=B,l=z),x};return g.el=0,d?z(g):g}function bo(a,b,c,d){var e=0,f=b.length;for(;e2&&(j=h[0]).type==="ID"&&b.nodeType===9&&!f&&e.relative[h[1].type]){b=e.find.ID(j.matches[0].replace(V,""),b,f)[0];if(!b)return c;a=a.slice(h.shift().length)}for(g=W.POS.test(a)?-1:h.length-1;g>=0;g--){j=h[g];if(e.relative[k=j.type])break;if(l=e.find[k])if(d=l(j.matches[0].replace(V,""),R.test(h[0].type)&&b.parentNode||b,f)){h.splice(g,1),a=d.length&&h.join("");if(!a)return w.apply(c,x.call(d,0)),c;break}}}return i(a,m)(d,b,f,c,R.test(a)),c}function bq(){}var c,d,e,f,g,h,i,j,k,l,m=!0,n="undefined",o=("sizcache"+Math.random()).replace(".",""),q=String,r=a.document,s=r.documentElement,t=0,u=0,v=[].pop,w=[].push,x=[].slice,y=[].indexOf||function(a){var b=0,c=this.length;for(;be.cacheLength&&delete a[b.shift()],a[c]=d},a)},B=A(),C=A(),D=A(),E="[\\x20\\t\\r\\n\\f]",F="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",G=F.replace("w","w#"),H="([*^$|!~]?=)",I="\\["+E+"*("+F+")"+E+"*(?:"+H+E+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+G+")|)|)"+E+"*\\]",J=":("+F+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+I+")|[^:]|\\\\.)*|.*))\\)|)",K=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+E+"*((?:-\\d)?\\d*)"+E+"*\\)|)(?=[^-]|$)",L=new RegExp("^"+E+"+|((?:^|[^\\\\])(?:\\\\.)*)"+E+"+$","g"),M=new RegExp("^"+E+"*,"+E+"*"),N=new RegExp("^"+E+"*([\\x20\\t\\r\\n\\f>+~])"+E+"*"),O=new RegExp(J),P=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,Q=/^:not/,R=/[\x20\t\r\n\f]*[+~]/,S=/:not\($/,T=/h\d/i,U=/input|select|textarea|button/i,V=/\\(?!\\)/g,W={ID:new RegExp("^#("+F+")"),CLASS:new RegExp("^\\.("+F+")"),NAME:new RegExp("^\\[name=['\"]?("+F+")['\"]?\\]"),TAG:new RegExp("^("+F.replace("w","w*")+")"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+J),POS:new RegExp(K,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+E+"*(even|odd|(([+-]|)(\\d*)n|)"+E+"*(?:([+-]|)"+E+"*(\\d+)|))"+E+"*\\)|)","i"),needsContext:new RegExp("^"+E+"*[>+~]|"+K,"i")},X=function(a){var b=r.createElement("div");try{return a(b)}catch(c){return!1}finally{b=null}},Y=X(function(a){return a.appendChild(r.createComment("")),!a.getElementsByTagName("*").length}),Z=X(function(a){return a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!==n&&a.firstChild.getAttribute("href")==="#"}),$=X(function(a){a.innerHTML="";var b=typeof a.lastChild.getAttribute("multiple");return b!=="boolean"&&b!=="string"}),_=X(function(a){return a.innerHTML="",!a.getElementsByClassName||!a.getElementsByClassName("e").length?!1:(a.lastChild.className="e",a.getElementsByClassName("e").length===2)}),ba=X(function(a){a.id=o+0,a.innerHTML="
",s.insertBefore(a,s.firstChild);var b=r.getElementsByName&&r.getElementsByName(o).length===2+r.getElementsByName(o+0).length;return d=!r.getElementById(o),s.removeChild(a),b});try{x.call(s.childNodes,0)[0].nodeType}catch(bb){x=function(a){var b,c=[];for(;b=this[a];a++)c.push(b);return c}}bc.matches=function(a,b){return bc(a,null,null,b)},bc.matchesSelector=function(a,b){return bc(b,null,null,[a]).length>0},f=bc.getText=function(a){var b,c="",d=0,e=a.nodeType;if(e){if(e===1||e===9||e===11){if(typeof a.textContent=="string")return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=f(a)}else if(e===3||e===4)return a.nodeValue}else for(;b=a[d];d++)c+=f(b);return c},g=bc.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?b.nodeName!=="HTML":!1},h=bc.contains=s.contains?function(a,b){var c=a.nodeType===9?a.documentElement:a,d=b&&b.parentNode;return a===d||!!(d&&d.nodeType===1&&c.contains&&c.contains(d))}:s.compareDocumentPosition?function(a,b){return b&&!!(a.compareDocumentPosition(b)&16)}:function(a,b){while(b=b.parentNode)if(b===a)return!0;return!1},bc.attr=function(a,b){var c,d=g(a);return d||(b=b.toLowerCase()),(c=e.attrHandle[b])?c(a):d||$?a.getAttribute(b):(c=a.getAttributeNode(b),c?typeof a[b]=="boolean"?a[b]?b:null:c.specified?c.value:null:null)},e=bc.selectors={cacheLength:50,createPseudo:z,match:W,attrHandle:Z?{}:{href:function(a){return a.getAttribute("href",2)},type:function(a){return a.getAttribute("type")}},find:{ID:d?function(a,b,c){if(typeof b.getElementById!==n&&!c){var d=b.getElementById(a);return d&&d.parentNode?[d]:[]}}:function(a,c,d){if(typeof c.getElementById!==n&&!d){var e=c.getElementById(a);return e?e.id===a||typeof e.getAttributeNode!==n&&e.getAttributeNode("id").value===a?[e]:b:[]}},TAG:Y?function(a,b){if(typeof b.getElementsByTagName!==n)return b.getElementsByTagName(a)}:function(a,b){var c=b.getElementsByTagName(a);if(a==="*"){var d,e=[],f=0;for(;d=c[f];f++)d.nodeType===1&&e.push(d);return e}return c},NAME:ba&&function(a,b){if(typeof b.getElementsByName!==n)return b.getElementsByName(name)},CLASS:_&&function(a,b,c){if(typeof b.getElementsByClassName!==n&&!c)return b.getElementsByClassName(a)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(V,""),a[3]=(a[4]||a[5]||"").replace(V,""),a[2]==="~="&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),a[1]==="nth"?(a[2]||bc.error(a[0]),a[3]=+(a[3]?a[4]+(a[5]||1):2*(a[2]==="even"||a[2]==="odd")),a[4]=+(a[6]+a[7]||a[2]==="odd")):a[2]&&bc.error(a[0]),a},PSEUDO:function(a){var b,c;if(W.CHILD.test(a[0]))return null;if(a[3])a[2]=a[3];else if(b=a[4])O.test(b)&&(c=bh(b,!0))&&(c=b.indexOf(")",b.length-c)-b.length)&&(b=b.slice(0,c),a[0]=a[0].slice(0,c)),a[2]=b;return a.slice(0,3)}},filter:{ID:d?function(a){return a=a.replace(V,""),function(b){return b.getAttribute("id")===a}}:function(a){return a=a.replace(V,""),function(b){var c=typeof b.getAttributeNode!==n&&b.getAttributeNode("id");return c&&c.value===a}},TAG:function(a){return a==="*"?function(){return!0}:(a=a.replace(V,"").toLowerCase(),function(b){return b.nodeName&&b.nodeName.toLowerCase()===a})},CLASS:function(a){var b=B[o][a];return b||(b=B(a,new RegExp("(^|"+E+")"+a+"("+E+"|$)"))),function(a){return b.test(a.className||typeof a.getAttribute!==n&&a.getAttribute("class")||"")}},ATTR:function(a,b,c){return function(d,e){var f=bc.attr(d,a);return f==null?b==="!=":b?(f+="",b==="="?f===c:b==="!="?f!==c:b==="^="?c&&f.indexOf(c)===0:b==="*="?c&&f.indexOf(c)>-1:b==="$="?c&&f.substr(f.length-c.length)===c:b==="~="?(" "+f+" ").indexOf(c)>-1:b==="|="?f===c||f.substr(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d){return a==="nth"?function(a){var b,e,f=a.parentNode;if(c===1&&d===0)return!0;if(f){e=0;for(b=f.firstChild;b;b=b.nextSibling)if(b.nodeType===1){e++;if(a===b)break}}return e-=d,e===c||e%c===0&&e/c>=0}:function(b){var c=b;switch(a){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(a==="first")return!0;c=b;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0}}},PSEUDO:function(a,b){var c,d=e.pseudos[a]||e.setFilters[a.toLowerCase()]||bc.error("unsupported pseudo: "+a);return d[o]?d(b):d.length>1?(c=[a,a,"",b],e.setFilters.hasOwnProperty(a.toLowerCase())?z(function(a,c){var e,f=d(a,b),g=f.length;while(g--)e=y.call(a,f[g]),a[e]=!(c[e]=f[g])}):function(a){return d(a,0,c)}):d}},pseudos:{not:z(function(a){var b=[],c=[],d=i(a.replace(L,"$1"));return d[o]?z(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)if(f=g[h])a[h]=!(b[h]=f)}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:z(function(a){return function(b){return bc(a,b).length>0}}),contains:z(function(a){return function(b){return(b.textContent||b.innerText||f(b)).indexOf(a)>-1}}),enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&!!a.checked||b==="option"&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},parent:function(a){return!e.pseudos.empty(a)},empty:function(a){var b;a=a.firstChild;while(a){if(a.nodeName>"@"||(b=a.nodeType)===3||b===4)return!1;a=a.nextSibling}return!0},header:function(a){return T.test(a.nodeName)},text:function(a){var b,c;return a.nodeName.toLowerCase()==="input"&&(b=a.type)==="text"&&((c=a.getAttribute("type"))==null||c.toLowerCase()===b)},radio:bd("radio"),checkbox:bd("checkbox"),file:bd("file"),password:bd("password"),image:bd("image"),submit:be("submit"),reset:be("reset"),button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&a.type==="button"||b==="button"},input:function(a){return U.test(a.nodeName)},focus:function(a){var b=a.ownerDocument;return a===b.activeElement&&(!b.hasFocus||b.hasFocus())&&(!!a.type||!!a.href)},active:function(a){return a===a.ownerDocument.activeElement},first:bf(function(a,b,c){return[0]}),last:bf(function(a,b,c){return[b-1]}),eq:bf(function(a,b,c){return[c<0?c+b:c]}),even:bf(function(a,b,c){for(var d=0;d=0;)a.push(d);return a}),gt:bf(function(a,b,c){for(var d=c<0?c+b:c;++d",a.querySelectorAll("[selected]").length||e.push("\\["+E+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),a.querySelectorAll(":checked").length||e.push(":checked")}),X(function(a){a.innerHTML="

",a.querySelectorAll("[test^='']").length&&e.push("[*^$]="+E+"*(?:\"\"|'')"),a.innerHTML="",a.querySelectorAll(":enabled").length||e.push(":enabled",":disabled")}),e=new RegExp(e.join("|")),bp=function(a,d,f,g,h){if(!g&&!h&&(!e||!e.test(a))){var i,j,k=!0,l=o,m=d,n=d.nodeType===9&&a;if(d.nodeType===1&&d.nodeName.toLowerCase()!=="object"){i=bh(a),(k=d.getAttribute("id"))?l=k.replace(c,"\\$&"):d.setAttribute("id",l),l="[id='"+l+"'] ",j=i.length;while(j--)i[j]=l+i[j].join("");m=R.test(a)&&d.parentNode||d,n=i.join(",")}if(n)try{return w.apply(f,x.call(m.querySelectorAll(n),0)),f}catch(p){}finally{k||d.removeAttribute("id")}}return b(a,d,f,g,h)},h&&(X(function(b){a=h.call(b,"div");try{h.call(b,"[test!='']:sizzle"),f.push("!=",J)}catch(c){}}),f=new RegExp(f.join("|")),bc.matchesSelector=function(b,c){c=c.replace(d,"='$1']");if(!g(b)&&!f.test(c)&&(!e||!e.test(c)))try{var i=h.call(b,c);if(i||a||b.document&&b.document.nodeType!==11)return i}catch(j){}return bc(c,null,null,[b]).length>0})}(),e.pseudos.nth=e.pseudos.eq,e.filters=bq.prototype=e.pseudos,e.setFilters=new bq,bc.attr=p.attr,p.find=bc,p.expr=bc.selectors,p.expr[":"]=p.expr.pseudos,p.unique=bc.uniqueSort,p.text=bc.getText,p.isXMLDoc=bc.isXML,p.contains=bc.contains}(a);var bc=/Until$/,bd=/^(?:parents|prev(?:Until|All))/,be=/^.[^:#\[\.,]*$/,bf=p.expr.match.needsContext,bg={children:!0,contents:!0,next:!0,prev:!0};p.fn.extend({find:function(a){var b,c,d,e,f,g,h=this;if(typeof a!="string")return p(a).filter(function(){for(b=0,c=h.length;b0)for(e=d;e=0:p.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c,d=0,e=this.length,f=[],g=bf.test(a)||typeof a!="string"?p(a,b||this.context):0;for(;d-1:p.find.matchesSelector(c,a)){f.push(c);break}c=c.parentNode}}return f=f.length>1?p.unique(f):f,this.pushStack(f,"closest",a)},index:function(a){return a?typeof a=="string"?p.inArray(this[0],p(a)):p.inArray(a.jquery?a[0]:a,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(a,b){var c=typeof a=="string"?p(a,b):p.makeArray(a&&a.nodeType?[a]:a),d=p.merge(this.get(),c);return this.pushStack(bh(c[0])||bh(d[0])?d:p.unique(d))},addBack:function(a){return this.add(a==null?this.prevObject:this.prevObject.filter(a))}}),p.fn.andSelf=p.fn.addBack,p.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return p.dir(a,"parentNode")},parentsUntil:function(a,b,c){return p.dir(a,"parentNode",c)},next:function(a){return bi(a,"nextSibling")},prev:function(a){return bi(a,"previousSibling")},nextAll:function(a){return p.dir(a,"nextSibling")},prevAll:function(a){return p.dir(a,"previousSibling")},nextUntil:function(a,b,c){return p.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return p.dir(a,"previousSibling",c)},siblings:function(a){return p.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return p.sibling(a.firstChild)},contents:function(a){return p.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:p.merge([],a.childNodes)}},function(a,b){p.fn[a]=function(c,d){var e=p.map(this,b,c);return bc.test(a)||(d=c),d&&typeof d=="string"&&(e=p.filter(d,e)),e=this.length>1&&!bg[a]?p.unique(e):e,this.length>1&&bd.test(a)&&(e=e.reverse()),this.pushStack(e,a,k.call(arguments).join(","))}}),p.extend({filter:function(a,b,c){return c&&(a=":not("+a+")"),b.length===1?p.find.matchesSelector(b[0],a)?[b[0]]:[]:p.find.matches(a,b)},dir:function(a,c,d){var e=[],f=a[c];while(f&&f.nodeType!==9&&(d===b||f.nodeType!==1||!p(f).is(d)))f.nodeType===1&&e.push(f),f=f[c];return e},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var bl="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",bm=/ jQuery\d+="(?:null|\d+)"/g,bn=/^\s+/,bo=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bp=/<([\w:]+)/,bq=/]","i"),bv=/^(?:checkbox|radio)$/,bw=/checked\s*(?:[^=]|=\s*.checked.)/i,bx=/\/(java|ecma)script/i,by=/^\s*\s*$/g,bz={option:[1,""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bA=bk(e),bB=bA.appendChild(e.createElement("div"));bz.optgroup=bz.option,bz.tbody=bz.tfoot=bz.colgroup=bz.caption=bz.thead,bz.th=bz.td,p.support.htmlSerialize||(bz._default=[1,"X
","
"]),p.fn.extend({text:function(a){return p.access(this,function(a){return a===b?p.text(this):this.empty().append((this[0]&&this[0].ownerDocument||e).createTextNode(a))},null,a,arguments.length)},wrapAll:function(a){if(p.isFunction(a))return this.each(function(b){p(this).wrapAll(a.call(this,b))});if(this[0]){var b=p(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){return p.isFunction(a)?this.each(function(b){p(this).wrapInner(a.call(this,b))}):this.each(function(){var b=p(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=p.isFunction(a);return this.each(function(c){p(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){p.nodeName(this,"body")||p(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(a,this.firstChild)})},before:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(a,this),"before",this.selector)}},after:function(){if(!bh(this[0]))return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=p.clean(arguments);return this.pushStack(p.merge(this,a),"after",this.selector)}},remove:function(a,b){var c,d=0;for(;(c=this[d])!=null;d++)if(!a||p.filter(a,[c]).length)!b&&c.nodeType===1&&(p.cleanData(c.getElementsByTagName("*")),p.cleanData([c])),c.parentNode&&c.parentNode.removeChild(c);return this},empty:function(){var a,b=0;for(;(a=this[b])!=null;b++){a.nodeType===1&&p.cleanData(a.getElementsByTagName("*"));while(a.firstChild)a.removeChild(a.firstChild)}return this},clone:function(a,b){return a=a==null?!1:a,b=b==null?a:b,this.map(function(){return p.clone(this,a,b)})},html:function(a){return p.access(this,function(a){var c=this[0]||{},d=0,e=this.length;if(a===b)return c.nodeType===1?c.innerHTML.replace(bm,""):b;if(typeof a=="string"&&!bs.test(a)&&(p.support.htmlSerialize||!bu.test(a))&&(p.support.leadingWhitespace||!bn.test(a))&&!bz[(bp.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(bo,"<$1>");try{for(;d1&&typeof j=="string"&&bw.test(j))return this.each(function(){p(this).domManip(a,c,d)});if(p.isFunction(j))return this.each(function(e){var f=p(this);a[0]=j.call(this,e,c?f.html():b),f.domManip(a,c,d)});if(this[0]){e=p.buildFragment(a,this,k),g=e.fragment,f=g.firstChild,g.childNodes.length===1&&(g=f);if(f){c=c&&p.nodeName(f,"tr");for(h=e.cacheable||l-1;i0?this.clone(!0):this).get(),p(g[e])[b](d),f=f.concat(d);return this.pushStack(f,a,g.selector)}}),p.extend({clone:function(a,b,c){var d,e,f,g;p.support.html5Clone||p.isXMLDoc(a)||!bu.test("<"+a.nodeName+">")?g=a.cloneNode(!0):(bB.innerHTML=a.outerHTML,bB.removeChild(g=bB.firstChild));if((!p.support.noCloneEvent||!p.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!p.isXMLDoc(a)){bE(a,g),d=bF(a),e=bF(g);for(f=0;d[f];++f)e[f]&&bE(d[f],e[f])}if(b){bD(a,g);if(c){d=bF(a),e=bF(g);for(f=0;d[f];++f)bD(d[f],e[f])}}return d=e=null,g},clean:function(a,b,c,d){var f,g,h,i,j,k,l,m,n,o,q,r,s=b===e&&bA,t=[];if(!b||typeof b.createDocumentFragment=="undefined")b=e;for(f=0;(h=a[f])!=null;f++){typeof h=="number"&&(h+="");if(!h)continue;if(typeof h=="string")if(!br.test(h))h=b.createTextNode(h);else{s=s||bk(b),l=b.createElement("div"),s.appendChild(l),h=h.replace(bo,"<$1>"),i=(bp.exec(h)||["",""])[1].toLowerCase(),j=bz[i]||bz._default,k=j[0],l.innerHTML=j[1]+h+j[2];while(k--)l=l.lastChild;if(!p.support.tbody){m=bq.test(h),n=i==="table"&&!m?l.firstChild&&l.firstChild.childNodes:j[1]===""&&!m?l.childNodes:[];for(g=n.length-1;g>=0;--g)p.nodeName(n[g],"tbody")&&!n[g].childNodes.length&&n[g].parentNode.removeChild(n[g])}!p.support.leadingWhitespace&&bn.test(h)&&l.insertBefore(b.createTextNode(bn.exec(h)[0]),l.firstChild),h=l.childNodes,l.parentNode.removeChild(l)}h.nodeType?t.push(h):p.merge(t,h)}l&&(h=l=s=null);if(!p.support.appendChecked)for(f=0;(h=t[f])!=null;f++)p.nodeName(h,"input")?bG(h):typeof h.getElementsByTagName!="undefined"&&p.grep(h.getElementsByTagName("input"),bG);if(c){q=function(a){if(!a.type||bx.test(a.type))return d?d.push(a.parentNode?a.parentNode.removeChild(a):a):c.appendChild(a)};for(f=0;(h=t[f])!=null;f++)if(!p.nodeName(h,"script")||!q(h))c.appendChild(h),typeof h.getElementsByTagName!="undefined"&&(r=p.grep(p.merge([],h.getElementsByTagName("script")),q),t.splice.apply(t,[f+1,0].concat(r)),f+=r.length)}return t},cleanData:function(a,b){var c,d,e,f,g=0,h=p.expando,i=p.cache,j=p.support.deleteExpando,k=p.event.special;for(;(e=a[g])!=null;g++)if(b||p.acceptData(e)){d=e[h],c=d&&i[d];if(c){if(c.events)for(f in c.events)k[f]?p.event.remove(e,f):p.removeEvent(e,f,c.handle);i[d]&&(delete i[d],j?delete e[h]:e.removeAttribute?e.removeAttribute(h):e[h]=null,p.deletedIds.push(d))}}}}),function(){var a,b;p.uaMatch=function(a){a=a.toLowerCase();var b=/(chrome)[ \/]([\w.]+)/.exec(a)||/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||a.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},a=p.uaMatch(g.userAgent),b={},a.browser&&(b[a.browser]=!0,b.version=a.version),b.chrome?b.webkit=!0:b.webkit&&(b.safari=!0),p.browser=b,p.sub=function(){function a(b,c){return new a.fn.init(b,c)}p.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function c(c,d){return d&&d instanceof p&&!(d instanceof a)&&(d=a(d)),p.fn.init.call(this,c,d,b)},a.fn.init.prototype=a.fn;var b=a(e);return a}}();var bH,bI,bJ,bK=/alpha\([^)]*\)/i,bL=/opacity=([^)]*)/,bM=/^(top|right|bottom|left)$/,bN=/^(none|table(?!-c[ea]).+)/,bO=/^margin/,bP=new RegExp("^("+q+")(.*)$","i"),bQ=new RegExp("^("+q+")(?!px)[a-z%]+$","i"),bR=new RegExp("^([-+])=("+q+")","i"),bS={},bT={position:"absolute",visibility:"hidden",display:"block"},bU={letterSpacing:0,fontWeight:400},bV=["Top","Right","Bottom","Left"],bW=["Webkit","O","Moz","ms"],bX=p.fn.toggle;p.fn.extend({css:function(a,c){return p.access(this,function(a,c,d){return d!==b?p.style(a,c,d):p.css(a,c)},a,c,arguments.length>1)},show:function(){return b$(this,!0)},hide:function(){return b$(this)},toggle:function(a,b){var c=typeof a=="boolean";return p.isFunction(a)&&p.isFunction(b)?bX.apply(this,arguments):this.each(function(){(c?a:bZ(this))?p(this).show():p(this).hide()})}}),p.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=bH(a,"opacity");return c===""?"1":c}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":p.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,c,d,e){if(!a||a.nodeType===3||a.nodeType===8||!a.style)return;var f,g,h,i=p.camelCase(c),j=a.style;c=p.cssProps[i]||(p.cssProps[i]=bY(j,i)),h=p.cssHooks[c]||p.cssHooks[i];if(d===b)return h&&"get"in h&&(f=h.get(a,!1,e))!==b?f:j[c];g=typeof d,g==="string"&&(f=bR.exec(d))&&(d=(f[1]+1)*f[2]+parseFloat(p.css(a,c)),g="number");if(d==null||g==="number"&&isNaN(d))return;g==="number"&&!p.cssNumber[i]&&(d+="px");if(!h||!("set"in h)||(d=h.set(a,d,e))!==b)try{j[c]=d}catch(k){}},css:function(a,c,d,e){var f,g,h,i=p.camelCase(c);return c=p.cssProps[i]||(p.cssProps[i]=bY(a.style,i)),h=p.cssHooks[c]||p.cssHooks[i],h&&"get"in h&&(f=h.get(a,!0,e)),f===b&&(f=bH(a,c)),f==="normal"&&c in bU&&(f=bU[c]),d||e!==b?(g=parseFloat(f),d||p.isNumeric(g)?g||0:f):f},swap:function(a,b,c){var d,e,f={};for(e in b)f[e]=a.style[e],a.style[e]=b[e];d=c.call(a);for(e in b)a.style[e]=f[e];return d}}),a.getComputedStyle?bH=function(b,c){var d,e,f,g,h=a.getComputedStyle(b,null),i=b.style;return h&&(d=h[c],d===""&&!p.contains(b.ownerDocument,b)&&(d=p.style(b,c)),bQ.test(d)&&bO.test(c)&&(e=i.width,f=i.minWidth,g=i.maxWidth,i.minWidth=i.maxWidth=i.width=d,d=h.width,i.width=e,i.minWidth=f,i.maxWidth=g)),d}:e.documentElement.currentStyle&&(bH=function(a,b){var c,d,e=a.currentStyle&&a.currentStyle[b],f=a.style;return e==null&&f&&f[b]&&(e=f[b]),bQ.test(e)&&!bM.test(b)&&(c=f.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),f.left=b==="fontSize"?"1em":e,e=f.pixelLeft+"px",f.left=c,d&&(a.runtimeStyle.left=d)),e===""?"auto":e}),p.each(["height","width"],function(a,b){p.cssHooks[b]={get:function(a,c,d){if(c)return a.offsetWidth===0&&bN.test(bH(a,"display"))?p.swap(a,bT,function(){return cb(a,b,d)}):cb(a,b,d)},set:function(a,c,d){return b_(a,c,d?ca(a,b,d,p.support.boxSizing&&p.css(a,"boxSizing")==="border-box"):0)}}}),p.support.opacity||(p.cssHooks.opacity={get:function(a,b){return bL.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=p.isNumeric(b)?"alpha(opacity="+b*100+")":"",f=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&p.trim(f.replace(bK,""))===""&&c.removeAttribute){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bK.test(f)?f.replace(bK,e):f+" "+e}}),p(function(){p.support.reliableMarginRight||(p.cssHooks.marginRight={get:function(a,b){return p.swap(a,{display:"inline-block"},function(){if(b)return bH(a,"marginRight")})}}),!p.support.pixelPosition&&p.fn.position&&p.each(["top","left"],function(a,b){p.cssHooks[b]={get:function(a,c){if(c){var d=bH(a,b);return bQ.test(d)?p(a).position()[b]+"px":d}}}})}),p.expr&&p.expr.filters&&(p.expr.filters.hidden=function(a){return a.offsetWidth===0&&a.offsetHeight===0||!p.support.reliableHiddenOffsets&&(a.style&&a.style.display||bH(a,"display"))==="none"},p.expr.filters.visible=function(a){return!p.expr.filters.hidden(a)}),p.each({margin:"",padding:"",border:"Width"},function(a,b){p.cssHooks[a+b]={expand:function(c){var d,e=typeof c=="string"?c.split(" "):[c],f={};for(d=0;d<4;d++)f[a+bV[d]+b]=e[d]||e[d-2]||e[0];return f}},bO.test(a)||(p.cssHooks[a+b].set=b_)});var cd=/%20/g,ce=/\[\]$/,cf=/\r?\n/g,cg=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,ch=/^(?:select|textarea)/i;p.fn.extend({serialize:function(){return p.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?p.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ch.test(this.nodeName)||cg.test(this.type))}).map(function(a,b){var c=p(this).val();return c==null?null:p.isArray(c)?p.map(c,function(a,c){return{name:b.name,value:a.replace(cf,"\r\n")}}):{name:b.name,value:c.replace(cf,"\r\n")}}).get()}}),p.param=function(a,c){var d,e=[],f=function(a,b){b=p.isFunction(b)?b():b==null?"":b,e[e.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=p.ajaxSettings&&p.ajaxSettings.traditional);if(p.isArray(a)||a.jquery&&!p.isPlainObject(a))p.each(a,function(){f(this.name,this.value)});else for(d in a)ci(d,a[d],c,f);return e.join("&").replace(cd,"+")};var cj,ck,cl=/#.*$/,cm=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,cn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,co=/^(?:GET|HEAD)$/,cp=/^\/\//,cq=/\?/,cr=/)<[^<]*)*<\/script>/gi,cs=/([?&])_=[^&]*/,ct=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,cu=p.fn.load,cv={},cw={},cx=["*/"]+["*"];try{ck=f.href}catch(cy){ck=e.createElement("a"),ck.href="",ck=ck.href}cj=ct.exec(ck.toLowerCase())||[],p.fn.load=function(a,c,d){if(typeof a!="string"&&cu)return cu.apply(this,arguments);if(!this.length)return this;var e,f,g,h=this,i=a.indexOf(" ");return i>=0&&(e=a.slice(i,a.length),a=a.slice(0,i)),p.isFunction(c)?(d=c,c=b):c&&typeof c=="object"&&(f="POST"),p.ajax({url:a,type:f,dataType:"html",data:c,complete:function(a,b){d&&h.each(d,g||[a.responseText,b,a])}}).done(function(a){g=arguments,h.html(e?p("
").append(a.replace(cr,"")).find(e):a)}),this},p.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){p.fn[b]=function(a){return this.on(b,a)}}),p.each(["get","post"],function(a,c){p[c]=function(a,d,e,f){return p.isFunction(d)&&(f=f||e,e=d,d=b),p.ajax({type:c,url:a,data:d,success:e,dataType:f})}}),p.extend({getScript:function(a,c){return p.get(a,b,c,"script")},getJSON:function(a,b,c){return p.get(a,b,c,"json")},ajaxSetup:function(a,b){return b?cB(a,p.ajaxSettings):(b=a,a=p.ajaxSettings),cB(a,b),a},ajaxSettings:{url:ck,isLocal:cn.test(cj[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":cx},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":p.parseJSON,"text xml":p.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:cz(cv),ajaxTransport:cz(cw),ajax:function(a,c){function y(a,c,f,i){var k,s,t,u,w,y=c;if(v===2)return;v=2,h&&clearTimeout(h),g=b,e=i||"",x.readyState=a>0?4:0,f&&(u=cC(l,x,f));if(a>=200&&a<300||a===304)l.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(p.lastModified[d]=w),w=x.getResponseHeader("Etag"),w&&(p.etag[d]=w)),a===304?(y="notmodified",k=!0):(k=cD(l,u),y=k.state,s=k.data,t=k.error,k=!t);else{t=y;if(!y||a)y="error",a<0&&(a=0)}x.status=a,x.statusText=(c||y)+"",k?o.resolveWith(m,[s,y,x]):o.rejectWith(m,[x,y,t]),x.statusCode(r),r=b,j&&n.trigger("ajax"+(k?"Success":"Error"),[x,l,k?s:t]),q.fireWith(m,[x,y]),j&&(n.trigger("ajaxComplete",[x,l]),--p.active||p.event.trigger("ajaxStop"))}typeof a=="object"&&(c=a,a=b),c=c||{};var d,e,f,g,h,i,j,k,l=p.ajaxSetup({},c),m=l.context||l,n=m!==l&&(m.nodeType||m instanceof p)?p(m):p.event,o=p.Deferred(),q=p.Callbacks("once memory"),r=l.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,setRequestHeader:function(a,b){if(!v){var c=a.toLowerCase();a=u[c]=u[c]||a,t[a]=b}return this},getAllResponseHeaders:function(){return v===2?e:null},getResponseHeader:function(a){var c;if(v===2){if(!f){f={};while(c=cm.exec(e))f[c[1].toLowerCase()]=c[2]}c=f[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){return v||(l.mimeType=a),this},abort:function(a){return a=a||w,g&&g.abort(a),y(0,a),this}};o.promise(x),x.success=x.done,x.error=x.fail,x.complete=q.add,x.statusCode=function(a){if(a){var b;if(v<2)for(b in a)r[b]=[r[b],a[b]];else b=a[x.status],x.always(b)}return this},l.url=((a||l.url)+"").replace(cl,"").replace(cp,cj[1]+"//"),l.dataTypes=p.trim(l.dataType||"*").toLowerCase().split(s),l.crossDomain==null&&(i=ct.exec(l.url.toLowerCase())||!1,l.crossDomain=i&&i.join(":")+(i[3]?"":i[1]==="http:"?80:443)!==cj.join(":")+(cj[3]?"":cj[1]==="http:"?80:443)),l.data&&l.processData&&typeof l.data!="string"&&(l.data=p.param(l.data,l.traditional)),cA(cv,l,c,x);if(v===2)return x;j=l.global,l.type=l.type.toUpperCase(),l.hasContent=!co.test(l.type),j&&p.active++===0&&p.event.trigger("ajaxStart");if(!l.hasContent){l.data&&(l.url+=(cq.test(l.url)?"&":"?")+l.data,delete l.data),d=l.url;if(l.cache===!1){var z=p.now(),A=l.url.replace(cs,"$1_="+z);l.url=A+(A===l.url?(cq.test(l.url)?"&":"?")+"_="+z:"")}}(l.data&&l.hasContent&&l.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",l.contentType),l.ifModified&&(d=d||l.url,p.lastModified[d]&&x.setRequestHeader("If-Modified-Since",p.lastModified[d]),p.etag[d]&&x.setRequestHeader("If-None-Match",p.etag[d])),x.setRequestHeader("Accept",l.dataTypes[0]&&l.accepts[l.dataTypes[0]]?l.accepts[l.dataTypes[0]]+(l.dataTypes[0]!=="*"?", "+cx+"; q=0.01":""):l.accepts["*"]);for(k in l.headers)x.setRequestHeader(k,l.headers[k]);if(!l.beforeSend||l.beforeSend.call(m,x,l)!==!1&&v!==2){w="abort";for(k in{success:1,error:1,complete:1})x[k](l[k]);g=cA(cw,l,c,x);if(!g)y(-1,"No Transport");else{x.readyState=1,j&&n.trigger("ajaxSend",[x,l]),l.async&&l.timeout>0&&(h=setTimeout(function(){x.abort("timeout")},l.timeout));try{v=1,g.send(t,y)}catch(B){if(v<2)y(-1,B);else throw B}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var cE=[],cF=/\?/,cG=/(=)\?(?=&|$)|\?\?/,cH=p.now();p.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=cE.pop()||p.expando+"_"+cH++;return this[a]=!0,a}}),p.ajaxPrefilter("json jsonp",function(c,d,e){var f,g,h,i=c.data,j=c.url,k=c.jsonp!==!1,l=k&&cG.test(j),m=k&&!l&&typeof i=="string"&&!(c.contentType||"").indexOf("application/x-www-form-urlencoded")&&cG.test(i);if(c.dataTypes[0]==="jsonp"||l||m)return f=c.jsonpCallback=p.isFunction(c.jsonpCallback)?c.jsonpCallback():c.jsonpCallback,g=a[f],l?c.url=j.replace(cG,"$1"+f):m?c.data=i.replace(cG,"$1"+f):k&&(c.url+=(cF.test(j)?"&":"?")+c.jsonp+"="+f),c.converters["script json"]=function(){return h||p.error(f+" was not called"),h[0]},c.dataTypes[0]="json",a[f]=function(){h=arguments},e.always(function(){a[f]=g,c[f]&&(c.jsonpCallback=d.jsonpCallback,cE.push(f)),h&&p.isFunction(g)&&g(h[0]),h=g=b}),"script"}),p.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){return p.globalEval(a),a}}}),p.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),p.ajaxTransport("script",function(a){if(a.crossDomain){var c,d=e.head||e.getElementsByTagName("head")[0]||e.documentElement;return{send:function(f,g){c=e.createElement("script"),c.async="async",a.scriptCharset&&(c.charset=a.scriptCharset),c.src=a.url,c.onload=c.onreadystatechange=function(a,e){if(e||!c.readyState||/loaded|complete/.test(c.readyState))c.onload=c.onreadystatechange=null,d&&c.parentNode&&d.removeChild(c),c=b,e||g(200,"success")},d.insertBefore(c,d.firstChild)},abort:function(){c&&c.onload(0,1)}}}});var cI,cJ=a.ActiveXObject?function(){for(var a in cI)cI[a](0,1)}:!1,cK=0;p.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&cL()||cM()}:cL,function(a){p.extend(p.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(p.ajaxSettings.xhr()),p.support.ajax&&p.ajaxTransport(function(c){if(!c.crossDomain||p.support.cors){var d;return{send:function(e,f){var g,h,i=c.xhr();c.username?i.open(c.type,c.url,c.async,c.username,c.password):i.open(c.type,c.url,c.async);if(c.xhrFields)for(h in c.xhrFields)i[h]=c.xhrFields[h];c.mimeType&&i.overrideMimeType&&i.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(h in e)i.setRequestHeader(h,e[h])}catch(j){}i.send(c.hasContent&&c.data||null),d=function(a,e){var h,j,k,l,m;try{if(d&&(e||i.readyState===4)){d=b,g&&(i.onreadystatechange=p.noop,cJ&&delete cI[g]);if(e)i.readyState!==4&&i.abort();else{h=i.status,k=i.getAllResponseHeaders(),l={},m=i.responseXML,m&&m.documentElement&&(l.xml=m);try{l.text=i.responseText}catch(a){}try{j=i.statusText}catch(n){j=""}!h&&c.isLocal&&!c.crossDomain?h=l.text?200:404:h===1223&&(h=204)}}}catch(o){e||f(-1,o)}l&&f(h,j,l,k)},c.async?i.readyState===4?setTimeout(d,0):(g=++cK,cJ&&(cI||(cI={},p(a).unload(cJ)),cI[g]=d),i.onreadystatechange=d):d()},abort:function(){d&&d(0,1)}}}});var cN,cO,cP=/^(?:toggle|show|hide)$/,cQ=new RegExp("^(?:([-+])=|)("+q+")([a-z%]*)$","i"),cR=/queueHooks$/,cS=[cY],cT={"*":[function(a,b){var c,d,e=this.createTween(a,b),f=cQ.exec(b),g=e.cur(),h=+g||0,i=1,j=20;if(f){c=+f[2],d=f[3]||(p.cssNumber[a]?"":"px");if(d!=="px"&&h){h=p.css(e.elem,a,!0)||c||1;do i=i||".5",h=h/i,p.style(e.elem,a,h+d);while(i!==(i=e.cur()/g)&&i!==1&&--j)}e.unit=d,e.start=h,e.end=f[1]?h+(f[1]+1)*c:c}return e}]};p.Animation=p.extend(cW,{tweener:function(a,b){p.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");var c,d=0,e=a.length;for(;d-1,j={},k={},l,m;i?(k=e.position(),l=k.top,m=k.left):(l=parseFloat(g)||0,m=parseFloat(h)||0),p.isFunction(b)&&(b=b.call(a,c,f)),b.top!=null&&(j.top=b.top-f.top+l),b.left!=null&&(j.left=b.left-f.left+m),"using"in b?b.using.call(a,j):e.css(j)}},p.fn.extend({position:function(){if(!this[0])return;var a=this[0],b=this.offsetParent(),c=this.offset(),d=c_.test(b[0].nodeName)?{top:0,left:0}:b.offset();return c.top-=parseFloat(p.css(a,"marginTop"))||0,c.left-=parseFloat(p.css(a,"marginLeft"))||0,d.top+=parseFloat(p.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(p.css(b[0],"borderLeftWidth"))||0,{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||e.body;while(a&&!c_.test(a.nodeName)&&p.css(a,"position")==="static")a=a.offsetParent;return a||e.body})}}),p.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,c){var d=/Y/.test(c);p.fn[a]=function(e){return p.access(this,function(a,e,f){var g=da(a);if(f===b)return g?c in g?g[c]:g.document.documentElement[e]:a[e];g?g.scrollTo(d?p(g).scrollLeft():f,d?f:p(g).scrollTop()):a[e]=f},a,e,arguments.length,null)}}),p.each({Height:"height",Width:"width"},function(a,c){p.each({padding:"inner"+a,content:c,"":"outer"+a},function(d,e){p.fn[e]=function(e,f){var g=arguments.length&&(d||typeof e!="boolean"),h=d||(e===!0||f===!0?"margin":"border");return p.access(this,function(c,d,e){var f;return p.isWindow(c)?c.document.documentElement["client"+a]:c.nodeType===9?(f=c.documentElement,Math.max(c.body["scroll"+a],f["scroll"+a],c.body["offset"+a],f["offset"+a],f["client"+a])):e===b?p.css(c,d,e,h):p.style(c,d,e,h)},c,g?e:b,g,null)}})}),a.jQuery=a.$=p,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return p})})(window); \ No newline at end of file diff --git a/packages/jQuery.1.8.2/Tools/common.ps1 b/packages/jQuery.1.8.2/Tools/common.ps1 new file mode 100644 index 00000000..3551f0a2 --- /dev/null +++ b/packages/jQuery.1.8.2/Tools/common.ps1 @@ -0,0 +1,117 @@ +function Get-Checksum($file) { + $cryptoProvider = New-Object "System.Security.Cryptography.MD5CryptoServiceProvider" + + $fileInfo = Get-Item $file + trap { ; + continue } $stream = $fileInfo.OpenRead() + if ($? -eq $false) { + # Couldn't open file for reading + return $null + } + + $bytes = $cryptoProvider.ComputeHash($stream) + $checksum = '' + foreach ($byte in $bytes) { + $checksum += $byte.ToString('x2') + } + + $stream.Close() | Out-Null + + return $checksum +} + +function AddOrUpdate-Reference($scriptsFolderProjectItem, $fileNamePattern, $newFileName) { + try { + $referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js") + } + catch { + # _references.js file not found + return + } + + if ($referencesFileProjectItem -eq $null) { + # _references.js file not found + return + } + + $referencesFilePath = $referencesFileProjectItem.FileNames(1) + $referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js" + + if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 0) { + # File has no existing matching reference line + # Add the full reference line to the beginning of the file + "/// " | Add-Content $referencesTempFilePath -Encoding UTF8 + Get-Content $referencesFilePath | Add-Content $referencesTempFilePath + } + else { + # Loop through file and replace old file name with new file name + Get-Content $referencesFilePath | ForEach-Object { $_ -replace $fileNamePattern, $newFileName } > $referencesTempFilePath + } + + # Copy over the new _references.js file + Copy-Item $referencesTempFilePath $referencesFilePath -Force + Remove-Item $referencesTempFilePath -Force +} + +function Remove-Reference($scriptsFolderProjectItem, $fileNamePattern) { + try { + $referencesFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("_references.js") + } + catch { + # _references.js file not found + return + } + + if ($referencesFileProjectItem -eq $null) { + return + } + + $referencesFilePath = $referencesFileProjectItem.FileNames(1) + $referencesTempFilePath = Join-Path $env:TEMP "_references.tmp.js" + + if ((Select-String $referencesFilePath -pattern $fileNamePattern).Length -eq 1) { + # Delete the line referencing the file + Get-Content $referencesFilePath | ForEach-Object { if (-not ($_ -match $fileNamePattern)) { $_ } } > $referencesTempFilePath + + # Copy over the new _references.js file + Copy-Item $referencesTempFilePath $referencesFilePath -Force + Remove-Item $referencesTempFilePath -Force + } +} + +function Delete-ProjectItem($item) { + $itemDeleted = $false + for ($1=1; $i -le 5; $i++) { + try { + $item.Delete() + $itemDeleted = $true + break + } + catch { + # Try again in 200ms + [System.Threading.Thread]::Sleep(200) + } + } + if ($itemDeleted -eq $false) { + throw "Unable to delete project item after five attempts." + } +} + +# Extract the version number from the jquery file in the package's content\scripts folder +$packageScriptsFolder = Join-Path $installPath Content\Scripts +$jqueryFileName = Join-Path $packageScriptsFolder "jquery-*.js" | Get-ChildItem -Exclude "*.min.js","*-vsdoc.js" | Split-Path -Leaf +$jqueryFileNameRegEx = "jquery-((?:\d+\.)?(?:\d+\.)?(?:\d+\.)?(?:\d+)).js" +$jqueryFileName -match $jqueryFileNameRegEx +$ver = $matches[1] + +$intelliSenseFileName = "jquery-$ver.intellisense.js" + +# Get the project item for the scripts folder +try { + $scriptsFolderProjectItem = $project.ProjectItems.Item("Scripts") + $projectScriptsFolderPath = $scriptsFolderProjectItem.FileNames(1) +} +catch { + # No Scripts folder + Write-Host "No scripts folder found" +} \ No newline at end of file diff --git a/packages/jQuery.1.8.2/Tools/install.ps1 b/packages/jQuery.1.8.2/Tools/install.ps1 new file mode 100644 index 00000000..716d5b76 --- /dev/null +++ b/packages/jQuery.1.8.2/Tools/install.ps1 @@ -0,0 +1,41 @@ +param($installPath, $toolsPath, $package, $project) + +. (Join-Path $toolsPath common.ps1) + +# VS 11 and above supports the new intellisense JS files +$vsVersion = [System.Version]::Parse($dte.Version) +$supportsJsIntelliSenseFile = $vsVersion.Major -ge 11 + +if (-not $supportsJsIntelliSenseFile) { + $displayVersion = $vsVersion.Major + Write-Host "IntelliSense JS files are not supported by your version of Visual Studio: $displayVersion" + exit +} + +if ($scriptsFolderProjectItem -eq $null) { + # No Scripts folder + Write-Host "No Scripts folder found" + exit +} + +# Delete the vsdoc file from the project +try { + $vsDocProjectItem = $scriptsFolderProjectItem.ProjectItems.Item("jquery-$ver-vsdoc.js") + Delete-ProjectItem $vsDocProjectItem +} +catch { + Write-Host "Error deleting vsdoc file: " + $_.Exception -ForegroundColor Red + exit +} + +# Copy the intellisense file to the project from the tools folder +$intelliSenseFileSourcePath = Join-Path $toolsPath $intelliSenseFileName +try { + $scriptsFolderProjectItem.ProjectItems.AddFromFileCopy($intelliSenseFileSourcePath) +} +catch { + # This will throw if the file already exists, so we need to catch here +} + +# Update the _references.js file +AddOrUpdate-Reference $scriptsFolderProjectItem $jqueryFileNameRegEx $jqueryFileName \ No newline at end of file diff --git a/packages/jQuery.1.8.2/Tools/jquery-1.8.2.intellisense.js b/packages/jQuery.1.8.2/Tools/jquery-1.8.2.intellisense.js new file mode 100644 index 00000000..5514196d --- /dev/null +++ b/packages/jQuery.1.8.2/Tools/jquery-1.8.2.intellisense.js @@ -0,0 +1,2494 @@ +intellisense.annotate(jQuery, { + 'ajax': function() { + /// + /// Perform an asynchronous HTTP (Ajax) request. + /// A string containing the URL to which the request is sent. + /// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). See jQuery.ajax( settings ) below for a complete list of all settings. + /// + /// + /// + /// Perform an asynchronous HTTP (Ajax) request. + /// A set of key/value pairs that configure the Ajax request. All settings are optional. A default can be set for any option with $.ajaxSetup(). + /// + /// + }, + 'ajaxPrefilter': function() { + /// + /// Handle custom Ajax options or modify existing options before each request is sent and before they are processed by $.ajax(). + /// An optional string containing one or more space-separated dataTypes + /// A handler to set default values for future Ajax requests. + /// + }, + 'ajaxSetup': function() { + /// + /// Set default values for future Ajax requests. + /// A set of key/value pairs that configure the default Ajax request. All options are optional. + /// + }, + 'boxModel': function() { + /// Deprecated in jQuery 1.3 (see jQuery.support). States if the current page, in the user's browser, is being rendered using the W3C CSS Box Model. + /// + }, + 'browser': function() { + /// Contains flags for the useragent, read from navigator.userAgent. We recommend against using this property; please try to use feature detection instead (see jQuery.support). jQuery.browser may be moved to a plugin in a future release of jQuery. + /// + }, + 'browser.version': function() { + /// The version number of the rendering engine for the user's browser. + /// + }, + 'Callbacks': function() { + /// + /// A multi-purpose callbacks list object that provides a powerful way to manage callback lists. + /// An optional list of space-separated flags that change how the callback list behaves. + /// + }, + 'contains': function() { + /// + /// Check to see if a DOM element is within another DOM element. + /// The DOM element that may contain the other element. + /// The DOM element that may be contained by the other element. + /// + /// + }, + 'cssHooks': function() { + /// Hook directly into jQuery to override how particular CSS properties are retrieved or set, normalize CSS property naming, or create custom properties. + /// + }, + 'data': function() { + /// + /// Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. + /// The DOM element to query for the data. + /// Name of the data stored. + /// + /// + /// + /// Returns value at named data store for the element, as set by jQuery.data(element, name, value), or the full data store for the element. + /// The DOM element to query for the data. + /// + /// + }, + 'dequeue': function() { + /// + /// Execute the next function on the queue for the matched element. + /// A DOM element from which to remove and execute a queued function. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + }, + 'each': function() { + /// + /// A generic iterator function, which can be used to seamlessly iterate over both objects and arrays. Arrays and array-like objects with a length property (such as a function's arguments object) are iterated by numeric index, from 0 to length-1. Other objects are iterated via their named properties. + /// The object or array to iterate over. + /// The function that will be executed on every object. + /// + /// + }, + 'error': function() { + /// + /// Takes a string and throws an exception containing it. + /// The message to send out. + /// + }, + 'extend': function() { + /// + /// Merge the contents of two or more objects together into the first object. + /// An object that will receive the new properties if additional objects are passed in or that will extend the jQuery namespace if it is the sole argument. + /// An object containing additional properties to merge in. + /// Additional objects containing properties to merge in. + /// + /// + /// + /// Merge the contents of two or more objects together into the first object. + /// If true, the merge becomes recursive (aka. deep copy). + /// The object to extend. It will receive the new properties. + /// An object containing additional properties to merge in. + /// Additional objects containing properties to merge in. + /// + /// + }, + 'get': function() { + /// + /// Load data from the server using a HTTP GET request. + /// A string containing the URL to which the request is sent. + /// A map or string that is sent to the server with the request. + /// A callback function that is executed if the request succeeds. + /// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html). + /// + /// + }, + 'getJSON': function() { + /// + /// Load JSON-encoded data from the server using a GET HTTP request. + /// A string containing the URL to which the request is sent. + /// A map or string that is sent to the server with the request. + /// A callback function that is executed if the request succeeds. + /// + /// + }, + 'getScript': function() { + /// + /// Load a JavaScript file from the server using a GET HTTP request, then execute it. + /// A string containing the URL to which the request is sent. + /// A callback function that is executed if the request succeeds. + /// + /// + }, + 'globalEval': function() { + /// + /// Execute some JavaScript code globally. + /// The JavaScript code to execute. + /// + }, + 'grep': function() { + /// + /// Finds the elements of an array which satisfy a filter function. The original array is not affected. + /// The array to search through. + /// The function to process each item against. The first argument to the function is the item, and the second argument is the index. The function should return a Boolean value. this will be the global window object. + /// If "invert" is false, or not provided, then the function returns an array consisting of all elements for which "callback" returns true. If "invert" is true, then the function returns an array consisting of all elements for which "callback" returns false. + /// + /// + }, + 'hasData': function() { + /// + /// Determine whether an element has any jQuery data associated with it. + /// A DOM element to be checked for data. + /// + /// + }, + 'holdReady': function() { + /// + /// Holds or releases the execution of jQuery's ready event. + /// Indicates whether the ready hold is being requested or released + /// + }, + 'inArray': function() { + /// + /// Search for a specified value within an array and return its index (or -1 if not found). + /// The value to search for. + /// An array through which to search. + /// The index of the array at which to begin the search. The default is 0, which will search the whole array. + /// + /// + }, + 'isArray': function() { + /// + /// Determine whether the argument is an array. + /// Object to test whether or not it is an array. + /// + /// + }, + 'isEmptyObject': function() { + /// + /// Check to see if an object is empty (contains no properties). + /// The object that will be checked to see if it's empty. + /// + /// + }, + 'isFunction': function() { + /// + /// Determine if the argument passed is a Javascript function object. + /// Object to test whether or not it is a function. + /// + /// + }, + 'isNumeric': function() { + /// + /// Determines whether its argument is a number. + /// The value to be tested. + /// + /// + }, + 'isPlainObject': function() { + /// + /// Check to see if an object is a plain object (created using "{}" or "new Object"). + /// The object that will be checked to see if it's a plain object. + /// + /// + }, + 'isWindow': function() { + /// + /// Determine whether the argument is a window. + /// Object to test whether or not it is a window. + /// + /// + }, + 'isXMLDoc': function() { + /// + /// Check to see if a DOM node is within an XML document (or is an XML document). + /// The DOM node that will be checked to see if it's in an XML document. + /// + /// + }, + 'makeArray': function() { + /// + /// Convert an array-like object into a true JavaScript array. + /// Any object to turn into a native Array. + /// + /// + }, + 'map': function() { + /// + /// Translate all items in an array or object to new array of items. + /// The Array to translate. + /// The function to process each item against. The first argument to the function is the array item, the second argument is the index in array The function can return any value. Within the function, this refers to the global (window) object. + /// + /// + /// + /// Translate all items in an array or object to new array of items. + /// The Array or Object to translate. + /// The function to process each item against. The first argument to the function is the value; the second argument is the index or key of the array or object property. The function can return any value to add to the array. A returned array will be flattened into the resulting array. Within the function, this refers to the global (window) object. + /// + /// + }, + 'merge': function() { + /// + /// Merge the contents of two arrays together into the first array. + /// The first array to merge, the elements of second added. + /// The second array to merge into the first, unaltered. + /// + /// + }, + 'noConflict': function() { + /// + /// Relinquish jQuery's control of the $ variable. + /// A Boolean indicating whether to remove all jQuery variables from the global scope (including jQuery itself). + /// + /// + }, + 'noop': function() { + /// An empty function. + /// + }, + 'now': function() { + /// Return a number representing the current time. + /// + }, + 'param': function() { + /// + /// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + /// An array or object to serialize. + /// + /// + /// + /// Create a serialized representation of an array or object, suitable for use in a URL query string or Ajax request. + /// An array or object to serialize. + /// A Boolean indicating whether to perform a traditional "shallow" serialization. + /// + /// + }, + 'parseJSON': function() { + /// + /// Takes a well-formed JSON string and returns the resulting JavaScript object. + /// The JSON string to parse. + /// + /// + }, + 'parseXML': function() { + /// + /// Parses a string into an XML document. + /// a well-formed XML string to be parsed + /// + /// + }, + 'post': function() { + /// + /// Load data from the server using a HTTP POST request. + /// A string containing the URL to which the request is sent. + /// A map or string that is sent to the server with the request. + /// A callback function that is executed if the request succeeds. + /// The type of data expected from the server. Default: Intelligent Guess (xml, json, script, text, html). + /// + /// + }, + 'proxy': function() { + /// + /// Takes a function and returns a new one that will always have a particular context. + /// The function whose context will be changed. + /// The object to which the context (this) of the function should be set. + /// + /// + /// + /// Takes a function and returns a new one that will always have a particular context. + /// The object to which the context of the function should be set. + /// The name of the function whose context will be changed (should be a property of the context object). + /// + /// + }, + 'queue': function() { + /// + /// Manipulate the queue of functions to be executed on the matched element. + /// A DOM element where the array of queued functions is attached. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// An array of functions to replace the current queue contents. + /// + /// + /// + /// Manipulate the queue of functions to be executed on the matched element. + /// A DOM element on which to add a queued function. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// The new function to add to the queue. + /// + /// + }, + 'removeData': function() { + /// + /// Remove a previously-stored piece of data. + /// A DOM element from which to remove data. + /// A string naming the piece of data to remove. + /// + /// + }, + 'sub': function() { + /// Creates a new copy of jQuery whose properties and methods can be modified without affecting the original jQuery object. + /// + }, + 'support': function() { + /// A collection of properties that represent the presence of different browser features or bugs. Primarily intended for jQuery's internal use; specific properties may be removed when they are no longer needed internally to improve page startup performance. + /// + }, + 'trim': function() { + /// + /// Remove the whitespace from the beginning and end of a string. + /// The string to trim. + /// + /// + }, + 'type': function() { + /// + /// Determine the internal JavaScript [[Class]] of an object. + /// Object to get the internal JavaScript [[Class]] of. + /// + /// + }, + 'unique': function() { + /// + /// Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays of DOM elements, not strings or numbers. + /// The Array of DOM elements. + /// + /// + }, + 'when': function() { + /// + /// Provides a way to execute callback functions based on one or more objects, usually Deferred objects that represent asynchronous events. + /// One or more Deferred objects, or plain JavaScript objects. + /// + /// + }, +}); + +var _1228819969 = jQuery.Callbacks; +jQuery.Callbacks = function(flags) { +var _object = _1228819969(flags); +intellisense.annotate(_object, { + 'add': function() { + /// + /// Add a callback or a collection of callbacks to a callback list. + /// A function, or array of functions, that are to be added to the callback list. + /// + }, + 'disable': function() { + /// Disable a callback list from doing anything more. + }, + 'empty': function() { + /// Remove all of the callbacks from a list. + }, + 'fire': function() { + /// + /// Call all of the callbacks with the given arguments + /// The argument or list of arguments to pass back to the callback list. + /// + }, + 'fired': function() { + /// Determine if the callbacks have already been called at least once. + /// + }, + 'fireWith': function() { + /// + /// Call all callbacks in a list with the given context and arguments. + /// A reference to the context in which the callbacks in the list should be fired. + /// An argument, or array of arguments, to pass to the callbacks in the list. + /// + }, + 'has': function() { + /// + /// Determine whether a supplied callback is in a list + /// The callback to search for. + /// + /// + }, + 'lock': function() { + /// Lock a callback list in its current state. + }, + 'locked': function() { + /// Determine if the callbacks list has been locked. + /// + }, + 'remove': function() { + /// + /// Remove a callback or a collection of callbacks from a callback list. + /// A function, or array of functions, that are to be removed from the callback list. + /// + }, +}); + +return _object; +}; +intellisense.redirectDefinition(jQuery.Callbacks, _1228819969); + +var _731531622 = jQuery.Deferred; +jQuery.Deferred = function(func) { +var _object = _731531622(func); +intellisense.annotate(_object, { + 'always': function() { + /// + /// Add handlers to be called when the Deferred object is either resolved or rejected. + /// A function, or array of functions, that is called when the Deferred is resolved or rejected. + /// Optional additional functions, or arrays of functions, that are called when the Deferred is resolved or rejected. + /// + /// + }, + 'done': function() { + /// + /// Add handlers to be called when the Deferred object is resolved. + /// A function, or array of functions, that are called when the Deferred is resolved. + /// Optional additional functions, or arrays of functions, that are called when the Deferred is resolved. + /// + /// + }, + 'fail': function() { + /// + /// Add handlers to be called when the Deferred object is rejected. + /// A function, or array of functions, that are called when the Deferred is rejected. + /// Optional additional functions, or arrays of functions, that are called when the Deferred is rejected. + /// + /// + }, + 'isRejected': function() { + /// Determine whether a Deferred object has been rejected. + /// + }, + 'isResolved': function() { + /// Determine whether a Deferred object has been resolved. + /// + }, + 'notify': function() { + /// + /// Call the progressCallbacks on a Deferred object with the given args. + /// Optional arguments that are passed to the progressCallbacks. + /// + /// + }, + 'notifyWith': function() { + /// + /// Call the progressCallbacks on a Deferred object with the given context and args. + /// Context passed to the progressCallbacks as the this object. + /// Optional arguments that are passed to the progressCallbacks. + /// + /// + }, + 'pipe': function() { + /// + /// Utility method to filter and/or chain Deferreds. + /// An optional function that is called when the Deferred is resolved. + /// An optional function that is called when the Deferred is rejected. + /// + /// + /// + /// Utility method to filter and/or chain Deferreds. + /// An optional function that is called when the Deferred is resolved. + /// An optional function that is called when the Deferred is rejected. + /// An optional function that is called when progress notifications are sent to the Deferred. + /// + /// + }, + 'progress': function() { + /// + /// Add handlers to be called when the Deferred object generates progress notifications. + /// A function, or array of functions, that is called when the Deferred generates progress notifications. + /// + /// + }, + 'promise': function() { + /// + /// Return a Deferred's Promise object. + /// Object onto which the promise methods have to be attached + /// + /// + }, + 'reject': function() { + /// + /// Reject a Deferred object and call any failCallbacks with the given args. + /// Optional arguments that are passed to the failCallbacks. + /// + /// + }, + 'rejectWith': function() { + /// + /// Reject a Deferred object and call any failCallbacks with the given context and args. + /// Context passed to the failCallbacks as the this object. + /// An optional array of arguments that are passed to the failCallbacks. + /// + /// + }, + 'resolve': function() { + /// + /// Resolve a Deferred object and call any doneCallbacks with the given args. + /// Optional arguments that are passed to the doneCallbacks. + /// + /// + }, + 'resolveWith': function() { + /// + /// Resolve a Deferred object and call any doneCallbacks with the given context and args. + /// Context passed to the doneCallbacks as the this object. + /// An optional array of arguments that are passed to the doneCallbacks. + /// + /// + }, + 'state': function() { + /// Determine the current state of a Deferred object. + /// + }, + 'then': function() { + /// + /// Add handlers to be called when the Deferred object is resolved or rejected. + /// A function, or array of functions, called when the Deferred is resolved. + /// A function, or array of functions, called when the Deferred is rejected. + /// + /// + /// + /// Add handlers to be called when the Deferred object is resolved or rejected. + /// A function, or array of functions, called when the Deferred is resolved. + /// A function, or array of functions, called when the Deferred is rejected. + /// A function, or array of functions, called when the Deferred notifies progress. + /// + /// + }, +}); + +return _object; +}; +intellisense.redirectDefinition(jQuery.Callbacks, _731531622); + +intellisense.annotate(jQuery.Event.prototype, { + 'currentTarget': function() { + /// The current DOM element within the event bubbling phase. + /// + }, + 'data': function() { + /// An optional data map passed to an event method when the current executing handler is bound. + }, + 'delegateTarget': function() { + /// The element where the currently-called jQuery event handler was attached. + /// + }, + 'isDefaultPrevented': function() { + /// Returns whether event.preventDefault() was ever called on this event object. + /// + }, + 'isImmediatePropagationStopped': function() { + /// Returns whether event.stopImmediatePropagation() was ever called on this event object. + /// + }, + 'isPropagationStopped': function() { + /// Returns whether event.stopPropagation() was ever called on this event object. + /// + }, + 'namespace': function() { + /// The namespace specified when the event was triggered. + /// + }, + 'pageX': function() { + /// The mouse position relative to the left edge of the document. + /// + }, + 'pageY': function() { + /// The mouse position relative to the top edge of the document. + /// + }, + 'preventDefault': function() { + /// If this method is called, the default action of the event will not be triggered. + }, + 'relatedTarget': function() { + /// The other DOM element involved in the event, if any. + /// + }, + 'result': function() { + /// The last value returned by an event handler that was triggered by this event, unless the value was undefined. + /// + }, + 'stopImmediatePropagation': function() { + /// Keeps the rest of the handlers from being executed and prevents the event from bubbling up the DOM tree. + }, + 'stopPropagation': function() { + /// Prevents the event from bubbling up the DOM tree, preventing any parent handlers from being notified of the event. + }, + 'target': function() { + /// The DOM element that initiated the event. + /// + }, + 'timeStamp': function() { + /// The difference in milliseconds between the time the browser created the event and January 1, 1970. + /// + }, + 'type': function() { + /// Describes the nature of the event. + /// + }, + 'which': function() { + /// For key or mouse events, this property indicates the specific key or button that was pressed. + /// + }, +}); + +intellisense.annotate(jQuery.fn, { + 'add': function() { + /// + /// Add elements to the set of matched elements. + /// A string representing a selector expression to find additional elements to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// One or more elements to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// An HTML fragment to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// An existing jQuery object to add to the set of matched elements. + /// + /// + /// + /// Add elements to the set of matched elements. + /// A string representing a selector expression to find additional elements to add to the set of matched elements. + /// The point in the document at which the selector should begin matching; similar to the context argument of the $(selector, context) method. + /// + /// + }, + 'addClass': function() { + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// One or more class names to be added to the class attribute of each matched element. + /// + /// + /// + /// Adds the specified class(es) to each of the set of matched elements. + /// A function returning one or more space-separated class names to be added to the existing class name(s). Receives the index position of the element in the set and the existing class name(s) as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'after': function() { + /// + /// Insert content, specified by the parameter, after each element in the set of matched elements. + /// HTML string, DOM element, or jQuery object to insert after each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert after each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, after each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert after each element in the set of matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, + 'ajaxComplete': function() { + /// + /// Register a handler to be called when Ajax requests complete. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxError': function() { + /// + /// Register a handler to be called when Ajax requests complete with an error. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxSend': function() { + /// + /// Attach a function to be executed before an Ajax request is sent. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxStart': function() { + /// + /// Register a handler to be called when the first Ajax request begins. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxStop': function() { + /// + /// Register a handler to be called when all Ajax requests have completed. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'ajaxSuccess': function() { + /// + /// Attach a function to be executed whenever an Ajax request completes successfully. This is an Ajax Event. + /// The function to be invoked. + /// + /// + }, + 'all': function() { + /// Selects all elements. + }, + 'andSelf': function() { + /// Add the previous set of elements on the stack to the current set. + /// + }, + 'animate': function() { + /// + /// Perform a custom animation of a set of CSS properties. + /// A map of CSS properties that the animation will move toward. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + /// + /// Perform a custom animation of a set of CSS properties. + /// A map of CSS properties that the animation will move toward. + /// A map of additional options to pass to the method. Supported keys: duration: A string or number determining how long the animation will run.easing: A string indicating which easing function to use for the transition.complete: A function to call once the animation is complete.step: A function to be called after each step of the animation.queue: A Boolean indicating whether to place the animation in the effects queue. If false, the animation will begin immediately. As of jQuery 1.7, the queue option can also accept a string, in which case the animation is added to the queue represented by that string.specialEasing: A map of one or more of the CSS properties defined by the properties argument and their corresponding easing functions (added 1.4). + /// + /// + }, + 'animated': function() { + /// Select all elements that are in the progress of an animation at the time the selector is run. + }, + 'append': function() { + /// + /// Insert content, specified by the parameter, to the end of each element in the set of matched elements. + /// DOM element, HTML string, or jQuery object to insert at the end of each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the end of each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, to the end of each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert at the end of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'appendTo': function() { + /// + /// Insert every element in the set of matched elements to the end of the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the end of the element(s) specified by this parameter. + /// + /// + }, + 'attr': function() { + /// + /// Set one or more attributes for the set of matched elements. + /// The name of the attribute to set. + /// A value to set for the attribute. + /// + /// + /// + /// Set one or more attributes for the set of matched elements. + /// A map of attribute-value pairs to set. + /// + /// + /// + /// Set one or more attributes for the set of matched elements. + /// The name of the attribute to set. + /// A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old attribute value as arguments. + /// + /// + }, + 'attributeContains': function() { + /// + /// Selects elements that have the specified attribute with a value containing the a given substring. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeContainsPrefix': function() { + /// + /// Selects elements that have the specified attribute with a value either equal to a given string or starting with that string followed by a hyphen (-). + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeContainsWord': function() { + /// + /// Selects elements that have the specified attribute with a value containing a given word, delimited by spaces. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeEndsWith': function() { + /// + /// Selects elements that have the specified attribute with a value ending exactly with a given string. The comparison is case sensitive. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeEquals': function() { + /// + /// Selects elements that have the specified attribute with a value exactly equal to a certain value. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeHas': function() { + /// + /// Selects elements that have the specified attribute, with any value. + /// An attribute name. + /// + }, + 'attributeMultiple': function() { + /// + /// Matches elements that match all of the specified attribute filters. + /// An attribute filter. + /// Another attribute filter, reducing the selection even more + /// As many more attribute filters as necessary + /// + }, + 'attributeNotEqual': function() { + /// + /// Select elements that either don't have the specified attribute, or do have the specified attribute but not with a certain value. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'attributeStartsWith': function() { + /// + /// Selects elements that have the specified attribute with a value beginning exactly with a given string. + /// An attribute name. + /// An attribute value. Can be either an unquoted single word or a quoted string. + /// + }, + 'before': function() { + /// + /// Insert content, specified by the parameter, before each element in the set of matched elements. + /// HTML string, DOM element, or jQuery object to insert before each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert before each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, before each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert before each element in the set of matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, + 'bind': function() { + /// + /// Attach a handler to an event for the elements. + /// A string containing one or more DOM event types, such as "click" or "submit," or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Attach a handler to an event for the elements. + /// A string containing one or more DOM event types, such as "click" or "submit," or custom event names. + /// A map of data that will be passed to the event handler. + /// Setting the third argument to false will attach a function that prevents the default action from occurring and stops the event from bubbling. The default is true. + /// + /// + /// + /// Attach a handler to an event for the elements. + /// A map of one or more DOM event types and functions to execute for them. + /// + /// + }, + 'blur': function() { + /// + /// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "blur" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'button': function() { + /// Selects all button elements and elements of type button. + }, + 'change': function() { + /// + /// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "change" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'checkbox': function() { + /// Selects all elements of type checkbox. + }, + 'checked': function() { + /// Matches all elements that are checked. + }, + 'child': function() { + /// + /// Selects all direct child elements specified by "child" of elements specified by "parent". + /// Any valid selector. + /// A selector to filter the child elements. + /// + }, + 'children': function() { + /// + /// Get the children of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'class': function() { + /// + /// Selects all elements with the given class. + /// A class to search for. An element can have multiple classes; only one of them must match. + /// + }, + 'clearQueue': function() { + /// + /// Remove from the queue all items that have not yet been run. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + }, + 'click': function() { + /// + /// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "click" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'clone': function() { + /// + /// Create a deep copy of the set of matched elements. + /// A Boolean indicating whether event handlers should be copied along with the elements. As of jQuery 1.4, element data will be copied as well. + /// + /// + /// + /// Create a deep copy of the set of matched elements. + /// A Boolean indicating whether event handlers and data should be copied along with the elements. The default value is false. *In jQuery 1.5.0 the default value was incorrectly true; it was changed back to false in 1.5.1 and up. + /// A Boolean indicating whether event handlers and data for all children of the cloned element should be copied. By default its value matches the first argument's value (which defaults to false). + /// + /// + }, + 'closest': function() { + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// A string containing a selector expression to match elements against. + /// A DOM element within which a matching element may be found. If no context is passed in then the context of the jQuery set will be used instead. + /// + /// + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// A jQuery object to match elements against. + /// + /// + /// + /// Get the first element that matches the selector, beginning at the current element and progressing up through the DOM tree. + /// An element to match elements against. + /// + /// + }, + 'contains': function() { + /// + /// Select all elements that contain the specified text. + /// A string of text to look for. It's case sensitive. + /// + }, + 'contents': function() { + /// Get the children of each element in the set of matched elements, including text and comment nodes. + /// + }, + 'context': function() { + /// The DOM node context originally passed to jQuery(); if none was passed then context will likely be the document. + /// + }, + 'css': function() { + /// + /// Set one or more CSS properties for the set of matched elements. + /// A CSS property name. + /// A value to set for the property. + /// + /// + /// + /// Set one or more CSS properties for the set of matched elements. + /// A CSS property name. + /// A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. + /// + /// + /// + /// Set one or more CSS properties for the set of matched elements. + /// A map of property-value pairs to set. + /// + /// + }, + 'data': function() { + /// + /// Store arbitrary data associated with the matched elements. + /// A string naming the piece of data to set. + /// The new data value; it can be any Javascript type including Array or Object. + /// + /// + /// + /// Store arbitrary data associated with the matched elements. + /// An object of key-value pairs of data to update. + /// + /// + }, + 'dblclick': function() { + /// + /// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "dblclick" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'delay': function() { + /// + /// Set a timer to delay execution of subsequent items in the queue. + /// An integer indicating the number of milliseconds to delay execution of the next item in the queue. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + }, + 'delegate': function() { + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// A selector to filter the elements that trigger the event. + /// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// A selector to filter the elements that trigger the event. + /// A string containing one or more space-separated JavaScript event types, such as "click" or "keydown," or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach a handler to one or more events for all elements that match the selector, now or in the future, based on a specific set of root elements. + /// A selector to filter the elements that trigger the event. + /// A map of one or more event types and functions to execute for them. + /// + /// + }, + 'dequeue': function() { + /// + /// Execute the next function on the queue for the matched elements. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// + /// + }, + 'descendant': function() { + /// + /// Selects all elements that are descendants of a given ancestor. + /// Any valid selector. + /// A selector to filter the descendant elements. + /// + }, + 'detach': function() { + /// + /// Remove the set of matched elements from the DOM. + /// A selector expression that filters the set of matched elements to be removed. + /// + /// + }, + 'die': function() { + /// + /// Remove an event handler previously attached using .live() from the elements. + /// A string containing a JavaScript event type, such as click or keydown. + /// The function that is no longer to be executed. + /// + /// + /// + /// Remove an event handler previously attached using .live() from the elements. + /// A map of one or more event types, such as click or keydown and their corresponding functions that are no longer to be executed. + /// + /// + }, + 'disabled': function() { + /// Selects all elements that are disabled. + }, + 'each': function() { + /// + /// Iterate over a jQuery object, executing a function for each matched element. + /// A function to execute for each matched element. + /// + /// + }, + 'element': function() { + /// + /// Selects all elements with the given tag name. + /// An element to search for. Refers to the tagName of DOM nodes. + /// + }, + 'empty': function() { + /// Select all elements that have no children (including text nodes). + }, + 'enabled': function() { + /// Selects all elements that are enabled. + }, + 'end': function() { + /// End the most recent filtering operation in the current chain and return the set of matched elements to its previous state. + /// + }, + 'eq': function() { + /// + /// Reduce the set of matched elements to the one at the specified index. + /// An integer indicating the 0-based position of the element. + /// + /// + /// + /// Reduce the set of matched elements to the one at the specified index. + /// An integer indicating the position of the element, counting backwards from the last element in the set. + /// + /// + }, + 'error': function() { + /// + /// Bind an event handler to the "error" JavaScript event. + /// A function to execute when the event is triggered. + /// + /// + /// + /// Bind an event handler to the "error" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'even': function() { + /// Selects even elements, zero-indexed. See also odd. + }, + 'fadeIn': function() { + /// + /// Display the matched elements by fading them to opaque. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display the matched elements by fading them to opaque. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'fadeOut': function() { + /// + /// Hide the matched elements by fading them to transparent. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Hide the matched elements by fading them to transparent. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'fadeTo': function() { + /// + /// Adjust the opacity of the matched elements. + /// A string or number determining how long the animation will run. + /// A number between 0 and 1 denoting the target opacity. + /// A function to call once the animation is complete. + /// + /// + /// + /// Adjust the opacity of the matched elements. + /// A string or number determining how long the animation will run. + /// A number between 0 and 1 denoting the target opacity. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'fadeToggle': function() { + /// + /// Display or hide the matched elements by animating their opacity. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'file': function() { + /// Selects all elements of type file. + }, + 'filter': function() { + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// A string containing a selector expression to match the current set of elements against. + /// + /// + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// A function used as a test for each element in the set. this is the current DOM element. + /// + /// + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// An element to match the current set of elements against. + /// + /// + /// + /// Reduce the set of matched elements to those that match the selector or pass the function's test. + /// An existing jQuery object to match the current set of elements against. + /// + /// + }, + 'find': function() { + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// A jQuery object to match elements against. + /// + /// + /// + /// Get the descendants of each element in the current set of matched elements, filtered by a selector, jQuery object, or element. + /// An element to match elements against. + /// + /// + }, + 'first': function() { + /// Selects the first matched element. + }, + 'first-child': function() { + /// Selects all elements that are the first child of their parent. + }, + 'focus': function() { + /// + /// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "focus" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'focusin': function() { + /// + /// Bind an event handler to the "focusin" event. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "focusin" event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'focusout': function() { + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "focusout" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'get': function() { + /// + /// Retrieve the DOM elements matched by the jQuery object. + /// A zero-based integer indicating which element to retrieve. + /// + /// + }, + 'gt': function() { + /// + /// Select all elements at an index greater than index within the matched set. + /// Zero-based index. + /// + }, + 'has': function() { + /// + /// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Reduce the set of matched elements to those that have a descendant that matches the selector or DOM element. + /// A DOM element to match elements against. + /// + /// + }, + 'hasClass': function() { + /// + /// Determine whether any of the matched elements are assigned the given class. + /// The class name to search for. + /// + /// + }, + 'header': function() { + /// Selects all elements that are headers, like h1, h2, h3 and so on. + }, + 'height': function() { + /// + /// Set the CSS height of every matched element. + /// An integer representing the number of pixels, or an integer with an optional unit of measure appended (as a string). + /// + /// + /// + /// Set the CSS height of every matched element. + /// A function returning the height to set. Receives the index position of the element in the set and the old height as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'hidden': function() { + /// Selects all elements that are hidden. + }, + 'hide': function() { + /// + /// Hide the matched elements. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Hide the matched elements. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'hover': function() { + /// + /// Bind two handlers to the matched elements, to be executed when the mouse pointer enters and leaves the elements. + /// A function to execute when the mouse pointer enters the element. + /// A function to execute when the mouse pointer leaves the element. + /// + /// + }, + 'html': function() { + /// + /// Set the HTML contents of each element in the set of matched elements. + /// A string of HTML to set as the content of each matched element. + /// + /// + /// + /// Set the HTML contents of each element in the set of matched elements. + /// A function returning the HTML content to set. Receives the index position of the element in the set and the old HTML value as arguments. jQuery empties the element before calling the function; use the oldhtml argument to reference the previous content. Within the function, this refers to the current element in the set. + /// + /// + }, + 'id': function() { + /// + /// Selects a single element with the given id attribute. + /// An ID to search for, specified via the id attribute of an element. + /// + }, + 'image': function() { + /// Selects all elements of type image. + }, + 'index': function() { + /// + /// Search for a given element from among the matched elements. + /// A selector representing a jQuery collection in which to look for an element. + /// + /// + /// + /// Search for a given element from among the matched elements. + /// The DOM element or first element within the jQuery object to look for. + /// + /// + }, + 'init': function() { + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A string containing a selector expression + /// A DOM Element, Document, or jQuery to use as context + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A DOM element to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A plain object to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An array containing a set of DOM elements to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An existing jQuery object to clone. + /// + /// + }, + 'innerHeight': function() { + /// Get the current computed height for the first element in the set of matched elements, including padding but not border. + /// + }, + 'innerWidth': function() { + /// Get the current computed width for the first element in the set of matched elements, including padding but not border. + /// + }, + 'input': function() { + /// Selects all input, textarea, select and button elements. + }, + 'insertAfter': function() { + /// + /// Insert every element in the set of matched elements after the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted after the element(s) specified by this parameter. + /// + /// + }, + 'insertBefore': function() { + /// + /// Insert every element in the set of matched elements before the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted before the element(s) specified by this parameter. + /// + /// + }, + 'is': function() { + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// A function used as a test for the set of elements. It accepts one argument, index, which is the element's index in the jQuery collection.Within the function, this refers to the current DOM element. + /// + /// + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// An existing jQuery object to match the current set of elements against. + /// + /// + /// + /// Check the current matched set of elements against a selector, element, or jQuery object and return true if at least one of these elements matches the given arguments. + /// An element to match the current set of elements against. + /// + /// + }, + 'jquery': function() { + /// A string containing the jQuery version number. + /// + }, + 'keydown': function() { + /// + /// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "keydown" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'keypress': function() { + /// + /// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "keypress" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'keyup': function() { + /// + /// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "keyup" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'last': function() { + /// Selects the last matched element. + }, + 'last-child': function() { + /// Selects all elements that are the last child of their parent. + }, + 'length': function() { + /// The number of elements in the jQuery object. + /// + }, + 'live': function() { + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// A string containing a JavaScript event type, such as "click" or "keydown." As of jQuery 1.4 the string can contain multiple, space-separated event types or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach an event handler for all elements which match the current selector, now and in the future. + /// A map of one or more JavaScript event types and functions to execute for them. + /// + /// + }, + 'load': function() { + /// + /// Bind an event handler to the "load" JavaScript event. + /// A function to execute when the event is triggered. + /// + /// + /// + /// Bind an event handler to the "load" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'lt': function() { + /// + /// Select all elements at an index less than index within the matched set. + /// Zero-based index. + /// + }, + 'map': function() { + /// + /// Pass each element in the current matched set through a function, producing a new jQuery object containing the return values. + /// A function object that will be invoked for each element in the current set. + /// + /// + }, + 'mousedown': function() { + /// + /// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mousedown" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseenter': function() { + /// + /// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to be fired when the mouse enters an element, or trigger that handler on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseleave': function() { + /// + /// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to be fired when the mouse leaves an element, or trigger that handler on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mousemove': function() { + /// + /// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mousemove" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseout': function() { + /// + /// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mouseout" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseover': function() { + /// + /// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mouseover" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'mouseup': function() { + /// + /// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "mouseup" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'multiple': function() { + /// + /// Selects the combined results of all the specified selectors. + /// Any valid selector. + /// Another valid selector. + /// As many more valid selectors as you like. + /// + }, + 'next': function() { + /// + /// Get the immediately following sibling of each element in the set of matched elements. If a selector is provided, it retrieves the next sibling only if it matches that selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'next adjacent': function() { + /// + /// Selects all next elements matching "next" that are immediately preceded by a sibling "prev". + /// Any valid selector. + /// A selector to match the element that is next to the first selector. + /// + }, + 'next siblings': function() { + /// + /// Selects all sibling elements that follow after the "prev" element, have the same parent, and match the filtering "siblings" selector. + /// Any valid selector. + /// A selector to filter elements that are the following siblings of the first selector. + /// + }, + 'nextAll': function() { + /// + /// Get all following siblings of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'nextUntil': function() { + /// + /// Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. + /// A string containing a selector expression to indicate where to stop matching following sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get all following siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object passed. + /// A DOM node or jQuery object indicating where to stop matching following sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'not': function() { + /// + /// Remove elements from the set of matched elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Remove elements from the set of matched elements. + /// One or more DOM elements to remove from the matched set. + /// + /// + /// + /// Remove elements from the set of matched elements. + /// A function used as a test for each element in the set. this is the current DOM element. + /// + /// + /// + /// Remove elements from the set of matched elements. + /// An existing jQuery object to match the current set of elements against. + /// + /// + }, + 'nth-child': function() { + /// + /// Selects all elements that are the nth-child of their parent. + /// The index of each child to match, starting with 1, the string even or odd, or an equation ( eg. :nth-child(even), :nth-child(4n) ) + /// + }, + 'odd': function() { + /// Selects odd elements, zero-indexed. See also even. + }, + 'off': function() { + /// + /// Remove an event handler. + /// One or more space-separated event types and optional namespaces, or just namespaces, such as "click", "keydown.myPlugin", or ".myPlugin". + /// A selector which should match the one originally passed to .on() when attaching event handlers. + /// A handler function previously attached for the event(s), or the special value false. + /// + /// + /// + /// Remove an event handler. + /// A map where the string keys represent one or more space-separated event types and optional namespaces, and the values represent handler functions previously attached for the event(s). + /// A selector which should match the one originally passed to .on() when attaching event handlers. + /// + /// + }, + 'offset': function() { + /// + /// Set the current coordinates of every element in the set of matched elements, relative to the document. + /// An object containing the properties top and left, which are integers indicating the new top and left coordinates for the elements. + /// + /// + /// + /// Set the current coordinates of every element in the set of matched elements, relative to the document. + /// A function to return the coordinates to set. Receives the index of the element in the collection as the first argument and the current coordinates as the second argument. The function should return an object with the new top and left properties. + /// + /// + }, + 'offsetParent': function() { + /// Get the closest ancestor element that is positioned. + /// + }, + 'on': function() { + /// + /// Attach an event handler function for one or more events to the selected elements. + /// One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". + /// A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event is triggered. + /// A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. + /// + /// + /// + /// Attach an event handler function for one or more events to the selected elements. + /// A map in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). + /// A selector string to filter the descendants of the selected elements that will call the handler. If the selector is null or omitted, the handler is always called when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event occurs. + /// + /// + }, + 'one': function() { + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// A string containing one or more JavaScript event types, such as "click" or "submit," or custom event names. + /// A map of data that will be passed to the event handler. + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// One or more space-separated event types and optional namespaces, such as "click" or "keydown.myPlugin". + /// A selector string to filter the descendants of the selected elements that trigger the event. If the selector is null or omitted, the event is always triggered when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event is triggered. + /// A function to execute when the event is triggered. The value false is also allowed as a shorthand for a function that simply does return false. + /// + /// + /// + /// Attach a handler to an event for the elements. The handler is executed at most once per element. + /// A map in which the string keys represent one or more space-separated event types and optional namespaces, and the values represent a handler function to be called for the event(s). + /// A selector string to filter the descendants of the selected elements that will call the handler. If the selector is null or omitted, the handler is always called when it reaches the selected element. + /// Data to be passed to the handler in event.data when an event occurs. + /// + /// + }, + 'only-child': function() { + /// Selects all elements that are the only child of their parent. + }, + 'outerHeight': function() { + /// + /// Get the current computed height for the first element in the set of matched elements, including padding, border, and optionally margin. Returns an integer (without "px") representation of the value or null if called on an empty set of elements. + /// A Boolean indicating whether to include the element's margin in the calculation. + /// + /// + }, + 'outerWidth': function() { + /// + /// Get the current computed width for the first element in the set of matched elements, including padding and border. + /// A Boolean indicating whether to include the element's margin in the calculation. + /// + /// + }, + 'parent': function() { + /// + /// Get the parent of each element in the current set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'parents': function() { + /// + /// Get the ancestors of each element in the current set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'parentsUntil': function() { + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A string containing a selector expression to indicate where to stop matching ancestor elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get the ancestors of each element in the current set of matched elements, up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A DOM node or jQuery object indicating where to stop matching ancestor elements. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'password': function() { + /// Selects all elements of type password. + }, + 'position': function() { + /// Get the current coordinates of the first element in the set of matched elements, relative to the offset parent. + /// + }, + 'prepend': function() { + /// + /// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. + /// DOM element, array of elements, HTML string, or jQuery object to insert at the beginning of each element in the set of matched elements. + /// One or more additional DOM elements, arrays of elements, HTML strings, or jQuery objects to insert at the beginning of each element in the set of matched elements. + /// + /// + /// + /// Insert content, specified by the parameter, to the beginning of each element in the set of matched elements. + /// A function that returns an HTML string, DOM element(s), or jQuery object to insert at the beginning of each element in the set of matched elements. Receives the index position of the element in the set and the old HTML value of the element as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'prependTo': function() { + /// + /// Insert every element in the set of matched elements to the beginning of the target. + /// A selector, element, HTML string, or jQuery object; the matched set of elements will be inserted at the beginning of the element(s) specified by this parameter. + /// + /// + }, + 'prev': function() { + /// + /// Get the immediately preceding sibling of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'prevAll': function() { + /// + /// Get all preceding siblings of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'prevUntil': function() { + /// + /// Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A string containing a selector expression to indicate where to stop matching preceding sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + /// + /// Get all preceding siblings of each element up to but not including the element matched by the selector, DOM node, or jQuery object. + /// A DOM node or jQuery object indicating where to stop matching preceding sibling elements. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'promise': function() { + /// + /// Return a Promise object to observe when all actions of a certain type bound to the collection, queued or not, have finished. + /// The type of queue that needs to be observed. + /// Object onto which the promise methods have to be attached + /// + /// + }, + 'prop': function() { + /// + /// Set one or more properties for the set of matched elements. + /// The name of the property to set. + /// A value to set for the property. + /// + /// + /// + /// Set one or more properties for the set of matched elements. + /// A map of property-value pairs to set. + /// + /// + /// + /// Set one or more properties for the set of matched elements. + /// The name of the property to set. + /// A function returning the value to set. Receives the index position of the element in the set and the old property value as arguments. Within the function, the keyword this refers to the current element. + /// + /// + }, + 'pushStack': function() { + /// + /// Add a collection of DOM elements onto the jQuery stack. + /// An array of elements to push onto the stack and make into a new jQuery object. + /// + /// + /// + /// Add a collection of DOM elements onto the jQuery stack. + /// An array of elements to push onto the stack and make into a new jQuery object. + /// The name of a jQuery method that generated the array of elements. + /// The arguments that were passed in to the jQuery method (for serialization). + /// + /// + }, + 'queue': function() { + /// + /// Manipulate the queue of functions to be executed on the matched elements. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// An array of functions to replace the current queue contents. + /// + /// + /// + /// Manipulate the queue of functions to be executed on the matched elements. + /// A string containing the name of the queue. Defaults to fx, the standard effects queue. + /// The new function to add to the queue, with a function to call that will dequeue the next item. + /// + /// + }, + 'radio': function() { + /// Selects all elements of type radio. + }, + 'ready': function() { + /// + /// Specify a function to execute when the DOM is fully loaded. + /// A function to execute after the DOM is ready. + /// + /// + }, + 'remove': function() { + /// + /// Remove the set of matched elements from the DOM. + /// A selector expression that filters the set of matched elements to be removed. + /// + /// + }, + 'removeAttr': function() { + /// + /// Remove an attribute from each element in the set of matched elements. + /// An attribute to remove; as of version 1.7, it can be a space-separated list of attributes. + /// + /// + }, + 'removeClass': function() { + /// + /// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. + /// One or more space-separated classes to be removed from the class attribute of each matched element. + /// + /// + /// + /// Remove a single class, multiple classes, or all classes from each element in the set of matched elements. + /// A function returning one or more space-separated class names to be removed. Receives the index position of the element in the set and the old class value as arguments. + /// + /// + }, + 'removeData': function() { + /// + /// Remove a previously-stored piece of data. + /// A string naming the piece of data to delete. + /// + /// + /// + /// Remove a previously-stored piece of data. + /// An array or space-separated string naming the pieces of data to delete. + /// + /// + }, + 'removeProp': function() { + /// + /// Remove a property for the set of matched elements. + /// The name of the property to set. + /// + /// + }, + 'replaceAll': function() { + /// + /// Replace each target element with the set of matched elements. + /// A selector expression indicating which element(s) to replace. + /// + /// + }, + 'replaceWith': function() { + /// + /// Replace each element in the set of matched elements with the provided new content. + /// The content to insert. May be an HTML string, DOM element, or jQuery object. + /// + /// + /// + /// Replace each element in the set of matched elements with the provided new content. + /// A function that returns content with which to replace the set of matched elements. + /// + /// + }, + 'reset': function() { + /// Selects all elements of type reset. + }, + 'resize': function() { + /// + /// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "resize" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'scroll': function() { + /// + /// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "scroll" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'scrollLeft': function() { + /// + /// Set the current horizontal position of the scroll bar for each of the set of matched elements. + /// An integer indicating the new position to set the scroll bar to. + /// + /// + }, + 'scrollTop': function() { + /// + /// Set the current vertical position of the scroll bar for each of the set of matched elements. + /// An integer indicating the new position to set the scroll bar to. + /// + /// + }, + 'select': function() { + /// + /// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "select" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'selected': function() { + /// Selects all elements that are selected. + }, + 'serialize': function() { + /// Encode a set of form elements as a string for submission. + /// + }, + 'serializeArray': function() { + /// Encode a set of form elements as an array of names and values. + /// + }, + 'show': function() { + /// + /// Display the matched elements. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display the matched elements. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'siblings': function() { + /// + /// Get the siblings of each element in the set of matched elements, optionally filtered by a selector. + /// A string containing a selector expression to match elements against. + /// + /// + }, + 'size': function() { + /// Return the number of elements in the jQuery object. + /// + }, + 'slice': function() { + /// + /// Reduce the set of matched elements to a subset specified by a range of indices. + /// An integer indicating the 0-based position at which the elements begin to be selected. If negative, it indicates an offset from the end of the set. + /// An integer indicating the 0-based position at which the elements stop being selected. If negative, it indicates an offset from the end of the set. If omitted, the range continues until the end of the set. + /// + /// + }, + 'slideDown': function() { + /// + /// Display the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'slideToggle': function() { + /// + /// Display or hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display or hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'slideUp': function() { + /// + /// Hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Hide the matched elements with a sliding motion. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + }, + 'stop': function() { + /// + /// Stop the currently-running animation on the matched elements. + /// A Boolean indicating whether to remove queued animation as well. Defaults to false. + /// A Boolean indicating whether to complete the current animation immediately. Defaults to false. + /// + /// + /// + /// Stop the currently-running animation on the matched elements. + /// The name of the queue in which to stop animations. + /// A Boolean indicating whether to remove queued animation as well. Defaults to false. + /// A Boolean indicating whether to complete the current animation immediately. Defaults to false. + /// + /// + }, + 'submit': function() { + /// + /// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. + /// A function to execute each time the event is triggered. + /// + /// + /// + /// Bind an event handler to the "submit" JavaScript event, or trigger that event on an element. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'text': function() { + /// + /// Set the content of each element in the set of matched elements to the specified text. + /// A string of text to set as the content of each matched element. + /// + /// + /// + /// Set the content of each element in the set of matched elements to the specified text. + /// A function returning the text content to set. Receives the index position of the element in the set and the old text value as arguments. + /// + /// + }, + 'toArray': function() { + /// Retrieve all the DOM elements contained in the jQuery set, as an array. + /// + }, + 'toggle': function() { + /// + /// Display or hide the matched elements. + /// A string or number determining how long the animation will run. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display or hide the matched elements. + /// A string or number determining how long the animation will run. + /// A string indicating which easing function to use for the transition. + /// A function to call once the animation is complete. + /// + /// + /// + /// Display or hide the matched elements. + /// A Boolean indicating whether to show or hide the elements. + /// + /// + }, + 'toggleClass': function() { + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// One or more class names (separated by spaces) to be toggled for each element in the matched set. + /// + /// + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// One or more class names (separated by spaces) to be toggled for each element in the matched set. + /// A Boolean (not just truthy/falsy) value to determine whether the class should be added or removed. + /// + /// + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// A boolean value to determine whether the class should be added or removed. + /// + /// + /// + /// Add or remove one or more classes from each element in the set of matched elements, depending on either the class's presence or the value of the switch argument. + /// A function that returns class names to be toggled in the class attribute of each element in the matched set. Receives the index position of the element in the set, the old class value, and the switch as arguments. + /// A boolean value to determine whether the class should be added or removed. + /// + /// + }, + 'trigger': function() { + /// + /// Execute all handlers and behaviors attached to the matched elements for the given event type. + /// A string containing a JavaScript event type, such as click or submit. + /// Additional parameters to pass along to the event handler. + /// + /// + /// + /// Execute all handlers and behaviors attached to the matched elements for the given event type. + /// A jQuery.Event object. + /// + /// + }, + 'triggerHandler': function() { + /// + /// Execute all handlers attached to an element for an event. + /// A string containing a JavaScript event type, such as click or submit. + /// An array of additional parameters to pass along to the event handler. + /// + /// + }, + 'unbind': function() { + /// + /// Remove a previously-attached event handler from the elements. + /// A string containing a JavaScript event type, such as click or submit. + /// The function that is to be no longer executed. + /// + /// + /// + /// Remove a previously-attached event handler from the elements. + /// A string containing a JavaScript event type, such as click or submit. + /// Unbinds the corresponding 'return false' function that was bound using .bind( eventType, false ). + /// + /// + /// + /// Remove a previously-attached event handler from the elements. + /// A JavaScript event object as passed to an event handler. + /// + /// + }, + 'undelegate': function() { + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A selector which will be used to filter the event results. + /// A string containing a JavaScript event type, such as "click" or "keydown" + /// + /// + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A selector which will be used to filter the event results. + /// A string containing a JavaScript event type, such as "click" or "keydown" + /// A function to execute at the time the event is triggered. + /// + /// + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A selector which will be used to filter the event results. + /// A map of one or more event types and previously bound functions to unbind from them. + /// + /// + /// + /// Remove a handler from the event for all elements which match the current selector, based upon a specific set of root elements. + /// A string containing a namespace to unbind all events from. + /// + /// + }, + 'unload': function() { + /// + /// Bind an event handler to the "unload" JavaScript event. + /// A function to execute when the event is triggered. + /// + /// + /// + /// Bind an event handler to the "unload" JavaScript event. + /// A map of data that will be passed to the event handler. + /// A function to execute each time the event is triggered. + /// + /// + }, + 'unwrap': function() { + /// Remove the parents of the set of matched elements from the DOM, leaving the matched elements in their place. + /// + }, + 'val': function() { + /// + /// Set the value of each element in the set of matched elements. + /// A string of text or an array of strings corresponding to the value of each matched element to set as selected/checked. + /// + /// + /// + /// Set the value of each element in the set of matched elements. + /// A function returning the value to set. this is the current element. Receives the index position of the element in the set and the old value as arguments. + /// + /// + }, + 'visible': function() { + /// Selects all elements that are visible. + }, + 'width': function() { + /// + /// Set the CSS width of each element in the set of matched elements. + /// An integer representing the number of pixels, or an integer along with an optional unit of measure appended (as a string). + /// + /// + /// + /// Set the CSS width of each element in the set of matched elements. + /// A function returning the width to set. Receives the index position of the element in the set and the old width as arguments. Within the function, this refers to the current element in the set. + /// + /// + }, + 'wrap': function() { + /// + /// Wrap an HTML structure around each element in the set of matched elements. + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. + /// + /// + /// + /// Wrap an HTML structure around each element in the set of matched elements. + /// A callback function returning the HTML content or jQuery object to wrap around the matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, + 'wrapAll': function() { + /// + /// Wrap an HTML structure around all elements in the set of matched elements. + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the matched elements. + /// + /// + }, + 'wrapInner': function() { + /// + /// Wrap an HTML structure around the content of each element in the set of matched elements. + /// An HTML snippet, selector expression, jQuery object, or DOM element specifying the structure to wrap around the content of the matched elements. + /// + /// + /// + /// Wrap an HTML structure around the content of each element in the set of matched elements. + /// A callback function which generates a structure to wrap around the content of the matched elements. Receives the index position of the element in the set as an argument. Within the function, this refers to the current element in the set. + /// + /// + }, +}); + +intellisense.annotate(window, { + '$': function() { + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A string containing a selector expression + /// A DOM Element, Document, or jQuery to use as context + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A DOM element to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// A plain object to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An array containing a set of DOM elements to wrap in a jQuery object. + /// + /// + /// + /// Accepts a string containing a CSS selector which is then used to match a set of elements. + /// An existing jQuery object to clone. + /// + /// + }, +}); + diff --git a/packages/jQuery.1.8.2/Tools/uninstall.ps1 b/packages/jQuery.1.8.2/Tools/uninstall.ps1 new file mode 100644 index 00000000..dc13b515 --- /dev/null +++ b/packages/jQuery.1.8.2/Tools/uninstall.ps1 @@ -0,0 +1,41 @@ +param($installPath, $toolsPath, $package, $project) + +. (Join-Path $toolsPath common.ps1) + +# Determine the file paths +$projectIntelliSenseFilePath = Join-Path $projectScriptsFolderPath $intelliSenseFileName +$origIntelliSenseFilePath = Join-Path $toolsPath $intelliSenseFileName + +if (Test-Path $projectIntelliSenseFilePath) { + if ((Get-Checksum $projectIntelliSenseFilePath) -eq (Get-Checksum $origIntelliSenseFilePath)) { + # The intellisense file in the project matches the file in the tools folder, delete it + + if ($scriptsFolderProjectItem -eq $null) { + # No Scripts folder + exit + } + + try { + # Get the project item for the intellisense file + $intelliSenseFileProjectItem = $scriptsFolderProjectItem.ProjectItems.Item($intelliSenseFileName) + } + catch { + # The item wasn't found + exit + } + + # Delete the project item + Delete-ProjectItem $intelliSenseFileProjectItem + } + else { + $projectScriptsFolderLeaf = Split-Path $projectScriptsFolderPath -Leaf + Write-Host "Skipping '$projectScriptsFolderLeaf\$intelliSenseFileName' because it was modified." -ForegroundColor Magenta + } +} +else { + # The intellisense file was not found in project + Write-Host "The intellisense file was not found in project at path $projectIntelliSenseFilePath" +} + +# Update the _references.js file +Remove-Reference $scriptsFolderProjectItem $jqueryFileNameRegEx \ No newline at end of file diff --git a/packages/jQuery.1.8.2/jQuery.1.8.2.nupkg b/packages/jQuery.1.8.2/jQuery.1.8.2.nupkg new file mode 100644 index 0000000000000000000000000000000000000000..d6c1547adf0d663ba894f5298c310cece02232f3 GIT binary patch literal 185571 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י)d=;Ty#>0G(A$SC| z@nzUH!_?zCD~=ub9*gKW=|7dSfnL>@flB&5;BFEIy3t2e>o{CxGPcN^6~4K?oc!ic z&z*xHlUVh7C=}8NZK0!M_%Bm1HQ2HG7ZMw+OnD8cgW)6#78}BT@QM+=q1i^ zkOHPmmO&2ewi49{;Q4s~l1OOK_;w`upZ=y)vhc86)6XvN7k_iD9T}$_F@6W_Z*ewu zwoL)PdoV+s)`ym&zamKKq23d;cyeymG`IGKzz$snE!M~_`g{+z5N%+iII2!Z5S`yz zh(p?4&X8U8wkhkbTCw?Ojx7c9s&9oe$MC3?q!&rF+-hUs*n0Y3YUczvQat(tF(~@7 za8|m_EmO6GLO&dTCV0KL(xnq;Lp`t?5opQ`%BZ3xz=W7gTaa2Bt(vDxwJK2AAz!b= z?5=y%gf>iW`^zyj0F8jPa}q6;6fy((bl!xTBFS(%k|xx3o!S7n@7uxRF76HGTP$HK z(X5(H8<)59e7Yz^JZ`w0D7>s79)H)kuI@&oasZPSyMVWcu2v* z;=8v&joA5RI39v<4w?WT=fj{sd4a|)6^!F;6{r?VhoVU6*B9h^*8;1=6O#6qnu+_e*t(Z)!y z19~i#Jh*p+K*@WSJ%1~#!>Lx+CUqVxy%FFvd9MWlfy7jC_Pa1tgKOfjKL2N`A*sCK z&J~MlD!OE%Y6u!svSCnR?>&}URlPuLfkPa%P&ut=< zf>6VPG*Xl+6!vo)_dbCijIG$ooH0NYbj<8ZiZ2PdIR}x4N6W+-${j+pW9+YyI1TqX zb!Q=+aR--&7?IVVR|$IVR6(ckM7G-(uOgV@^iZL+T>dv&h4pSTkSxw=ShJ8M0LBou z5teEqa1K$DF}TLKugmL@gXz&Nq10ENO2-A_nxf&;8_D@)^hp}lDtv58l&=& z4QH%w=n>i5gEL`7M2I8*$!}a~te!oKR8HC#25^$LYxHppRt8M%Hc*_K8?xv!KP$Wj zpO6%74QZ5?+YF(eNId4e9)6B*ZD*K+^B3=Yc!Pe)Uv0Wp+A$7VE@E;mp0WLloP?_T zk(?f(#nV7vQcpfT@Pl4|P95BG(-CnpN)Ckv17#y}mSP%L`lk z3VN$25^X?6ZrMcNBZ&8+xxn)yhxRh{H_5{z&#E&57GG9gPq=_}J3}L&;A~Hn3&}{Y zI*{DAs{rwr+=?5z<}0#2yw{(l zX`h3$4rAw>jaVqCyJ*=(1)KH}o9Kt0_%R9>CR0+^b7TGvckw|tM1@SDq|5A2qpC<2 z9){CN<;j!{=H^%ACuSjEOVUmpKKM^G*3twebCX0lD@p1KGDTTD)l77TPBZ$=09e!RiR5Nez1}iB zGOK4Uy~06il2a4#gU7pEZuonjFe$@~ZvMffSY zIr_ZGqd92~s1OG^S%gDLmKn4YQOBfY+8AO`q})AEFGw5krZA93RWBmHOp?%in!wen zBiZV|QWE{Yv|1~e-6nZEiao-U35EnFSqs`HxuE=rYo@ZkDJDo%h`i0Y_gvBhrYK|= zJXq~-sWPeH%1%H2514Qr%SK84mf9P_gi7?n2{zKv+5!HD)$7Y97pCG;Fv%Cx(!EQ} zS1SoPLNUPz_Y8j@Pk`0IIshrJEc0^HCty4LIJSj<9`5j@??Lkd4lAUuLfNsI7VLYfDH4B3mIGDIPOSN) z(MS+_MeP`Bnx?qvZsL)y1jF9ALq9D%A3{gvtO!WW*agYJTo&G@LDAhm_PXWSW3ENSsPt3)Y4k;k=^e=%xAd*Y-pz&#dl3|O5J7Lwt<-_ z#hTRMv!H3c3$}xP^g<@$VK7k7z%$}Sf_wytx?_cXj^u^hQa5j<%gr-u{FS=?gCj=b zY=M8nLWVxM_#svz4QDt&E2if%V#LPw03+1J(%%rB)R#P-fH4V?*JZYa+!iJl`Sx2NG3AFkKvT~M12|N1G3L;|#jra&Qhmgk zyfTT-xIDEQ9G3#qMzY-HNMekGWPE2-Tlo^fQf;g_q;owfH<5t&5nX4H#^y^5U^Qu_ zP}U%$2_ZsbBYfr7CiKu*A$S|8CRfzCwiThppl^WWZIoG$fcZ~4LBJx22g-=iHExsv zJQM;k#cT4w0DzZU!*o#dfOL?laxplSz{SAJTzKnF0IM_tvMWMPhgjh{Q3v+@$ckTx zGIrT|mOhm5WS;Y$(>FXDjRd(|;vJjAG?4`m;y8fCGSJZ5_bM9MUovbyDie!_fi>T- zg7J@=`5(b?gqz8C3Fj(9b)G0YzJ635V}NJ|*egk|-|+7g;%@-EbDG^I-6#-JF|ZbE zn_2J%lQsZKh;Yzaj-Vy~rkawlJ1mFj^-brS;JY9kMHkxMPy9SjLT4h6KpSdSqg_ry zRAQ+`p$*g8uK2{RqwL3_-^&g6D$UV1|un!nnP`Rqc-{t+S&@YaKq$+8<1=CWW@=Z zFtMc&fT6gOmLCD!33y5QHfi!}G;WUrc{mQRpAe84~d z+4x!3yY_zvP|ag%yb%{K=H>1#BhAMKjVtP}PP~;G7|y=xs3HbEodtF?KJj!>um49D z?TeL3RhUj>24R6;!WBc-vIb#BD~zmwp4BwBtZkx^CkP>i?&_Tevd09ytn ze6yZ%KnIA2k7m}FkWaf6gcDB5bCO#nt1kX%1w%Od5H>aAFXmQgf^ZKP!dfrv?kz)W z&TEOk6t&`a(|KvW@ty7{3O3W6Ls(flLAf)TND7n9HeP%H8pN*Qc+U=Sa}%+wLYnx@ z%30Dfu;+JocY(Q?L|O!PfkAF{4B4aRE`v8C-JfKB;O8jUrPR_As%48SqD@P9o9OhL zy`ZB~t(N|624dI5vRH}%;IQ7EcPj-QW%`cgtc(efm$;6GJu^-HRPJ8gU?-cU8X))E zlkwwF0?ioF*3J>Nn`*rdtpy#5kI3Czjcg~@7nLK zW)QKtx!JOB2S6MOxp$HN9K)g?$|e9DS0;3~LM4*1{;>qZ@XIvkk)JuwUMNS}Vn(+(lx@s|vL_cOYRMdeZ@)=;vn00oU z&e+vWP@Y{91jaN^d-VEZ~O~$}R83Chl&Z&`bbOkzi0a*#G51 za7y$L>-UeS^eK=D?s1;W^OoLa%z1-XDo$&8207jV!K~e_ri)^)U*@}!jWiQBCjP&< zUiDi%manZII3q)Gd0Li>*WGDaKvvzJvM{M5F&N)EL`}#ewyw!KT>U-^N!XJ3zv5Z= z*A;tm-H`#^9eXD-kXFuD27ZgB%Eci=k-qOW^{5Bv0<2k=_g;lWe~zI!zm?_u-{}e%@9BJ6Ctg(a_L6l z_$3ZaDhSnlr3{mRtjOQnRm>KqZLdc8MXX&UraV(}3 z9Li;d`lt9K7^qtVGPQVzCC*SS+mkMMJ@fFTZ}hDK>f3OCJWAvqbLiht z(my3DUf+~jGL?VKRgjj>uiX!CaeagG*{eA~WU4ns)dBn<;u~y4;m3h;?Ox{;cFpaD ziUN3jtb9ZCd|B#{r#ltCf?C}jctNW-wzWCTXgXA8bdi}tpG^%uQE~l5Q3QBaTeAdL z3!vjd`4CYWwsLn3Y&+0-ol;)O%{F}kQLc*xZ>v`sSI0yq0H^pQ#fugP`F$`X`7KCi zfYjtK>}_$n=d84s3$vzdUrR;OARru_n^hH?tD3kiW`1(0@&0*dp!@3RVolPTF2$~` z$-?VIMG@dz*(!vMnz_oBCfiGhMCTsJ43Zfbk&_4MWI4nWeV7gG|Ei95Y>L6=T%?Oq zaYUvwYP$bze*bo57$PfoB9(z|?%g4#t}5uD=IE)v;Mz%<08Y{_2>41=m$?zM*md+> zg(EedW5_j@Tt%DBJ)T%=J+<~dBIEx9d@nC=9)?|h{h`fkI8MV1ZCGgQ8_?J?i4~y7 zgd1*r+2)FMGO@c$T`YkL5+d610cZOoUki7sg-0p$kc{R~>OT8Tx^dJ&TSuv9;E=Wq zF2ZZSZ>k$ZlY+un)34k#nP*?A)Lm|AjIh?)L%|}|sq1!vkejAU_4E7S`Vdj>dKCI%t@k3%3w3$n9m#|WTTbFp`*HHlb zqe6d?*P~H;2`^(D?w`c@RC@9~dC9+OEpr*oR~C@C&qG&1CmgR(an_1i?s7e}ZKpp) z^3yPT{>HI8eo9JO2AT?8FQ%&QuMGU*(lex6rt2&{+^F!b;Isx{n}+V#Q!#bsza*Pf zf9~;M|NWwFa`*pP)%cbD?;YjV*NmE-q=N}E8V@UMLW^0?#M!TQ@3ojf!L zVg}dCel~gKCnyJg*?PNVmoIX2!$D;=-C1Bo^)+mGw9BmKTHlLNDHbgRW#cwb1rvN4SaM99< z8(%ptrxnKn1l-)x2e~!3;JQNwnCIRCmXMbkNxD1o8UC8`*ji4^wv>}&)Uk_d`nhGU z{NySLeH9FS_^hUr)RFSk=6qbZj((g0Dkj{OXOfNm9-h_Wt#_M)Z;%J-&^JPy!3Ixm z@je<8g3`Z7jB-lu)x;6>lb-K+)H8qZ-y5Sy@tzma0t#R(vwoji-65a)OolmA+di$8 z*gEi+sW_#P%tG1o6+?hu0A!Rp2Cd<{B$X8rCc$2rB*vZE#*=j^@jmzf1Dha*4#V-^ zuVZ(&gmcTpX68E@m^scV!&Z}i4mNvX9DK$ZXAlh^)!?|VK%-!b0FkMrEc zp9b%kb{8zR-TuMM;F!sAF^ZV-jK;0q`J^p{C@cMM6uJ1k!9%Lo#0@2yifLkE4B!Jw!8>yGB>-N+xZ&jIzGbjy9lEiJ46b&1`QI!W{ zHf%h7xK&!!9yLmnh&gb@bT%8ZO1o?vZGQy#N~*j;1jWl$R792;QD*r(Yn&eLgLsKh<*SQ z5?Wu!)gRvs-PG7Vl*9Kw3JmQbWD{^sLQWiY$DO2$ACW>6QX29FTvq(4NX4qLANg$Z z59dGR8Io>IiFRm|4pKRGXvz~-wb6U>Dx5fVT!au!PA*QLam`s4(Q)FsA6-UjuNy9{IK+k^s`vgC6I=p57a~6YK1YwFwI%MKbR~T^%Bs%^D}75htWN(^JQZklJXIy z32a32yEBtj%W(#aod!h6beax@>8%7JE~%sEgbK3wg?*{`4+61fDDz@L=xYilfHkD& zKvT$3s})Ou9m$7?N~q*8q^PmfY-dL#So>0vNK{1EAwYKII4|Lk1|nnO9J=paJwQv9MT4eALH8*(k(d`*WaEizgt3X z`#goSLVg>kfPPv;snkIdBo3re7kI8_ay*jJ)hG&}vgK>@B^=qXyFsPvcpEQS7%G5; zqh`Poqcpfq#WY{E%~Z;Qd>TKTzcS$UGB`QY(GW(VCvZ~ggx#wHZ--}WY;R&ZA2Zh8 zcHRETvhf=08w}<7>(M?>pZJ%iyQcQOW2OblZ;|;#~^_?zOuks zn-F+B!kFYS8NKlun2jf|pH8i^O!&UIOMy!MjFCT12q&W74Ti_uOJv zH+krKqQ8V?75U906|sjeuRMJI6J~!=Tvp#bwMNX~D)E}oHH6#LyZmo?v`Q6Q2eszS z$SvFyqpmKE$SBk5rY)qHt%A}@X)z2?9kaK?plM)#o+>6%yzhbX`|d&RJ3}>vx2_u? z3Lb%dbMu((0UV34iS!%r!-!Fyo_u`5?v9WUtnkaoDQ(^i(+2f?i?Y%xt8mGU6}mbU z&RxfD*;aqe)+Q8f(lOlVg;}fN2Bi7##!&pw{e>J2>QzMwpQN-t~`-?^`v z)M$M1I-y+w`qCX=18DK+Req0{*O(oyWqK9ZI(Ok0da ziX9Xch;--)sY|ZAq!=y8TV_-XNZ}$cfv>{yfbe$*Emcm7Y+))jgj9bBA2lVm4q`pX zoQ)WsBYB);+#{*a6vHi{EOi|zp`^@^|2*Q-q}ByJNJ$)_=4y}gU+ji#vRqLy2D zD<=x{hkxc4UKxw{tbeRy=SFb^0-!#QwO~DYj4FcMOF{Mf`SOC49r-LfSb3{1Yui$O{HOP&2m5s(i3-dg%R zN7-}@*27REpFo&|k{Ul$g= zNXldV$4EjJ&v`xW7*GBnG+21+rZ^YQcs&J|-K~h$j1dYBigq3s!gh_ntcmCuj_9Yq zK+~s;b|<2b7!S1g;I6_I=-pq+bRy8BZvRcI+vmwHoMIQR%B!(j5vjxpkN76;dev`s zJPs9vK_-{=j@_Qo#g$4O)UU#9sC4{LoErH`)4_*1CPhBv4)|-^jllX+jjphYVc}>k zgu#2yz)ASYRn5n#a+yx5@eG+`k zitA;tiG}b;a=q|y%iZ1F+>wEjD$Q>)l1~K17iRBvyWj7EF1p`Ru%7)HX#y!U*NA59 z&*F76-`y%#_*(S3oo_z`JO$O}=YhKtg~71yO+}LJ;)3OFeqo>bt${u@l=*?U(`L<> z)&3#mP z@@jN)^QfguUkqU(5`&5>NIRJJsk8xqMr(gx(sqHDe|nqAj?~`rWG1I+n8RhTJF1I)&Z%u%?id0M9XLZ@`*Ip z-yo+pXghIK)%*!gU#)8Za)qCyd!Gf={u2^df{$0Bz|yU+>RM3sVqfv@-@i(e!rbWHlI zsLqtf?9@Fd4(94=D>?5S8yRs@$F?+u>Z-iO;) zxBti4c>H_3x-I zt;te|ii(2=6Mg&v#=`Q06}?E_ySrHYn6m&Ea2EY6cW-fvu4r1wh>)Dre7D_PBh7v% z;x)~EoNmIHds1Fmw@e+uvLyLhp!o!PO3$s8nU&Y|3!*~RpVC$u+CPIrl(zAf`=qZW zoBFt2exzI%N!;v3+Yz9r#PwDvnm<)!bEmMHK{|Nak7P z7_U)){c`3{nIMw?uZEx8d~&cY9L$+T`86#6A&S(0SU?etSpwML7q7B4+G%mfpBLVh zHm_w?xtiEPcXQ+$3wKK2Vg~qS-y_txyfax$$jx596#7NiZwTUYdRzFrvQ=I4|oDTZ^p ztk2`k@U7H!R8{QnRRp=5hRK?5HV2SpWZN#KdMJF6Yol`cl(d>gKM8`1-!q%a#wruf z%x}O#ZC;dZM_U`A(Ep%Q$$sukB!PV_~J z5&-(7=q52oP?VDL4!3ybr_MLULsYmw@lz~HA0Al55|J+U6hWbn)G*|*L^TOrdJa~A zEiWYnAUd+qxsWR^cP0lwDoj*2Vb(Bgf^ImWNPBOaQ?_q27RYCmB&)ZLw~z{Q>EjW8 z+{a?)Nw^V`%&3uvyZ!!&c05W0-U5LsIeAN_6**p_N~+Xiw+!J`VQ^(>vHay~p~)7s zPNp3c7u2AGQmuU3!N6&{BFcftjuz#j*KbK~-*lp8i126YU8s2z1moruOUU2(M-~HT zFoC266%}yWaxKrZI@J>gQVFYecfhQgA)F88%gQ@Da?T_w8q7#6Ke_ZqjA*Ca>_BX% z!o;>mSi>}4B+gos5Ni1VsSysas#{BFB)Dv)m^FLMg6Ja6mwT+*I?dF}uR7x#%D|nV zUmMxx%R;aXU2sk+#s}^ttAMUGVScE$8{RoX3a^^Fzq_ zL(W8$*$@PttFTjR9cdJ~C1aU2-~b>J3~jEt+v^0-u`eK-0f<7-wYFR)v;J? zX=9j`75zWNgyw@}&dkjXyc&8Yd&Jphr1^AiY6IiaWbs4bpgeNv(%Gz*hpd=9hP zIB*M0mm*N%gQDb47ON$YG|nK*3B*~ww2?%%@e_pyeSi1y01rHFgvB&*t1Af-KJ}0* z))KA*g-P=`lptZiR(nnDym*$ z2G#jqj@s`)UNlxf@3)w^CE;GvQ@b8f|L<*2QuveiN!ptLu;egHRX0BmLKr* zvb>b64;pvMpuZ-GhubW#4RL^zANyKG_mO~kNs^0kn4iP~w&IjM1a z0)JF8FJdqvM)wRjN;0lZTg;o-qfl_W%>r zGnrt83o?uBM5nkFDUIwBE9cE(OOlYNkPsRDZyN7^Gl*eq1)C)j3`^1qwMp-@-JP9> zsPl`$lN(;}v4bvVNv7@I7VdH+J#Rcjo%~OfS(+5Gn4ARdR%{7rkm{I|*32ia?)~$) zY9${d@QT0Oq(6#7{Tzt4shV`>UFkllKt{N{;k^;m04URldWX_G;J9)!Tvv>FfeqR? zst`|_MNjTko;IoKDW%Q5uB^RnyXco_V4jU!l+r3f8Rxhsc`+zeKg(uV*;O*ghppR| zDPCRaWRY8@9g{+tjYuvERmo=(%*EgAHLDk$6i%PrJj=CuSh!PI^AH1=F$FdG;_4A{ zVKq^0A_l|KOLVa<(}V~Js;-y#I?@BR6j*CjVi3S4&E*El4jAQ_d6?e)zHNnU7p`pm8Y*Q^+Nt%{ja%jJaUfNJVO$f`xX7N?FNopb zh6;Nw6&mLbTFa>u!2_p`qH17FID+Muz&fEqfm+m}JL-lqk@y;O|LiCB=K;1zZifdG zF{ds#iLE`qopiUmzU*S70w7PTEf0r5eDJzouM91aPn!ToeR`TLIT;aFTLPSb7hmUz ziL-cKlw3yv!byc0nvIaZb=l}eUBR3M3bWxtwWu2f9XUR2!`1XhVXc~gNl1t(NyOAS zU|JtPoDug;d&2|U>a}LvmZg8^p50N06eZU{7^N)W?A}@#kOVE=TS_sxb}m)(To?dl zjqOm|r~=sDF?&~U?pt7<*#N7l*_OgZn^xA`C;PS>hX=RDDpS6qm(UsW?C7?C~ z2KLKLzNW!N<;)3%2L&)5uvF(@yrWvLkf0aM`uFMC@QWzaT%( z@KYXvjrtM^E|6dv7NSU~8Mjw!*F6f4v(#lF%=eO=MW{j)sEc)>S}P@ zvips4#)N_*GWn5eLs76yMTyLvqBZQ!mk>a6?|Qn!PZ8PepIkQR5JLK*o#dd+kLwN`|6FCOY+ZVxh-)vs;I2{IaL+u2lX?bHu>ctK?#Tz78o(}n z#STC8XCQ+S|3n`K*QeJDw7jhrAoB26$Cs#I;N(858s?Hu-(kqm36mQ5KT1cIVhxyg ztA()*k)obCO71Y&%~TCW=EOj=Zq)>aXLCq1{~Ih=%+pGt8NdVB_ZUb(HJ7T@B- zmLUo$#=eP9&06Nh*eX``CMO?cRg`R${+tc8w4@a6kp!chE3U$N!$oG6W?T(krM$2- z$(FrvZJ~RO?crqoLGLR`^96pny2;weNCLEAOtb`|z7+H-9mE-Gba_Gk3zb1Wgn}GA z;Z?y?ZY<0(c!*Eu89>Eq!O7<_9XC$|E8n=1a}+Z?-0pg{7?}aeb{xLM{U@GIm3W(nlA?u?8g-mZbmVjH#R}=+w znLL?e5z}u$M9h|$1P5(H3sj$0XhItKplCoT#jMItK}h0=Xwo;07H5m`ot>RW=!zun%HCVbxkj$1?H$d^29jzN-03}2jTBgh3rjrNMCUgK>BM!|Lk2u%Khf)_7K$g zeDn?%^Nx~@mrLxDPjRTX%Z+JpKFWaS+h{aV4f|NTH1h1uhFbpR6T!f(L{~ci{wHw< z9VZ#L%+O?zpwBCI*_nc%g}z7FmqnSAhybm7a11#U0U9ex4c3xfoVPaQ7^i(aUvLaJ zCH4hLH)IP>TB_KaN|;=NSx03$VW-9Qd5GI~KBREvfgPhd^EvD}VWkc@5TgzaeiYx< zPshKw0qf|uDY$KfSt@^WhO9bj&mu%CS_3#Ni*UCQ&^|r0R+|R8(UbWBUFZ+r)^C?@ zi=#2tz+B1@@ciwPpUB3If9@Sjj#qVE7FXox-~W7!`8$`C9YCVa)*4+gmvhCD0#}%z z6hJ=JZz&aveVf9^@bXIE9!r60=@*$!8te-H!tju*w7M*&SCXpYYRYA$sw>){E6wzC z#o@eHSby_M_1IVC0v@3&23pFlBvaw+s+z)!*_Gxslc_XvjRo*fgJ7e<1||gcRsIIE zQr}x}u2VqkLub>uMmyM42!7Kt_P?YNWE~$*DL5y5wBgW4>A$>4?Briq9t z2K#@We=u7LTJ2cva`SGm`^lJ;Q)1Sv$OEL3%pxzICCBL;2wbmPP0u(VG|Z0kCYdi7 z1v#Rbm_na|-j8@Zo!46VEay`Zxp*{{W&T6}y*$C&KG~25L^g0S-=q7qa~IW2L#xjHe;xA%S?fq(}|w z5!S8tgw~qr%%rZlz&H}wYC`nZR<4W_$mJ%r^j09K)Fh-dg!P2!>Mdw|xYhW^j3oTJ z;Rd8fi}Ff>y6?uNUuNivNrsZwr3hI1BE8Z~rt2;U#^ zu<-R)7*-$p2-Cg2-~P>>Hf_`;T;CNfZo16R!@Sz6oSE}VT-M1Uog42KH^cj*6Oh}* z7m6?3fA_U=bNyFtmWDsve6vWGaE(1wc7qhM+zi<i5b zx5UNZF>f_sAlBOhRD%kDlOH|>Xyi5JZYGAGHYJ@~{mHh=CL4FdO$$+tz-m&$3v;Vu z(_39iPg=c;IA9!07i8CyS1aSXYt~P`-jA=Q-=xrw?Z~E%65FKcy2?N8s4R%8e0lwu zsfGU&?ru#9UE1&NfHT1TEuDMODhLn?_be(^kAY7OZ|qaL6vD%H|4r9B-*mm*a$2r; z-n`yng?+!+CNaH{7iws2nl+dy#}G~oOU>r*^BEPPCseD>`wjL(fHL?bS!wQg!TQcu zT7o4E8h7?nsJdN%UMmzM0)ZQLTf$p&$fG>~$m+KTRW+h;!ZqOjXlkCZ*W+Lk z#F0e~A0OBy6*t`TvcjCb=jWK=jAJNBg0-;&TyWQzQovj^LO)*YwPgC}WHP2DB@_#V zE+y8ng*?gq(*=4L#30NWG=u|eA)IT<=S@@-q3yj=iI}cX5|T!QOSn$kk(3qrw%ZqO zvcaY@Hv+^KNu$Sv@Zn9*IBhSQxewhiZ(W}L6LgrSYW7&fmg;$E(jYsEZJr&5l4DsMhc}4Y zh@}HD27?T3lA(Z>i7jdlm=Qmk225D6U~e- zAIVRBSy*JF}#FD=Q*1 z3ml`Mg`l(l+g}^7RsVkewHB*+Z z&;W(Sa5`;yAk|Fd;Bc4tYdbe0+YR-;uOo0kbp-GW>r@xmi15(&8sY(aj`<)|X6|V} z9I}PsPoYc13l`eKh{$Fd+5<+=1raY1v=(ZW#X&P=68tmF9UR^qW1d0odr zixl0BHDxfl-)DF3-``D!LoGVS)c1HI*74JzK`9MQRi3`8`(MN?nf?I#!7>U!39P=_ z1_u$QE_O`vZcD1pcHrP5Yg%O9lPP@~#SDnZ|>#qf7aF_Zt z1B+*@N-j1;`QML;Rl49f$~@as-#q&05!>vZ7n((^X~FZsIYJ>8q)2wkU-fqwpbGB8 zIdh){OKGt-Qe6o7eo5^kM`S784*5hN>yBPx81-uJIj*hatp{Y-a)s!kpAX}ocVhih zY*C?AwU_@iOJ|5oYIR~#qN>fJi>tv#&&9EfeG!2mkq?F20!<@rah{#6$WLI+2Y*e= z(duA@W3?Qon;ah=hQ~RHz@h29`uq3aJuRnESlgKEM>pm_M}87TCvNelWqJ(Q6wRPm zz!HH4`Dny9T&Z4CfUu7>PeT^r!?+t^30rFnFwR0a++gX{kT-QG zXu41G9<58TUf>X=OC)o&7?i`-D<)SkY)ThF+^(A9wroyQ@UDX3EtizX*(7{>*?Ubi z6U5XE@)$T-Bwj&NjB8)Zn(AP~TAUKWFT!tcWBO740;fON7^tF23#A}mgn=CY$fet~ zS|R0EF9NW-S%mXvJw({>iEh)LL)`8D3hM-qqFv$IvOXK-&DvfAYOjwB z+OqyW*)GhitbI3XE3E7yN>#TU>yn(u!WI>OUc?5=YaAE0oGqgDPCNFQ1g=L99zD`1 z`FUD!+00U67SaU_h3f5|rn{xcLW(OX)Lzwh{5WCdS;=2>S|4`banRGlbj_db?mYZ* zr|&rMZJBpq5*@~hv2wUvk(DUGjDT~~W9NYPU}6x{*p8aZ{ZtE#?S{pgn}(H3Y+sUF zg)9QY8+DAlXoOly4mE3l9v&7I*>YJfrNmX33{N%8$BsNI7~c@l zTq!IV*qNoJY?es}ClfrNJokTrDF=@iFP+jl>htwUrEilwRCKxrX+{i&-tCORI~; zGL$I`8-68C)skJpb(t=}uq1!QL>*ys?6B!tA;ZT-Amg^icTg+dck>wK{T+XaIXfQR zzt``GSh!iCGlGLclPK8b zLYnNnNe0k#hQX|y@E3pu^8{mQ)aURgJtIRFXAia_@EuZEF`0%p@HYnn(Hp8Sf>n!) zQ~U~kz2;x`R#UC>+aLHB&#b(FPYaw_c>$jl{7pHRr|_3Og>5-c7w{1N_�GGb*Yi zl{u0w{d!Elq#q190?8+@xk6}Ho;;H$-3^|YEz-@uQA~9iq5rRlssECE)*@1|%7_78 z=8bF+?Tr(;K7k)=h+o(=62Cr8meQ+zjo9u`gA|pD7s0W z`J^fO3AW-B&p!zo`7|R3>*3`S3yQZ$PO&;#y-3*`(p%(|N|?Estgvb+n6e`?ONfN| zoXl7G3?_>H@>JCCcwU}jgwMnA&hB{U(O4pkhr*8!0XT>1SUglDIb>}ZRYx5Dn!Zn~ z=`vr`ZbI)|+t9bzl?rdAMPyBHir;5F76eN%_*BWT>jU6A4@KP}p% zAPV+s6*qFtXZqY*5Ci61Ad^W|w#njNl`x(R(5@NN6DMN^WP>85yu}F)RJ0(lifaRf^CRY~F2QiEI)b z=5(4m305`vz%0fs1n;ic{LEFgFM$uNtdxb+bYXExq(aOM6)=VhNgWd&PskpY&dCKR zdyk2)d8K((VW%cStT|4ML;~YU-Y8!QTe&B^+D261WecY?Bs}6b#~|+j-;V;nq<%z> z`t$|&hlWf6;;=w=0{ArfO72yZJRNqMOM6Kc{+Pved+TUFC6cs41xCn5zk}D6V;v=(9a~%r^DTyP<=8rn;r( z{*0Q#yBqH{9)INiY~DcyL&;$kfc2Bq5e%$={SjrqZeU{x>%=Vnh#IsMcS&WgTGfci zH@;Mxh6qUw7{w+CqSbPW|NLJ8*_*tTt~K*m*2E1)8Yd)r|4av`u-&b@SB0{dYcR#{ zHqwrW;i5@Jj$~H6y*!BkTt0c}%}{1u6<+GavjpbHkE&!^RqG`Lyc8K%+G{Wk!1eqQ z8qzSy^;!nlh=4h@*z5EpUFOMoUV*TOo6IU^)f<~TMu;n=!pY*?gJKB9*Qzp`mGQTN zw-`&cK^;rnL0-3?FZB9a2lS_G@^y=QNCTqRn+|RQ2}x_q73CTx1?RCVP4pV@&)9_| zIL?JEa-^{&_OmLfc#tr0>R43`sL1GN_rKiP4YWXdZ?kQzy=u-O!u?H;ypMLnj0Gi} z1!5mD{_t;!B4hgjX{+Yp0OM}&0MlwGT^;C0v}|z6EsAV8E)fh)DI?986VtR0NUdKL zt%#B>F9XbZ$z8^{F+z#4^DP(k`2^j}w;`)EU3iv@x%BHhI8?Y%xhiQ0kr>C)MHM)u zsaEj|)il0fNQ@L>*FN^c?R%t29Zs4?7ebqcHUEVT+PpvQ_p8~EZ`aKjYLnx(4@_&I zG0D5I*%OSN%e*I;g^@)17u*|3U9m*pyJuu;l(Y|;GeQzd@Lkdr5eU$P!xvIM^5@>+ z&u>RZUtIOEkmRU0y4}B$!jWefdigEtRJhFK&sT4&K0WNc9ld>h`>Ox;m>RyzE}y+; zY%~5Dt1MC3$#PX?;W2zqPbldG%n%s#RsV{#Q)A1D@qM{moN043e4S7wHIIw*l!{66V8bDa$dp#Oj51SFa@P|~0*aksb_P;IJVnjK zv)M%ovg|D^E6Mvh&ySa>)IvE&F;+UuXIWZd595wsJD~{5ZqS|^4G=d+sVp^reH57` ziXd$Nl-^ROj8NnU`(vZeLtzQ94BD*wSI56{o3S(S#kB#i$?~NKpcm zGag-Y0h-2YIN?n7JvQ5O-7+m&R-cu9RbH(-vXBjB{V~~6wrO|hFPSEXA?Q}LX1`JQ z;&sCd)^dUgLNAyfpBx2qa@duWq*%mzRn_IWltL`vptF@8uFODJB0onuF&WbBEm{uv zZJ)O_ng)!4 zA7m8Hp}MK9s3lgs#tbf4dVPM`^BXc^oMs`9!DP}fXY7eIg!w(`&JxUe$sj;9rUZ5Q zK2u5INQI!80S2)NtFLj@bUA-IyvEGr>^^ zF*&0XRU)Fsf30d@luim_92kE!l6V+>>(T3eNGM?`2G~!pCT~Fa=PM=?=BQVTqaGoB zip`1n3t+XfDLWchhxHL#q&N|-r57tOH9b8Ego09C;F~)~&0H5)p#XjWC#^vi99YJO z!v0Sc6=-GZvl7P`RcCNJB{mk?p^jXfXAV%HG~aJ!9uAWb3+F0nQhb}BP77_*A}`G; zq>Ee=(pe1^3Wv8jSQcjM^g#QddOD{77(}Ng_81}I4U02kcCyL+bumM|t4`vWGc6XV zhMixsFV=r;^+qZXPlRfmB#K3w9+9Utww!SnJM7W^(C-q^!W(`@0K-qYz6-G`^jk)l z7?a)2W^?mm1zV2chi4VmYF6Wpd=ux6<#@IQNJUHXb_2+e`B^)lCekkp|Ztkc&HiZH1V*&H~{Kufv^`n zi1HWDtgfjto-s*XGg@-7b*&#MrG4W)*E+Dyy5?BP=6aicfX(-sj51=Otu6(B>76$- ziR-jIZ1x{s^;odJy*@&Fwk87$-A}Aquid+6(GG|E8^wc%tMU2$yPT3cPg ze`eVtsh23Q0$*`)mIrZ$D!QX(k-c7!Q68|vDl=<~IzP{UGndr}DKoIT`>Fp4kG@!BM9L~Jd&ZKb5{3Ax<5N03LchP7WUBBj5BS4aAYGT|fVYi`t_C6yNqR2N zhV{V`;s!C|8qx3-YT&IXIk}4mg^i@bt@il5&r_`6nUv>w&F(8VFnWmzvSd!`H!4|v zBD?pmb9;JX*D!v}_64@3IHvl-bE6Zzl5T#Q9GcxEZG<2A zko4%_+>Zk??*EvbKKrofb$dTwy?s0CBS~@$kU$=AK*G%nO9V}O2b0kk@b6W>OEpJ& z`1j}dV-ia3IY%R6#e#aRW2gHoL-MZx$!qgZesxhso*lK8hwxz(YSfF+66{j|=Y6Lt z8QJ3yyzaOzN>&jOzvyG3m;OVyv*JS}d&mrD_%`5)exnN`fXFwQdM6rqW0UR|Uy!)o z($smxhYePe`s;8w;Ec15TWamZSQ+ahqQYDXz%EkEt%xEibP~VV%(b+0LIJ9%3PnC` zuz|#MOUUz#oS8VE1iO`SiCW{P$?rva?NK#*^h-lW0lf8u<0%;~8eFC;u7x~XksE^M zH^lsSt)gq+@LChJ>Ckp4&fYFCDN~y5B3}*Tuj?#b&dQ6zv)KA9t`g$;>xO=+mB)@8 z{e)KyIJKn{MV~C}Wt7ObMX2%Ra(@hkVzkUSIm_LmGRgB2r2M5uR>T&ZsDP8v1DU)I z-c;Gi;f9(UY!#LAR#81GwiRL?{i-=VEiy$(;VAHf>T(6!8xP-U?x8R8(d8*eH9=ft z|1(jXYr>BzJt5P7bq2_HIL(*SRZfx_?2^GRHe|^nn{kDOm#o`D=SNjhot3LOyHp;N z+=sj?tnZST6XI<1VvhO`W0X5vtlp+Mu}is?bqt<+R#DJBarH^t`vet0YGz6(A z$XkT5FW<(ZZ>R`e>VhN|gOAHw6*^AfBlYE{8xgKy_gI`$&A+nzqKTnYcwEUl`!Joa zD%gBVsRP&o)-#{sqWJO{cYEdyGC!pC*&sPy9UsqWIs?Z=h{9F!`}2OSQT0Qs0ZbOS zG1}h{%Pr2x3L`eUak;AZw6qB;CCJA%7nds7uqAoI73GC)qqF!4ArsDOgFblE9$GE~ zmn3<+o5bn&aHDkt&4|QZa{+H-8b74dS`MKHcOh&>-)k+2&Jmdd@o>1yn97c*DTTF7 zanv%!mpa%?C$|^;C70PLpbXq};&&XNBxcXx>?<)ptt6S5Ezd@JZp>B1@{dK&>etb; z0Ho-k+?7`3-1n7;TcuUE^imB44c%;Bxs?v+R#KQPUfMS7(tgX@?QPE(N4yG!rMT)` z;WyXZrqqV2c{BK@FXDS3i;*S!t8Gm8q0=G~{y$P9G}|ap0%T+WN0u$AV)hoY)4tP4 zeWcb6`0~#<{h%+T`S*AM{muOdi{|h_C=bF9^XiRUmH^rO#>2e*9bS7^gQoVA??6l2 zUzPzq*~3qfDgJ;2fjPtcWeyi}qKVWGydq69C3n2FCRI(LT-HbjV1^O&2ai`8NnlUmoynK#C@l+bR!sT74FmF&dsD52g|tCY*?!FCA~ry_cV z&V7yQ56+xAs?+6Z@Dz`pt()VX%rTb?7mWrU00*SA!t+=xvqdJFVp%!Ilgpv1qyT+u zB4b~fcH8`)))P)?T~`sn@np=70U1pPF5a7luaH^psO-EP!hv6g_*N7O3ArmztmMJ~5sXrjYbL zd-Ul3Zl8O5OdJk@O}HSEdIO$t-H^THf+!~iedtXCsU}-Kl`j%xxS-=N?@)BSu~5he z9m*2dG%K0}`sgUYT*PW371XbaQl{!iV_yA4^D`}@qK?3~!30_rJzl2+JR$1j*4Qf7 z%WW;$#rYo9`_6lZ8twq@Qf~&boAe)e0RL@s; z%Ypo$&Icax`uWiC8PBT#ndzCryq~T>bOwkQi4({n7?&87)uP0HlAb<)QvOTAN>3 z5Y}H>)K7I)Y!&d+ZvKvz(V`gPjT5`fQwFzQT-B_FH|wa+K~Wx;vrDz>WV6WKJ>}Hk zDBtFh__dCr6s}|jKWKlwfRIE0P*n7bj^b2B`pnaX`0lOmgy|}`d$r2UU2+X=O+%v^ zkCak)wjWFbld24Wac4n=fy%pbrdLt80dnPu<32g~vkDh>6#7Itge=}g;*9_(taDDsE@ z>JesXq)wa!4@i}Zyjf11-e3RB|SAsyvQSBmQ&wup(fmd(_e8AjGplAM; zcY;P48#MDyX~SR>bs9;WnA{RKHHvdQ2@oVaqD3id)GiYXl4jFmVEs39*yJ&8WL~Gn z6Vq&{n?H0M@ux2qUbkt;x1y2-p7mC1v3ljLsp9lJ)oC7e&W$bz z(JF*T%RR|I=qN^wN1k6swl1flO@xUlcT1JczsH#lSf7GwOa3GBQ^sca0eY#q(=Sd%saed ztYs`LN>CLT53B+l7b*(69`>nUW={niIY+1}`Phu-G)nV~BASi?Gb86Y%POpG*%X3& ze@+l`kE5Ce3if|U7&7SMyilxMhZ7a2DOAW~x^7wjESNk|Bt#1nxu9a=-XRfCMl*<$ zfLlfm^rZX%xc=_L2fOABAHyKR2>UH)_&SmR$A1Lk9FVjW-wOPuAbpk^w&j4@MF^B( zs6>&Y)r{{!Cd5#@ghs29-m912{iBbR%(8xGn%fNM-lN^!0R~V%xDWsA?%sWPhyMNY z!97RSaBTZ}+vVtRE8KSMhv7&?7v|8tg~_l8UpObZbrwF_+(yp!$nLBs@5-;ys7afV z*7A$1dlSv=5dT8_-CiLjEW#Rko?7W*%A8U9)Bl*nlP1+?9kMyNk4_xg<)th}1L3S&^YqWL34vtkGQmu-Iy6?3@Crt8gvU-mpXrViZ8W z8nG%b;3Ve*qD>kA;V1Xv{5+fGupRBQ+~hOT=-GRYPzf64#>Dduwe(p|WN^2STzf&u zgOy4nMIzINw?CnILOZ#(iU30PS&teTD^4JN0>fk&8~zIr5>>yGnaP5O$QROI!bNKq(N!wCi_vZ0DqQ=e_+tlXz9t`*lR z5yES{$_}!7?Pzliu?3E*tm+$Csx`LBeY`HFTVJKvS2(R{{qW4t$aVRDb;fNOk`!t9A?S9X9K#!Kiz$T ze#meNQ<4`z7QwV+!C{CiE8uvXV-HYv_YVx5&TCkPh>jSI1v2HFWTrs3a8jWdX@%cTfoPn{HXKu>~)= zGxS}6|2)ApKpXsj{5$Rr&~!epTU|Hs7UqTI)D^uSl2~?~M!>^fjRAJfP$O>A%!(Mj zv+hSW$zYmUe>VxwWF1a_?Sa$#-B2J_%iaiI&HoU43m^Vn{{07uz4Q@@mHaK;h;*=bRhtB}E$oFVgoQk|BUM4w$z=4_I8?_{3y0x7!XMmemkY zHk$<)HO|5p&}gJDZAr8-sD5>g@VDUmXtwK6u@K70}fw<{@)N+461`>}E?2-XWh=98}?SQ68l$<2H)GvzWd&wR8 z`#hha7h!UjevyZibb$7ai6-#oTGSD-sY*#E%)Wxnec-WikGY3-W+TRjJ#G9SFw+C7 zLgpUbfk$`aNB7{-9V}%=oLc`A@Zkw&sBY5>`n%oYAQR^Va@`7hqApUVQJj_wi{AAL zL@^0z>LcP7qD-QqD8y%k*7Vq)iQ19zCP^1e1zS{+S`D>bXGT-oPo&+5xs(I0ph!P3 zml$vly+#vs3kZ#Z!%mohc=W_mX2vrJX*hf+w6UjKOO=E8?O`$;MxquckYu&6?^~by zqrgPaa%VJ(I=-=#d;ZS-0R~Gy7=Jl_2!O;Ho9>uC>Qg*6qM3{wi`2m2Ix*vSB5zgp z^hCoF%y&iiWG_23HdQMQm8NO)4cudmI>;fih_O`^?&_*K)YFz0dC6 zeejTVTX!Dru{CM@&>R&;%Hr)O+uP9-U+z_*ig|*A#_u)GK%hwTqbScU{5!KX82Udk zPd>GX1RF$t4m4(jt)d7q(@dI!2DQO%)JsC0e5Ixv8Ji}-BU{}dCSr%mi*83UjG+zc znwA(HZ`~eea6d9mVGyc>tfEx#H-(h`uCn=089S7!_CyQ3gnW9Ol#o|k1yOs=4kk)b zlkw>GmxZ5goCm@?S8)wI_1pI=xoHidm~V5e{r%PtHcZS{%rtpYpeH{k{?AVt#Vb!vGRkdM7THKH9U7ftsK)4YQkhdvnBpxK zk8uVXt<0V17&DVG1)$YrTZ8G&(zNDShzT#Yktkj^sFM7iK(bzChn8c+R`|w?pxlZH zpD29S;Kigm)JayPlSH0a{jqrrEiOXm3dFu63ote2egtIpI7F`i;_hi8>F)t1$RCH3 zzR$R~7J*cwAn-DpyP?}-&P1skH}Cq#W=lMpsG;;pL@v7G==HAodY-=e{;q<0T7~?Z z2)DTR&z^k$&1))Ql6;pIrz_0Rg_%t-h9%TaxwyC(UEHOrDQ|wnnkje3KRq2n-^1@< zW9P%WLmpy?uXgU<-5qDs^K{6yQHICd-v|pvMaT$+)4CM!`5jf<9xx}(RHmEnO4uRu z-^s+yBSsC*&406d1*Hdw?v9j9AjgVYIW*ITW^5QxmZkBnQqUGgg@+3XowR_1zue92 zV)3XUae0sH26}!gi?Ku~g!oa)dBptdru|;GZT=f~TsOQimp``S&5v!%TMbwrH*GuH zN5tX&=6xqu5ZQKgu5uq+*pqH^o1u8qeqUo$Zfv}k3~yN_4!nL#OEDh^3d$CUk4IWOYB6U#q`!Jx!z)9WE3T?vSe()s=__7UoEl7#$qShFppShY7O zv48ZL;_(0nh^Uh&mvU^>#YUDKIo1Tgm!v6>I1YKxQOo`&O{G#K89@oHk{X(9*HU zEZT6PXHQl5#3r^3Sr%*3_#yr6Y7+u)8yFkbD;LZjsUx@U>8%wDWVUF z(+;P>RjhqNbIIr*+=`P-AcBcuv0XaqjW{C_YAm^Cja^JhfUd5<0`GsNmhhF zuWz=$Cie|NHck+9)Ew0n9L#=a5CSE`C0E~@6NpmW)d=g{4TBYVrSO$GA?#TUk6leX z3I7mOh9D_vb4K|q`lx*dEoIXKAzS>tPw-ugJcg|l-k-|8C_`};Okouer|@K*;^^U z&a#L47r+cyev`}55JNWrk&RCw?vR^7#W{|F2LRFN(*&#~dkTm_{5g_gsZIf(nTe+A zM#*yq{e}uQxeZ5L!@)@)xKxITt?D^wVxe!KIN(oHL8(Tj5p{f~uha=>Y7`wPw#zLIFC|GGUG*p0_tk43)f6~178G7`mLd9gc6J_YZ;LNw7vY_L+9C8taQ0ygB&){&^gu#J;1JB&xguk3+;=cQ`*9LSkSq~p;vez zpTITZ6`1SbW^cL^=a*e*YMQ!fPu*&{Z@TC@56KPF(#fHGx~()Q%V$jgDx7rx;HZd?l zOdB_NB(&a6+PV!Bvi!d0{UGkt+?lnTF2?wFXMILbOa(m(jl~Nd!(*AfX}#Im)4*Qs zK^~{y6LwQjpM+sT-U#0HAX%cwAZ6AQf_q7UBR&Ieek zOB!0$gvKccDs9`qy`+&jN7uRIM1qPW*yqE}NX$WSt_UZ-T}J~W*Zfr-vM+6U8OX*4 zgB&UiQM+jqX`7~3FW!_h+I&}{Av-NR9{%b|pjs5v zWREpVzA2~0Fxgsv@#@X89?ouP6Ro^HjF zN^Iz4fMJVz<;4f?+ok|&g0Kj2i-M13nbrcqIE&`qXmg(-p+t@i~8jwa=25`L|f!^Tc7OVrFDJAYO2Qx4mgUJ z!P*0pXgEo0r)qNOTsv4}sCY+8(g6dKik1*+q>H=~bc6s$aDL8AVFIYIC`VDkf<$PB zGWQ37r(jT_%;iiyx#2Dr6%2%Gqni=}4+D0ohstA2GScr;tu!)0?dO*87cdsVgD6u| zBYilYDZDb5a{-34)|1doP==L@p~NlDtte*b$q*d!4hp-IXd9=eOWV-ef%+Oi0ReK* zb5{#`Mjcxk^|=XjHFQC?R3c7AQK-GY>B-U%)wSnmnmZE5)zcost<@HwchD9xw}G&J z8?6z2yDc9?1`#!K#Lo?OPmuZCpUgjSQL$I}pf%>7jxOIo~B5CjSAMd0Xhw-fFyCU%ApSuBx%rHXLpBKTb%^;@qkoZ2@<^jS)5GjTF>8Ltu6R?tgP^5;5L-54kSYE-;#XK z3fi~$cxc<*Fqsv$8hJPwFa`Wbutb+*wS11=8Z=14?cu>&t`fm`Y!{9@IZPO&(YT7Z zIn9gr>OHL)axs|AC$GIg&XZ_1?R3Ji@%KNkr!bk4F^cpdeZ-)EzD9T-)O~=NIF7%x z0p>(Pp+z??-Z*-`F_BKV!+-pcA+Pu2V%~DVy@QLCb!6H5w)FW!m@a<1hmP(8@8nAi zavwp}SWU%RovmYIeG3TCsX>v?WWZg@~1(cR{U!*qkk!vN+XM; zar-fukGU#VXA)UVyvZJG7t=lb;Tp-R3Jf|v{d3ReAF>LuoFZ*l9p(X->D03Kp=#Yu z3*%HBN9-sK>X3dzL6hZ7pIUy&1@agmqF1eMfc&*%E`+dg$P^_cwGg!=o(8X zVHVb;*AZf|cp zujQtEUYt3O6JI|qXIGR5;NJGmJwfIC9$-nlg%#cSaGPN6__C_;+rPuU10Pu67zlIX z<%>57z}yryRnNYyHFn}1a6%Vb@WTDa-?9p&7{tSVvHHcTCR>(T9J@DI|vCOScJ!kNxA#`R19De_1O0qo=Yjb~S=YvoK`c(Xs;cn`=*}y@;Me-7m zWGi@g0Z!sR*SQnfhL{qJDtJ@A&){6VMgF~^^n&yR=&5ye|G+T`L^s|1;DbHWwbR0MjS^NoWng;C-O4NqX#MY>Xeu4SVhlB` zKx(x;Hs{xsjykNKEAKJIBKj-V0LeLq`N@EgWVK%bXpRBIApUmXC^;Ny0?+?JnFd-E z_Ud6&d;FAhWhBSCP+u4xy6=nn*&ATdPeZ}tx6|b~s#<2t%v~SOqT_YkN$h;f6sGDb zKpW-nkT^ts{BoYpS#|znRvkfN@>l-xPtT-nw(CpSr6251>GYM@Jv;Z66)Y zkB+LNqvGi3^ti_-bV=1$j#hr$y5su+Ly{lQi*X6pJXGI5*gZOe6b^@*M@N^(*N1Oi zd)wRY$H#R0c(BpavHnn&uE$qy1Hi&zzyw@I`2^e$PxGuwg4W;|0kiq*q6Bj(?J5rU zLz77KasO5m1t>mnb!GnHfExP=ok0>B`EL8%xF+xIY`G!`{|_M+cd%cZj>vENz5xC5 z9otVD6KAOVB~bUvJ4)YS*oc*kU5Pe@=UI&)rz})cFf3w(&cTm+vKW&z zS1c}0z>USL6lm@ioq> ze_~NBk*@Tun4e!G1mZQwxIB)I?dM)P;xic>xc{uTZy49h z{=xp?+s$K0JmU#emQH-Wz+yA2$0-7*RgN!#7rvsQG5RA?36#HVrQZFM*nzDKV)aNm_b~R@R3t&!`%##L0C+ zMsBRC-@I`iZ~V`3+fqmiw11<@Wm9{?_&lxi>D8t?%ykCjam(H7j(_-or1Hfx&^Nw$ z@>lrh=?_ob?O=~o_3Oe(*|6_iGh1)nG~RI?y*%1H-WXi>k1pMRk4E}r@Z}cIAP^Av zVAuVzg`KT)ieYt64{@M#H_XCatLukum{cY!CiO4*{QMPt4Idx%wa#<5(ePr}IzO6h z<@g1;uE8_>>zew04QIoVj`W)R)UhxW2dIU5nj$N{WqWVJ$duy?~U3bD#t~M;Ih|Qz3mNHAevWKERU$b)yL0Su5cFxU~BfXK~xNNuvFv}T#~0( zUSg_9p(3yf7!rf;s9&f96B*Rc$5RZgadOmICbE6~-PN1)4E_EcwH>h4uqGHB0qE8V z;i9j~r<7Y0wfp$S$apw5>Z*)UGo`b5$m%Mp&c~NB5-`>3Z0XUOKDb~Gz_s-qNkG9gsJv$^Q zjb|69Lfiu&KWy+~6!ac^s{)PDU;ZM?-1SYr2Yu)fbbaqmuWObJ8S_FD-q)!3P z%M28VA%(nQ7OE<%>A0)j-={$-ONd;FlB2Lw)sl_pH|$f;4WJ7v`{=o4tet?M)A%z2 z+52M4=MvN;ATe?FOn_+j5f`Y3K!tDLk%DhW4+rhj5A|W${kxJu26n1@{J8l}-q0G6 zZ&l-1`tDy}FMHkZWqNLtZc0Za6HSf)<(AwZ-6OS2O?|VA30$~@$q)@CgGMc5_Zw(z zCfRi)K9;xWG90FRH?RA5S1%^I6@`2XM9s3@f}NXH`GL+j|d)aqR#hzGqKLuRSg~e z4kIqGmxx=7uMDY_n-s)mcXJEHz+ABA4sOmT6HCB_S)83+Nyu|eKvJ^%vP+xML@;6Q z5uNRLz`bw9J1x^pqJt3wVz za&t4sVvY_h038W@PO+M#>u1zcRoD+b09OK%2{a^(kxhpqO(SCq!6J^Yb3;AcK2`un z*Ou~3iKvmq!eGphmRrN<5hgi+KCT*Tuk`P890;rU2ch<#KV!`^1F8vw<-^Uf5Kam7 z5++5}`=raajw)(@*&e^A7EOL1rrO5!#m;0@zGf07iU4*^wx0=Htb5 zn9u}x7)<%vPV5(gA!S`uQ^aJGoUon!xL zG{}8Bq!oe&GqW8ZMcGK~SB#f~iO8Clyw{Oy`Oe9#?@zMIot&>m59LnqpCg|}UL=Ha zpG?aFqe2D7kS&3C9)A1qK7Xg6ZW=@srU>O?#*|O+EKdBORCX_(4~aLSd`!P&C-3vQ zkUA%^UDT!ufolVNvMil|ViT{iuq${Q0m!oLK=&zJF(x>(2l0QO_z&@3m*?%pxpY(* zR)#m9P&S=QJBzZ&Auc&&-HUcXP@rv34CL}!Sy}No8%i?R_$Uk3Hd{+4Yx&^WDAsx= zK*vI7!aCj4sknFSI{?j!kC7*Ep42zbgAww~5gkIRLFss-+ui*fk!GsdRdb5(Qgl^jUTWlq|Q7x3;UEZmpe%%*$Yo(PPt83Y55 z=H(B7SNJpq1Uf6B6dHWaa3w*kC%l-`?d`da&lw>nvS^I%JAD4HA6~yPKF4$TXAHkG z_>)IHE9)FyJJGW-@}Kmbj9ztr%e@=Kswk78zxR_3`P&Y?qZ&Gia_WT2z|6iQCYJQ~ zFTm-Aj-~tP@R*J;Z}_3<41bgh-Qy3v{2)}6a^&eDJ;jt$3=-k73Um4#KT^NV&CQ4( zg1#Ik{dZBLz*;BfnpnYd@4(q&tuGn4@F%|zn)u03!GTI0wC?Nc=tB1MJfG(CtI(x} zHCkd`!#kW@1svy*f@@%vqWdc36lOh_tLy(b9w@y?et!b5ubFCp!nt9uH1;3^Pb(r} z{z2=}z>@*t@4Nv(nnol0ig!#h+_|2fh&9(Dme&oK&mBBKAv+pB+1at2FJ}C7U4Kd% z0h~9Z`z2IB&;sE27B#?9N>Zd#atp07W_FA-35xq^UbwB@}P6{Ce55SJ8@)8yYE#;OU@|o5+tpuJ9m!;;|A? zG6zjv5AxfvR#kZ(sX!xB(*oJYFIM%5&a8Q&Dj9in@P&mDcS7HZz5G*jW6E0v42e**Jjro`(VC=mb- zIc<=(E^~U*k!QCKpoI~!EVdZicxe&YmxI^Rd#UX+!RL^5py!i!Xoj)~ zdai)+pWRI!Y+G+&VuE)AZq>Mv?0SbSwTxhPn?w)pMLD6dfMxOvax45BBlC2bUU9B| zrz5gLdz%cKyB(6pvh}4ehsiy;so8nC2W$36YNQVb_Jq;kPcd2*KPR7>7R@|u1EZ>* z7S0J`oh=cRTlEX3;WIp+Su7ebT2znpr9}kkli(|L%SzE6x79W-Wb(0v6 z=YSuqsFIFi9=ShF3e(z`7DCj^C%wVwgQgtFC%&x}oHPC9tI}ujbkgP(52`L_k9gzG z)3c%1%HM9jy_T;z(tyi``CG0ebj`<{cVk<$cacz_#lmvCR#e0wr&^3Qos~5>`zeE4 z+Zk}*A^BhLMcc?*qul@I7Zg3C4=5YA?xfg0#ocbQ-78jo9x+5#iS8O~*9ohlJl@6b zi(r=9^^>xN*r~5!mIjEN<;!y8#<^kFEZa1+mj3b%skZlH?9>JOzN<4q2f?{<7{1<{ z>CUn-84a>`a0o{Cg?fJ>gfikE(B1UdjrI3rk^{1tC$|t14>B=jqe|$O>?Q4G<@JVr zU1cBga#6F~++N@REcqZYeO3o{=`_1!`lYy#wA46eG0hn(ozZ`*Lo5Z$S+y6$&cfAn zmV+t^zbU6jT(gX9w{p4e@34&Bvpn~Jn{oc4T)xbvw z@cA`=@l{giX9bn?U(&k=$;b8=5A~y~_|@0RRoipW{dH`%SiXsubcdJJ&5c=8;F;#< zaPog)s=yo8)dC&Wm{p6AH%by8GwfH1lu>_>Z|gxn+dSeUL~mE%rFE2E*X@) zD3Rm{msLNk9KpdL6lCg9eB8qGJWerE4`dafEz>JFHQQS|jlH_j_Z#)VACV0<((@77 z0o0Cr$$H}mz>ewp10|2$9zs~uJ=@+_+@93&@K{gD*T;lz&{m5f2Nc6hSR}KmJkL)c ztB?c?ePPs&9j4FaYtnW)!}F-_F0v-(IxYg7e8?-Bud?x?s&Sh#!C2{Y$$c%>H}gs;DPi^LWdt>3K>Dv`>4h%^}b$84qCl)gh2?&#$}Lfxe=Tr>x3SAj6+A2Kq|a2c}*T9>~D zq$T11baU+MKIty~sj(TPg>Vz8Nsb)KDJCk@#EYzh;OHJAK9EcIyqqL`yi9;p$p#rL zyVdSn?Xk$>mU+0nG;Ty0n7e$k^xigys7sBoM2`Sc9LsMqwQ`)A67HYhF)>Pc&+AsT zS1Y61t{}q^?SR)YGflfUZj}??H3IV<~;2 z1GKi^3yC{z11;3}+?yCYo5@XXfNguvKWu5vNi_$)hx1R3IdTy~oq`T|yCQZ>F~p^==7}&`G)kdLt(kA2Gpy>P2c+ra+nCA+ z9t!YgPu}BI+U}uXuE%A1K)Z#Q^^ zJ<(_0{A-sx(v=PVz?wHAt{ST+e?~`+`WJa)H#WVkplw=Em*g6sf~;4Si?j2D)hRL$ zu&OsqgW2`}+9_zg=T;g-twmfXfo9ln2!z8x?=~r%4Z%>+P6or@gm|a|oCQ8)Qv4=Z z7h7GX-daCZd0Dx7enT87oLZ?FJmdhW6P|Grc5#e^exwr+%pl2lvY5Hs0?SRaIfL#< zzAvK?az~lewBQkQo>jTzM&W9e69p7UCclW>hZ-j?bSOd~YJ%{MuUB41EHV`3wF*@( zy+y$ZKOo07o3DK|exU7n!!~eCc?gc8*60nC2>=VnM7h$reC2f(XyYVl7VM;yoCGm4 zNt%^SAzy;^9h`|6Z4Z2o{1q3XcQtOfz{Rv7XnzNAkB(@f_Jqfen!R#5K`m#BvbSx` zdqx{KxCUeD}kF(7i^q7@sRr}dAQ#ZR0+tKYtW12tKGmM1K4r+o5JFLTmF zP&O<5uHgZ@Vw_-Aud){to4}V9KAC(3VVn3Wj#IN8n*bu5i9;dJSNMv&TBZN~S?hOt za}GQs)y2}-9YOs6_K?tawZ4vftcaB)eEvjBQj`F_(77BEmEp$VS#)a z2;xkN0&Xy*^@O~PDFQG|4WN#I=tyZ42r*5%ftOKQLVo$iaB2hltd}(5Yf(pTjEhKO ziJq&lr}985zj?=Yc_cKgz>C6fU~W_DqKF0z;X6DwTRCSR>Bx<{&5_&J?k=KBAe zi+5~$(&MtxSt~&IZF@Lyv*)4vHvUAn#x~n>xW_vL-+01sxk)+6423!MZmRHoFjul4 zVqMgl#zmF0e#rDmX!lCbQLoQ91-DaAGy_1XSQw$w(iw4C?Cw#ZD!5&5`c3z1_C+0e zPjB}m@^iKVCb#;S!7ZB|&kC@jPrCi9tX^!Aqs@Kdvl)b3mc0K1wJ8Iql}Q%I&bm-& z0RX}K!(^9B3rvRidzSO_L|y>_qlJZ>gpuofD+_mTduM0s@6VrZh5&?{@O=B*d*1@I zBG#=W&*&*{3a#<6HGz)Q#}BQok$#MtK#f*ZwwzJI3SU^p7g>+x@zTkBG8W%-bTgN{ znr=hC2mBGPV)Nt*fD!@VTt1|3pszJULR^;Bd#+%5<(ZjCiuW5ndZEL>fRxrtG8k>g z4x$Qg+>C1hkK4msLA~QJf?SUazFanoH^~B6!=^Etxo>tUKT*z*KI!Qx4eLbVeb{3U z6XY@}z$bkQGQdRx5^x{F1`+B0s{vm_1VdQP#s6v85ryDxLf}IsSdkg;w0K_wQ}8U$ z&dTH`Cpi>3;WM3Qez&_*SIx(Zxo_~V$Ye8SL+}6el8Y<_clPP*Jhi}jeRiT9BX$yW zv!16FG9D=3^zQVaTfGC05|u;75jQIuyB!CM;5)fDL-HEBVBr8BV;|*&wT1T#ZVU`* z609ZfTqpNx@v>C1t`>-Rx5~(A|~*Rer@N zbDA8qwWv=WN~N7Bo3)q3H(Uz%en*@q?Irasm(DNJvyMvXm9i0>=X&J~r2y#E zRg&ImtsGanbf?}jkoER~y3%TEh--L`sEQj8CZR&!=3rvNiRI&+lw%og5T>*jpAzi1 zD?P$A$%1=_K~4ZV1JeKZnC*g)N%VJrFyJT|KQF>|f{T9CWvcyF9G^n6N6-pE2jkP@ z1AWaAVohvUEO6wL!(pw%q#1S_cJeUUW}S&=kV)D3=eMMWrJY8T*{}bK2KCJ&$gAOh zZb(;lW5to_5jc1Kd3_=)isJn%nm>rh?(YqNXbPQ~BpjNYqVrbMvn?3)AN;4-vtDo3W z9lwE3@PTGu2|`gnH%7B<;6W~z#0YuPhi%(!)tjt!#&=?1>dDgHt*mr^y}SH<{{&)3 zzk)&ox81;~pHNnjC1Ip&;9v<4!kiH@-$_K6sveLjvyb^aaXd5$(|>rPxV7({tOYJp z1iL{XyNha^;nqcT$`{WE;3S&Q@75k44gh#jp`sDu)}1sR*-9`**glB1TUdHCENqt) zZBkQ6@J`ZfY9nz@?2i<~lT)Kc2*Q>d&-v^uW`1H`oT^w$E5RqVMl-lB%RrW8Qo3b8 z@qn8P^9w_&}?B*ttnwkISM!RYANOYiYA(JmQUl zEnN&q0r&xfPT(@H(Pnma7v`nB$S5SAYND>qs|;Sj?0~h6zXphc1-Q+-h5+)#Nl??g zo^v)j6T?_DP6eE-ye4a03mtP?V6-SGM+`mRGwTU7D~e4IXxfRccU#pbf2?YZMRwgX z#;Ox|bTSJS{{Vso+KuEgoxX>2hjI8ibtx!J z3Mrj|o*$gCPVlc-!5r;HC^M9z=6>@#;TN~y1(;D`1E6sRR@JUO9ti>0*FzyVa})^A zvDhokqd+~_1ViU;TM_OdWr_YmqT>-~>oUCpLsaePG3_e^4jvd27UgC3`*pQ3{EuVo3T8K0h4ZUzRUFIEq?hY5ILyGr|szX+jwEg8nv zESZ+hE7AmfE~YlbZoxgGomU)yMUnry$X=Hb`nj4@aG3-96)~!~j?qOCcXICw1-5J* zlyE3PHN3HI9S0eDF-bAEKTsU9`;^GiVy-&W#jU!z@T?PG6U^tS&+X1R6mpinX9wVM$%WK) zUvU?{fK+>~ONmK=?VeHp5&>-W-Bb?}c@naxRG0b?B7`I4I)MW~eqYt1&|7s)ETo{P zRpe02jv}a`R9}R@5eDY?0l>d9L=C494^PYA)9{%0rv<{X`fvvL$GA7J0@#nq+QuW~ zQ)4;r8U;1U?fYh6!(t}EzC>DZ;xu*5?jEX-XR(epPr=jA-Na)@P#Kd136f* zAgBQgatOx?o~ly~&4EOxG@P4FORY}L);G%fG$$eS^-46x#0+pRY;o!44*Os`w;#HN z-_*hA+t4>V_8p_66b$MA#s<0lOtg))eGo_w8U&pW{7Y$&TaHkc<*D`IJ-9WE5Me*6 zWiKF`O;p!4DevU28)u@^Wue0bP7~L7~@^AOS&IbuTkwO>Q#Ga6`>)tT@jlxrm?T7X@AGZY#VD zbm>qedQxSGuu5q%MHQomP1qPfbI1!f0dDx}&5XPW_LrcCIXf&}A~kzOBhCjW3ggrb zwc*Agf_J^Av+imCL2{_Uw}3mR%Od#Nl5KQFvI)}$b2ELG&1J)jKQbx`D^#_mNH#Dj z8Kf!@eOi50jGY)#+N&eIQ&$;Tc6*AN} zfIpe6nBywk%unSzdAw_dU$=I~BnGM4W>tOx95@TbdhTR~<*;2um%ckwiC>ad>B4J2 zo*-TDGoq~olk~fuNjbKJfycYYwk8LcZwmiSKRot$IvQP*Q}T1MNlJ}VPLr%h`2>=^ z3pV>jB8Ed9J6(@(3`}dcWL4zOwVy`e3x24FGE}fn*k}g$D1K){8^XJj*Wur@Y(`s` zwC(XxC;OGByVmRctbp8L<{X@4;}jDZ%vq!xm$?6ln%8U$qgk@V!Vm5Oj=smeJ-{J%AWy~3P+zWly z=KvGEwC!0j;(jQcv}T7f!)sU^nkpVH{k^;SP=!~ks@Su*DAzodGpL-`JHytpX3+4o z9DwzA;R#r!EuaL^sX=Qx*<=(sN2Fdfl0Vr zz`g6vjf@w_2wdoNBKmd&i2|?=3>#*TDi`eNV{oed6nBYFENUL#R&w(}gzYCImy3qxVhM+_SJnS(_$4o0Src<(D7-wbcLl2)X%U(c*h2ai!!

y`IyRv(Q_nfcyk(&X}88mMbY0AlV@8GP+mppGB-}cpN8P@U+&5SK| za4{JL6$p%?s+F=vtjhDdp^l<^N|#-ve+APDe^bW?6Z4_z4|B_&T)jpWrFm-tIB~Ei zSK<%9AJ-Zetru?VzSM&mD+lbEHe3fC8c$liMvq9|JAeJt+-hfy%1iBZPu(>;SN#{= z&%JHY(A&Ud(Gh43O6HUOs8g&S8>(muPrt*&uSxTI80yLYC38|cnnKX$2Ib5wM?lU% z*Aa{U4cXr>g6l97ykc^Q&~nFp68^(3n|yyJjL=+c1K-V88KzLsjmD9oz@~%93t}fA z-m?vaKI0!hqkoO-X>wMWwblAreJM0Hd)? zDafYz1@N{R^J|=0i@go)Is`*~99lO!p;yo{(zj+4pvZnu4LpjK;2o-eW-K-}5Fu`Y zEqj*N(n8L~iiy09!O}*{@@ZB(cj)zZ< zw!lUk4>j;mMEq65Ew#Cjjl=q*qYV`#o4-g48U*luK%*l3SWA+E+^C7 zH!t1i;U&sE>%th-R@m2gC8F;MqXP=y1d@&elHrX>DY&#nAhyqh3uY9Y#AJDs2TgPn z_B~3r){_^YMF%+!@yR4FkK5hOwmMCWJsJ$ z%2&72iuSEf1zw!eU@Ziq2t9B>b!453s4bcR*#-1#zs331$R)@S70{dS)^N0^3@5UK0CAp85Yu7pLggU1{g!bAy5N2JY$J|@d&xMZC5qNpb z0+Nf3XS5oq)2*4FJg=hj?LGEoLPZrsKE_SYcUj`^GuVtN9Svl!!3{S*JD+dP%gt$a z%8ZNfA9M`WbBVHC{Pg2%&2eE3;}j$ruI45MRa2;Oz;8zDn;%d6U2#N=fChI}B# zo7GHVw4#C#LQ6ytAy$=W4JUWmwYG`La0q7}Kl$$y59?c#ud{e?`$h-`!spP0j{3=l9i zwpA2_65XmJGhsg_=qKLNo{?>8E%ghbixDVXH?t1y1~8J_#s$CY%vsT7i2^!u;-UZ% zlxrbrY9xB*ET>G zhY~H*Cx$Vj`^YXoC_3R^>lG61D?iijrA@>dU8J}!qV^g&cD=e17p*6XhVT8cc-_c5 z-Uq)TD?&TdiGEaplDi>u^iE8~W4?9w`siruj31{0^Yb5&7zHk%t)u2d$)IVe7ru0UK|}`JwhgbeVz7q5y55P#tF!-HThLiPEIuM^(k;Lxwqrd zxt=HxEW#dLGJqZCm~xBjZf?kJJ%)qWrSgy^wkSLtSpvK@cuWDtYnz+pQmg@kn-dMh^!6nz0LXZ~Z=>#eGC-%l$MH^^zrS zFa!4ZbpT%0vB~uVozm)?=bKh zHba%2QO+S$7rDP7nT8X|&aNQo_6)>qG|5|>Hz-cYc#KQrB>!N2VfeJ=q`v@V6B2xK zo`*1o*`k`2wc^XZ;SBZy^7Z2R-I}mwFF1u9V8FS%(otY>-~yo8Y)+A}2`6e+7(6|} zx;g6{!hQkaT4R7&_kRN6%b*#Rq72sOc7nS!ko& zsAgb$c|^qJ@gu@MRCL7syLTTy+Mty!Z-ec`-)qw z;K3uUr=Cul=|bf$Fv-uAQEzVR8BPQ3;u-E+8GpyFgW_*p`CIL}!}Ygc9`CnryrbSx z@A~fD){XT2_sRXy1K2_gSG%>V;IT0D^L#SN{LV@G@dL#2n1hjoD;WG4`=U90xkCNz z-=#j>-3n&0YZnO&?=5zb6opGl0e4%s6r_bzZh)<|0#uyP1&99Vjx|@KKq`@&W5sST z48_*EuhFpG>svOjlqo`t_;t^NcGtq4wP`bNR-X90gkZ;QFpS7>z``l-thWO3B7FNm z5n*F7Re;+>{4L&=a3PQfzgap_p|gG<>96^z0e5dd?3f8Q5+U%e63w5BGzH-Q6pbZM z3QQiyYD9gQT{hI$=AAMKK3jHExlxBa0yC~p5V5yLo}f6(P!W`{O?MO2Hg4oF*|}Iv zG<=bue$$FUYI4-u6Q=7GL0Py_xLT7J&!A3G18FTd^R5agyO^U=gBt$?Lj>QP4me+*mA+W!s^<#Y1*+ua0k-p8lo>_y*A&9 z!XR|$p96`W7TqL`jxr7gHZ$4}?h_;9lSng!%lyl~^o)5liX@aKYTHBtZ448rH@2&C zW4*)Nu`@ud;kTpGcaM{v8H6a&!?3hYJ0X=NdmmM(Pa5+2r?w5>DPrEJwAgDsBiwmv zd)RBYwc1boVCL18AJ~lw1V4%<wq}jcK9$H)5yVGmQ>c}~mZ{&v z96^a9aZSI4*!)15K&hgfyqbK=bfuwcP=ip-E9^Stj-mT+FSPBVu*2Lg#8pr@0FuOU zHq%%lGLennmq@xu03zTSnpF{}86cUyv3szsH^`Z-0cW;bqv^v?h(Poe=4@@hH`FXc zdKzeRL0B_PIj_0(FAc@$2A4q+HIn&Ta~uuPT-grk@(rwq6l<~{Vycd%_x*;KHNgA? zyX++xI>51=Y?Lar*_gj7OH9uB6|4iVahuE}(mA=c+Q0kdj^m)i&2y`XZO$fw1-g9# zVy~Z3KKOb4UoU@9_jTZ9!U{QUVXs>&vpPiu@k013lTp<`pX1A(*tR9dj@$-V2UN<3jOzx7XP?Ar^y!(-O^XL zT=22U0O%scZ5`%HfFzH{Nt7iF@QcYV0~)Aw{C;!H9_}_MnQ?RaGzjDFP9CC~q-s`` z^O8+8wwXQt$YeGn{2W`i^g^9Yh!mQ`>n6-`wN7eYH3?f?P4E5#wLyr0zsf(@;6nxV zDIaqFT!}&O{;;=;^JE_BIHcS{oK73wG+Kl?AuhmaU-T^=?q>)O&L!}PzE|2|d`sxb z-YU$KTXlCqIeFs}PbD7SMd74opuj)FA75?_S63=Vr-V$0@aC-(-uclrJaa#>@U`P_ z1_SsauU|v73u@orjt<}M-Z?rv8V!%vsXm}xwdeEf9Fg(a78s%lgwl`K$=M=x0?Rxj zKM}W8CW|qcPIxXsC5d94=9EDB!oFW!@pY)%@9(RCvXf7p)KTn`T(-(wk{hLe0-+E7 z7Yv?$0WjgJ?wZ1l#eF#G{|@QSi^*<_>+gA0zj>`aY1jD2|1U^S*<@G!TG)PEw*MkY|4Xv03A2d3T-*$Ii+#6t` zr5HRn2j4QZP#b%V%(+DxeJ)Ou9ZUm?zw8+Y_Y3VqGv5UU-cdIT*GO~La>#AR&31OAwVh-zgQQ=7>a*Ag%q^Lu_ zVaRn9ez=7LV!C9eY6>=uHbos?UNo2SRGLmg4Z*bXbZnbjppD)Wpfi(kqTdz{8Wc*4 zD$G*C4=J_12}c5q{3ajoi3?1{0sNO&+m$vzzsVu7@}EF^~+O~TRCz8 zj$B?~c_<~}8^FxDf}+NCbO`3NE$<9;69T|Iyr*bVI7}cf7tVmfwN29=ZdsReWGOfG$ zf?qJByQ~5rawZ!jowV}CZ8VAT>u$bMnshj(6+CFja>(;*uP*hO4A6(X-@6-%@ytba z<#g($n2XHu5VT?-uk{D$JIy>}$5G1bXGR-=ktlRSIBFNabB)ov18I8K@U3!&)9IAA zhs-mG<+tP+TL(7K zQ8!&VbQGF7-VCw_Tsa{grO9!m_BA9VuLF(FDr#v^@>6Y0-}{8P>ZUc2n8jE=13(jAuo^5Ld8y)bE$Pf`diVRMUSh!Ogr-woMK16^-Y-duETq<;(u@hl7 zla|XXyp(9iiGTj0!WKo+PRHjUn^ON;2`U{rD!{Ru(Y4}Hc=@iRzZ!SrffU)LXj0sg z+;rX1c1WGvs6~Tlv2A60OI@ggh${q}YeG7W&!}2I;TA~jU)EJ!LaxkY(J>uGeZl8c z17GCjqHa_L^}8$Rv*)j~Uw@>srM>%Sm&5inUJq#apI+{$^Kl!J3FcO_qU+X7dFzP5 z@1IcZBAH4B9flk7dZ*862%GVB`r1@yb&J}>*sYV2pH}W?Pp%higlkl`Sddxy`7fwI z^h$4g9r0xdIArt*bd@r{@TD*`-GtnW?sq|5)obC9k}@6#CL3I~IypD8 z@x*^NtF+qP)_L$!Lj~d8m|!zf1hvWrw4CFz%Kl-E;~s#2;7#$g9rgky!Rkgga-2sR`({08}QsCR&jqC7)J z5#S3uD(RacD4*u&Q47lvC3-{G&4w!Q90pE~>VGIrh6&EHtLiXL&>KE6s&Zw{ZzG=#ZuRWhjm-DziZTs$N0m zeLD}!yTW&hneOJL0<)p;uKTy@UDP$amBX#>yTcX^w&n5N&|JxAa` zH&Ju2NSOX^KM{6|;@n)x-gOUk2sMA7cu1fT)ht|>);`cyy&&pXJw0kk=)TwU{35%C0J^dV*5|x%;kpCc0UHaturXj@tVJQ|8+2GAJrRZ%KmshznH$kmD_sMKUj0T zRC?`ZVO&nH!A>!`KCiCxi?eHV6u)*YW6#rT$91I_gMR<;=yLaXV{rKP@$vfLXzTIT z8JNndd3wevTU@nV1{<88loRasBm8R%OG78{+4W!U92{M4?2(zhd;z}d`qB-q9#{En zeqGP6+zLTw22?>&N}>&0jP!jx4hq(wPxY(%Jim}HjaOC=DnUn5-5$Vn9UdLkTaS;y ziktUf-&c64fI~acAM!02bE5m}%FTQ^K%W73F>x@(eovw*5N?eAma32rZtKH!yKf3ybS3x`jiJ$duw z=QTvq9f5Z2+~(F8iCFxeSuJdr{q?BA8Y?mmVI z@}WctGI-PMECWvh{@T%}>7>r)T-N`j(sMX4T6hjK%q976E>=OAd%g^9Dk+M8$Dd%e z_Zy!)npg5!^|<3(cPQH1)AFta9&xTpe?}F-Dbvw88IOzOUsU2Bj@3!sghHw9A$bnC zS1j5aat*xZQX1~ci@(>i9Q1mIX!deoVWCvZ9|Tia4vhBSvm72y%&eSzJr2AN6_SJ?Ht}@G7ed4jOc_N@n4Tzo4h6PFA#=4wY%rcBh4O0 zQ?)XEDS|PnHlg(k`GlT@0+qE+j0g*t-D8YF7el)G1Kw8sc9T?Sr39}>-K@Oxz)K9& zEWUSim5WaxKJ}^8JM!0}-#h;z6|;WDNP8Emr`>D-0kAFiWcLs zsFI>i2B~*%7ll@5y#eb3T_Rr*QREBaF_OsQ&-e^cGdsI zT~n+hjWpFV(Ic3DZ&tXX^F85m6=-7(mOJqpY5s~HAawA3u z67G_j8}9$EeuwnYdkVw`j(8*|_(fwN68aDtaQ$u3LR#9!i;j3*170zE5-q%4W9YcM zns=|IH^x?g@<*UH--|nMH1DC|r8cgW?hs(#dOWp(n;%N~xTQ}+P5b}C2@RFD|L-PO z94Y5Gxj1pl=hpEjphS8G={|D;{mli$ae+}T)2q!*4n!B84pc7?qu1^yqxE?rj}wJQ z61`xp+PiP~h*pGWPe^S}u1=#>Gqfadgj>_z30Km^irCeF516lU92?6}^>}Z~M^qDd1#$qRti`Z6$iaVUbNb+U^EznI2@|8|UZGSQmtGfo`eK3r8(s9;@sF zLIAr0)fGUDy{}h;QFqMzADnoaRNo^I3JK&3&LsA0bqSLyt>g2?Tz3%tjtNJG+#U|l zEj}qG&p!~&neZOeN8EZ)4D_zyZv}g&0JPokJ@l$s@qSBVzM`;!-DcSa--X6&)in1* zBC9J0@(9zSn};4UUBHO_iNbFrsle5M&JV;XduQU(}I9#(;J67Q{=0ox%)Y(w=97$aLe!VlxY`S+y+NRAd(a@)zus zUNr5>4-CsRs@JHJCG|8_*;rTOaa5yLxW+1%LkKZp4fP1%>wH;P;UOv890f+u%m7B= zSiE&%x8U^9mu9U*qYmnuFLxe4+WPX|B*mkII4lyn^m z5%WnN&FGfy7&agU=h<|YoaP@B>M|!)A_qs*a-!g9eAc`59R7F(^lh1@qeUBmT908u z*dnMUfb-LrZG}$)@s`dT*~?idr_XgSezKQ*lcKdn8|rBm!I}p*0t25LimmZRl?#rt zpxDru;in5^MIBQkp@EM>L%fF-7nO|Qe5iZ5|DeEpXD2Lj*!>)8W28Ja+&VZ*BmQ>fAm3>LXRA&G)vqY>ekwo`sJX}a@^7noTn{{74xT7L_Axa zJL4EgcLL^uv5*)aqVfGSozJrZIYtKi$Lt|+Qs7(k)frJfHNjW`_d$F|3rId7j4Oh? z;!q><-DZAOJ_VjA3Sg4`3H5--7Ca;4M(us5+V~R1J%SvcP%%ml(w@NAQy`&OBZpwq z_$52}_uR*uL{~AE#Et?}FxBK@%UB07aW<~!8x*CjdQz3oyOyj~uvFk zikYmK<-{6s0v(??6$tYtGb%fdHZ!wx-7~MD<~=NI0-&;?N`x7u?;UG&XJ_Y|?QeIJCx}r!Ws5Jd+tJaG zQ$Ud+x?A}u#abmBz9MC;G@1`XF4getbu~7Ox}|05yYyoV4-b#~`fz1YO?S1Xp*{wB zy_@v@`ut7LKLj!S4ZWaFns+JWo8Dzjs6M3(IE}|WV&Hp%F+uuO+e@7G(to7He2uLi=yDLk!Z0vAb5G0J6>4kT z4tF~ZLO18kKM^Xc``zu8JvvWo5NUj_Q@ zEUMN5&=-^)NCgc=Gf{={(^00nEn4qD2j?bgo+VuU2$RL4z$;I*HW0&Cg%%?=kR#GT zT}=cKdM!B`mI0Z_x%q$|JrMm!Bco{w>p^6bKre~2iV*4VIU5h%Dzk-?SjMQ76GTeL zPcgglx076>tLie3!=8AJe(=aZ<)Hrx=+>f-XsgGY%28#-_^acMwPO7^_h>A?0Ngs- zAqs}taX$q~81H)U=6SACZs*o)*?{26=ZHh)d&DAnjdS9$u^~D$AD@F3Zi0XfmubOp zKqsJuo7QFgrMnsM@bIFU8rCP}I#ysi8}~!DW%CsoeR-k5{`16iGbeEJD#hafShZNB z#$?Y7f{I@%+hhlc=-;5E_z=%!)R667^okEF_fZxTHPUq#rm3DuUpxXiU1fx}hnqXw z6f--^DmOaZQ*|PNYrx?}kgKeU8c!h^>0~4oxoTJ^^{RY{X)4CZ$~~D*UB4!XW(j&% z7Vq<#6-ak>?(N*aHxect2i3eZ@G<6nV+ER<6aQQJe1U14r2x(7=yqDU{uY=~gEG~- zPP};j?I`&LkfdO+jB87Sq$)(Oh!Ak!QcS#W+e7U`+6@69t{10n#5quzRgZm=;o3RE zZ8Uc&r`m=gL2?*4$pRHQq;HXu@Ym)h&Ip;ulYkj!iZHW-5$Aek(F@L^R}4ZI1EY|6Z{EsgXfC0$Z36t` z^91O|CU;MHjkVA!U)lppU)9TY92MzV!m5o@Z@ID8{B*Ci&yxL&3;!pMmV3)GEKfgl zkZ(ZlBxccuZC#`PE5gZ>H}@@$3Ih%J=fI_db96AIpj*MP{*%^%$CR8*5r12K+Jfn1 zd23m(SlWRTj16m^YdpGM;p$)dSN?jX3mn-Q1PiOO)2sq?(}~@Kj{KpLfKD0XrsMbc z5x<_7`Mo_$V(ht9pR{JkODGi^PkXu4J3y zG&$@}(}V$kcnONdi}VT-gb^5NZ8Tj7SH&?b<8nI9IL9VDhDE_Tf1XV+r-<8%rzn@- zyZ7)RLtcpBHjcA1dbkG=GoUG(4+UlpSaZ= zvclRUQsXU=+~o`Bu1#7aas_Z-aX+!f9~>(@y~0a$`1SA`N>`4Rs!FfQKo7`CN+W&x zCG4LuXT-tNuqfUaZow#C8hDup+dHf3>=h|Ry&|1YTck+Gr}D|8u>)Wga|o< zX<5E!w7YXOPx#mSig9Q(bmIIa3v|fsU}UxsHlxQzdT+fdK8cvIrbXx$FpbEO?2dU1 zZR-s>?8&at!qXfO5v02qx;sSS5v8&|@KIOmRvGu~-^**HX;tBbSiuIIu84GL}8kZZCr4j4lW2O7@DSLgnliH1s#E#JZO^1zVKo-Kl-b0-}^b>d- zhn0lt&p_$hjgq)Ro#OUUh;!m2b zm@f{GMGHt4JG5va-2{92N9HynVUv_Q^DC<&|M)B@)0o0mF`cXhR!+w!4cRs$Kp>W8 zslN^6mxgyIL!#Wy#}iG>)mYYODDr6VfRKr?A%BpUUcM3fI(qL8x^89Q6E?ix81Af% zr1#iFqm0?GNHZdQRbRa=MACn>|BdI)LSY(He|T48nd8i zV1kie+XAuYuD7fAV+V+WOpzq)83RW2p7)FQX>9Yr6C+GSS_f8h6|I(c7jxV+3X8Sa z6HYL*)rUL{6w1h7i&m4DXv9@Kb-Jel#`og0Y)Zsk`X$S&3HT&bq(~JX1h?|IFwCWp`vP6ON)4$7&Eg|U-%}K|Kw+*e|AY0G}(akbwLx7c8}+F`d}r$(3m&@6_%j(Vt$6zBo1s#Mlm6F$0t zg3^^IVHA!%h%ee3BrG3SI!xXTy%Bwgfz>dY86>p8>{M>Af9Fnzdw+uexNQy(!Qd-S z0`KZKh$FB<5H&^t6iMU(0z<&`%gF6%kV;UV^O_izNiD88v1rR>QIh=|yqZxj8C8|; zdU2adr2q2p4C01XlxTx>x{gelKA4lMVNx7yF6@ z*w{F-yjWzW6rSVa1Bg}_%c~XwcXq*lw5_VI3J_rS5&(|Gc zhd_!uCMe=a)%!1C!+M*DzJVwksJwGm)(IF4 z&CPe#CD4k5#!(Z#KXe}j9+=QK|E5K!W9nTo1-m@md=V2W#GZU{P>@J70M|E%oWAcJ zds`bXr3~p9bZw;fZ)^IFj zau{w0Lj~S|qgJ^G2)nM-A>Jy&QH}Urj z4BnAK=ajLb(2als?ZmYJc>ypQp1`D2az(oP$Tlf4Sd>li;nvsa*!^&Ou-dU1<>I84 zoBn^EQG)DOU2Iavu_iWFEbL|zck06e#^aySE&7EZNAZ* zamB<0Xe>z=N(^rqqLiP1oWe!CTcOvcJLzB<@>>Pn3S>!n;AUmJ52QGk;1z4PmAP*0 zV)J$f-v`;ju-f!xf<|%J_v+SiyD9poYzN%4;7p{H$&_gzs>eV#WeGlvAtNcKF49?j zUe3KXi>oE!ISE04Bft`c;cq7?Ji!CFVS_HJ&_HJ&u-t=#f^r{-;I!24RbIh;aDfok z;|vZM&V4%hfUa@nqT&=uC)rg=u8tSngwIasQ>?q&?l5-@{mwAiK31a<57~rJ=OEA0 zW1G|QwmA$nY`aAdvbFB9TGqGFduBF|kXJxUHB9n}szShh9It-0PD&mBo?TgQZgfE+ zI|PHNinSXp*6@OS<)5>+(td2A2wsy8g^9Fp2Ho5FaV!4F619SIFlOZ56yhHSydRxw zG4>oLcJwU8v0r}1fro&L6+@p|YI4G%`)_s5DsIC#G&(>Z1j46rf_SF_28Wf*fUAw+UFrt-2bV6S3yF6)^o|hfIN?&R3VK$IwjSaKtiwz*&aT# zS)}uA+gsMd@P(|Q3A<~mYkS`h>K(-O2H!?~Fuc3n60*Ul^OF}7VKj0pOGOluBdEZ) zE5C4aUjy`OGApOk1zC$R+m;gmCYn1udGgbX)i4Zs)#R=iiWX~64Arm#;(i$W)1ouuBtjnCy_UuZLlgJPv(%k6&*0$d$v@<#U~cD+69c zAM&#llJz;Bsd{pTV#?mCY##Q0!lNfSN8}wYBmX#Tygl~LaQtY*9d$3HFhAL2Pm8Cx z*sx=N!Q~`JGx{5E2(bUYPEXS+XOLs5nzl*Mr4elj?S`cyQIX)Y8teC;d6#CL6MyQI zhd8mD9P3jWN@ZRzPP)@G@=^o-yOsu&<-Ew}tzV(Lhu*Us%SHjlT7dyi^p!epC#x{1 zC=oQ=72Bk45%}qDl6g5Ncy}nGuq zSustyZUAGfuGj6*Bk`(r4vd} za&>Dt$(^8*UXf|NKqJ0es0son(ES_Bk!QPT(Ppoq(%J zn!yMXzVK>y<4qiQHia8u#PoSoR%csTvHA1sEjO|CmYc3E{@4wZ|AGrN@I2XPLN2tFxSDg#M(25{nB=T#^LI9+KW$%&mo)zGkir=6dLl)(2lwrU!Jk zgpXZ|vyZp>_+V}Jad4P!{`POj8$m5qHhs0YXx4GKxp6$$Z>h?B3>=b7=04)mIhn7n zU!OZ()cw}1x!}%vQkRagfd%`J*ZD~fshQmK^L#SNir!Eb1w3M><@kLs!Q6Xw{mO~G z>GVyN7Bxt~38j8;e3oO&Ue6FPYL{feQ+LXK$zZ4LCSPrDiws)V#Abp$JL$bCXE1=j zLoxW{JKU4-*AH%6QmzB{$xl^Aj(zwMT{%$bNBGan@;CVBqQ>H@9HRZEJUg2jNz zIX)t8j89{lxZ2el#@&2~>ra})65OAi5ar|vSL4L()ERZ7&6$u&{N$dKQil@?aHcuV zS)~#b1{h=75Dl&Xu_068@a)Y!DI2v)} zNiJOr@donxZ@8UBy3E)QTeSh=SQk_0(YRLsuO6QS&~cHUfg>wD>(R%SmAVZV!J9FH ze7NpJx~^q5(HT7RVOH!0N=+jhiNsMoze&5qS{HGq*4oTEs4p~r@F-D~0QjxSO`{(n zSAHsftV==~>0m*u-^3^Fp?=x`Q{d?=rxQP;TE8E?vA|#!IYhS9I|4;mcOQwPnmegr z11ebJ&&Ab`kamcgfxPb|-f;@*&}sn@T^Qd#SDnvV+;_qA#Q~3$ruyX%5MHBFp~ne_ zzNuA$d@@k7M|C-9ODgIo-l|G?3-S-6bnBpgfmZ7CjMCRZ^c*7k*oaZ#foYv|GGGtX zi?Q|a3k`NH!$c!=cz}%l`SaI$2nS!>9-h%d@9PR@cVLZuM)vpfN*q$l!8FcrZA&RN ztTor~=5EW!ZHO4JB`((Q&Wp01OBju=IjtXs+DyxGh99dIjiP9g2Zp5dr_=IM&aEEv z{~HIGfwAEvioub#}S>CV`iMb>_KoyKA=*e)IWwzqA9I zUx$frf)KDU@ePi*y`EiL&fGA>BjA{WPg(#)A5-3QO7i4pvMa@bzhG#97T0jaQN?CT zfz}W86XKi#SVaoqJT2}S1HnmIBE%r43&xOj+!OF3ON(A30KwvgQu%=a4YO~lrEoPY zrzh4F8gK-7f4fvDq42N-;ffKKbnhkj~&q=_DtCQj-z#4l={J zJTKkuB8BseU$eRFVKUH$=c0sb794F}AwU4WZSLBD!jc21!mT_j zDM{R%xh)K507VnJ`;-?!z>)DKZVk}6-~RX;lpUJav0_N6LrVnoOg;yfWrc8q8i7xK zo-nFaJu+fRLrQ_hB_q74>GdL;qO`|15Ls2ROZ(<_$Kz9kpYrM-s^CReczFz{rapBg>5U4uI}zK6nN0GOr~3F zeopDG2@X-XOc35M``BygEFK-~D*JW`Fn&50+K13Qj{0Ym>p_VsxDK4=g5~5TD>_9$ zy!t&?xCi$NK0~kgzHA(PG;#%GM}(wy(0(?MNvKr)COHgVJeLTnitc8_{$%8yyLsX2 z&L?-xw$SmmY`+H&w!fwA=aVcT2{Q5cCMQ9AvH;87bxt<2H!zuiBB%@z&5%TdReow| zX5HHN&g{IJLrar-<|ma?P2Di5fe(<`B0q*pFTD*r$k(fa!l{g4r%XgO*6ns(w{CxD zRXz?cT)3=Ullb;C@2b5&entLkt}=gL{{QAayJ71t+qO%0EpNUL=$qBpxMT+9ZD6?_ z-IHMYay@fmfcv5~{ ziWrGMb7SFM(!rVZflGt6b(tPa7az%~p!%}kq z%&wLQ8N>(arys&iJ#FuV?|!UnVdqm)aJWWa{rKkjZt@19cHM%^fpDv%QUy`}cRv7{ zfTOLKKs286*?SF5uA)|hLfhZf6VMh=?DyzhO@Z#1eH+O>Y!S`1-BBM6iYP+Eb>Eoo z%$9IsI7IwjRSKUtjK8GE!Tun?60ZQUoa8MG zRF-8h-nX$fGtQ6qBoQw^W`BF>Wd@)P$vK=TcZogA(js|2xlF4`-Q%y=lju>h^EI9s zavDk=jJAQE*GVs=xxE0J6JhrFIc!$4-*4g_&-H74JEO0YzT*p~Sz6BrZ1k-m`grWd z4j2W56gGwI*_1j{B(s{_n{dU!U*V$W$Q~y?<>`qdNi%mVE4G9}YMsGM)46i{>c^MK zq)Jcc$W^N^-z57my1b9>4DK$t#Q&BTTX!lqb<+>oWK&NgFRS<#aQp|X5$Z|VkAWYH z=*25ZUEe2uZG^vwv6bzs@8ki$<~{9S^8;3-h2Jzvg)LH0#h%$(vbNGAQ>T1k`r2qL z>}#WG-&fW4HONuuZ6-cCBl&|v2S$!EKmf`gpcUX!Gfb))d>BmpKAygyR;gzbNOBb zh-I{Zit>SQyu$lYmS&?On{TDn_&ooR)m!(rx4+(U|99`}t(|X1555}hJlML!TDZ-f z?R)pW-SMm}vHqA@HcO|<{)6}QnPUYiImFpsp#(VOKg+kq>QW8A)ie>V0LvHk)HEFHN$af7~aEcvts$56Db5sQL>f1oSP=NtqJxhfK$ zK+aELkG@bp0t#j^L4!bBEmAh!%A!#-QUd#7Fvpg?#Cp-!5ambEO{|GnzOmn;%%)Cl zBZW>UzAz_sU(ND)@H8@i zyM8!k0k|^n^kRKa^}TwZ`T_J9#~nFrurnaik@}qREPI6>`iuCX;I{A{!@&4&X<@4P z!=fzIm`pn)&(p%O5_sg0H^adHC>~ zRj*@x1b{Ve7m>b|6(@4#e2-93AY52IEkZoGO(nnax;S-wBDj2|n4)jFGT1lX)izhq zuB!7;fZTyaK><=IAfV7Na{ITOQ3wPu_q14=|0iO`U1PE5lj=}c<$fd?Me@Rs&nLNo z78vgdU_|U5O6NnAA&WxpN6%=o(`Z9uR_Ab-rdOC;yVj|}?Hrj^7h*W}CN`NuUAKJxsvHof&?1F7afXtIMW*F0 z&|9~_@eH0^F~%-hE=cK;%(IIbM|Z6XK2e*4ZL3%960k+864Q&7b)6HU3_sitXC%P? zAdUcwc@vIAEl%1KJoe}V0O%o(0e{l2f<4;i}~DGvx4s8Ojf$=!pR0(ehLmI?C$ zL;t|I3QqZoQ3Gn(@)FcgL)0V^iUcB2us%#l69adm>jirEo@9mNAm`#OKp`k5(!}!8 zK-Vw;--d3olCg6$SP-Ppr60c5nWL!3VeI8@zPgpP!S2P9kvN2;`232z3o`0f>b6C1 zaZFXmn;VpF^bLh0bg~(S(J-tAGaLN(pDCqajeypLbU#jF(F%Vj@yu=KX5@pNZ#*|f zU*fI@v@D+H1V@F!koPqg1t>q_P1x6p+UztU9tJvMs$ay!+B_Rb4ryMXezHB<-bvO2 zCX@nxM_=x+DidO2u(b9>{MsqT?52I>#TAhTEDKGm9gL|(?@gurv^RY`q$yAuLwI^$ zqR@d!qnGQ+&h|FND`V%WQl72-BsPk*&8eHdI{Mx7YIC>1V7!@En6r%)1Kekd4ODO* zq-BnpuvGx$NN}ZrGLB!fDJ8+9KAA!ox>vsAv;Aa8TXwapuRJ&Cc!eF3J&KYuAj-x= zza=LXJGKyvb;O*Yo{NX2Mx*4;!-o&ljE6_I+I9z7tx-!co`L^bkC4*LS(xJ8dC`G8VYO$^SyG*Tv&AMv+JbXQkoz zatb=dXeI(07;nY;&fjj^`n4M`xlCjinltYJUJPUulgf4LksUhTCYD@HzI5nLW^+qL z(meJj_%?RLZGG*CJWHEEonr66z?0A+B#2bt6OxH)hNulTf~f8uau;6+8FjHEI*F)C zS+3_&n{oN94dK#i@m;M~O`B5>hH6FC zF;~knoIUZmY;kWvd*$+-rb{6|(LhPcU<_wT8o z-agmj2gKgw(eE7|y5(X-7Sj=N<#2{~fIDQzz%WT||YE4?F~P&ns=50)cE3Y)`O zInD1t1K@ETm2?F22Fq3J{)D>lg*p{P!hbd&nyW#wUm=+gNXCkhHD&^%k%}dxE7w(O z2qt)`g30IZ@{K!SQxG3_LDpXAs+h`}Zd&knpQ*Z$=QQ16?fwggrZHkKH=DFx-^R(B zF=wVv!Qnv5M7WGBYecqOx>cc{L%r!e_v&8^1(jd}SgCDa?eIeK#pD6Qqgmp?zjljY%?IhW(y z=YXa<9G{l6a`}NWx8i@uO~?M&2^Z~T_94HV6tfR}0zO=p^VP)%Ui=Rfes&c$=!Yda z2z{t>a+&+E%4Z)aSoH%MTQ6rHuJZg{|4Rl5WB9Yzl0RL$!B0PETJ`>@*l)*IsDh{m z!+_#YuMH#H9(9Wq|fFBMEIS05LW9FGjup3JgrLvAYCMt~woU&4;?g%s00_Awbh zUENFxja2;U5ReUJAUy1e#1id=X2N6+AAcs06h$TT#-^~tL>EN;;9#wUZVkeb?bn#S ze?j#nDi9ZKjmQrtQqU0z7s{LE8~AX1G-aD2y8kB)eT?~AE&Sk>ZaXq)G5URpIGW3- zGKD)h`+hxlO31=f^&XHP`<=kK?l@U!nOEu-@)m)X(P+>Qp6y^jr{%~+Z)~; z-Z6NKp-_HbuPy#7d2c8%e@xzswxe=voPRuY6{9@z^ek?ndOR>LY)gwk>$PdKY2WMT zZz7yrHW9?%G|%UY*`%01M^q-4)%y)os9T&NE!@}YGQy-O$Azufi-eC6N{4=->Ir$p zL>i}PAZyLBAmwb@h1Il2Kj{x%JW{^Srs{@0Eyydd?*o#h5gaTstp*;n3YYQhnzS{{ zjmX^%9gB4TWL?arFHk4)XcN2Uj|XW_>EM|@n%C836kO)jdd7M%nN#t)RAv0|kFp4d zsQVYPJV#=5XE%_d+YoC%`Yg?@ohwiNXzP@c3kJK}uuDSS_Lb+&R;&Witgkt~ms}^7 z7^iWH=sFYDrk$N)czCkzadMRS-3)H@RbXN!OV+PpXX&Ud5nN(Vkz*AbVc5|fZYJx= z8Cps}a^JREu`->Yh9WYo6m+YIsG%&9eigIHX-Ue-%L#$g1>waQe%fyY z?1o79VfI37`I6b1M4eFivYZxY*XZL{Hu}aOXXoXzSY2EqtxKtKp+t~4u8*Fd%_isC z0HMG@70z>=w#Ly<)dfu5JYOw)nrQw}7hc#ZhOh|2t41P70Sf?M561*Ry6IdRL{ge+ zeB19*rwb3C(^HXrvE_*HD?1~#n8%YpZlEYOz`1yy&=5iu3)|U9Wa^YNc1O0jb|*P3 z=nZo*Bz<%krbdkXBq%UdqC4y7^7I8sO#}Ohmn2LsFD4Zr+rJpzVgZFRG?1DCg23?B zVSjv-y;&XK>K*-^7^&l1{UEx0Il4R_WNco6rXRQ2nM1mw*A0~?h{ok7%%B?a9GS2Y! zn;l3a0EG{nd;TGu?GIPQG_ZO7F^_3pJ{12~Y3#3$Uw`=N@q{--?e$=a97^g^zkihkrTl zzdbnm`(KW4q2(ZxanFw4T)nydX8303`1Y7k=cz9=@uR~p#-YXVWZZi*CHVOdgjbB& z{hvHvAhabq#!%qytei|GV7jyQ7QZ~^Ej>U3w=%%4Laox-B7SV_EE zmechq`K^b!zeF+)vdmOjk5HRwV~zf(%K3t#ZaFDhkjE$FAk{~^clx56LH6iCE%NCY zFT#I2*^iH(Jb(E(To8yw;^@m2g~5}qDi(Y2u+2f=^+)8l8E!Yl@Ye+4Q^t-~KRpK{xy&ep=#CR60*uwt*Z*(y6J z5RPU`w`oLoK7T}EURYfHcSm$yZW_iacG!lYp^6%~7uIQ3o`Zsf?}x*OD2Olic6YzK z-`{6<6LKXYpVe6*S*`Lv1GR#BIh=Y%!3d+{eHjF)?yXUmluY4|?lFg&2l8|G{(uM< zU9rHA;jK#OJQy)4{TT<6WI0^DXGI>46r5Kif?Fvp@X%wVC1&N2r|ZbV2$Uoca2LyJF~%; zFY8X&3ge5T!-{2FYo}38b+WJW^W<7$p&6RIj=!MD_!wxR#D68tB?(7Z4my$*{gHM= z*X1``1n^8FI8TY~tk_-BpPG6UiBtBop!$!bl^aYBtw15LW29MwC7NqmXeAI+9 z42zdpC8xtgg~)I>8)0@_?e9MMTFVEwTe3@|`aw%+a8NCc98llPl~40}y#`*~tf*Fl z45AF@F&+3us@CtMOD3vi2B}|iCe?l|NtoePTf+{pdLulj%v02fJRyH>5HTQN1u+lwE26-Ki%bCHDZ)nJ6NQtXU$eW1v&XWYKF%+5 zBDY5(VObxk5jIB;cx~hz!^^DZELvNHpUT!gieEe4_*{;k$_GR; zuVA@XxBqxj0x2z*bVtpu?R!T_=MO1mV0BTPF~lR~Wa?(ey0S@_kWv(!`C?ACSae%#Ch z<>X)kujIJ?By+hH>DNO>r5%KP_*TdZI`ScXe<~Tgjqp&&gFJpB77= zMmnl<_Q{Hjlf=-_9WGuyXUgr7TNibcy}4GB^OIfgYZTjcw}ns(TxdFSx0bPXMEUa* zU>eQ+hU%oTlZJB6dYPZuMw2(64$?_FD3#NQk@>QZkt1aBj{}g&U zc}EaEXEQ?TReY!(%|2_0rX;6wBl)!7F$l&lzPo?_TgQKewjXP1EP~&mxY^}tRDQw^ zLX9DrO!%72V!Qf&=t~Hx6!HU6X&xJwj1$Y#BfL6p2R`d%u0<_*C|!l21OtVh9)FR* z!^(Iqec(P~dS*?yn5zR$Ynm{f5iTd{pH3>)Csw1tP7g$1UPmg`gs3k1a>h%ZmVj9aqFlA&lNjx3qy*q(98$p2+OSPkZiR;7cR$8{#l&3cbLmBEvLFtyvw!h&OFDv8e2_P>ngdpYaoHV^Tev6@8Z@3-^{HI_1SBroa3gIQ#r0(juf;t z&z-^FS9Y7_6**no$B4`U_Gg~yp!~M6atHAcYvkRlJZH2`I}5mX)fG}s*pMbMrv1wf z)$7;-_onO1%j;}f{7IL<1?eTD4Gs1Q@lfb~AIkjD?MH9wIW+N-17*cFc-C%O=pC6= z;hL>}`97!l$YoL?iR-Hu6w%6}?xTDj2Jw}G28a21`WTfYRxO=hXT;+Vs0Y1u7FvqD zhLY^;tMDnIW^Ja(mm!+)!zDRj|4%pUGcvRDOtHg;Uvbzz`YsraY2!!Mh&(`SDMfaN z4RZnevg{mI&011=(!GWGc<|p3ewU;fi7Q;z#Z?OJAOBS@@W(^lPPnaU7Ww@eYBT;j z%wt!je)0nE*DQ=B97OEuItmYtldJ2DJxILY4LvRg*_pZg`2-p2;Yz5p1e{S;Egr5y zC7f&Ckv=Z15~0s|2NRclrD9DpnVrRjg4xQ#_R%0ioUZyEc}|!0 zvEk=BLA5m|T0h~L-SioK^he?eBoRzH9(aPZaOZ7KGi=&S5puX5ns!C8%e2~oG>V-q zV{c{ag>7!_PnC2+$%nR!HS|q!suCQ6)H+HSE%YnANKKNWl=GTvMjnGg^L$pGP#pz& z;qwL_h1m<-X2OLaB#1vadcSjZb+tpjIXj^@?8GqLhe0F^>EPGbPj>F331`uYpP5wG z^V9fqbc;S+T;}C^B`O*|+KARlSRs8vsifJlPM@ehX?%h}{P+{*69RV!>U<}0r*col zraXq}XKU-$i0BiUSi)s3iGkpweF)7)b0!D20c{zirV^eYzkYD1J=G zw$>y)k~aUC{5cW&fzmSzR|vL3#Z)SZ#*4tg?jpTuWI)`ni(PjIr6;p(g3 zfB88Xioff-)(|lo1!s{1(HGQ7*lp>hSpR?^29nXO%JuRze~Y_hnv=pA^YE5g>Yn+I zvpT+*@0{eTt303gxxvq~88W0y{1Q)_^lTi_ARh`yW?;rxlS9N&Vgb9i@Ml;8F|WOX zEHco#V0wsyBq*aEoc|6;oLnhTI>vd8(71|`u5HJKSN=XvvU9dQtH-;DNrCanEb%_19Ea%D$?!xWU0 zOj+iK#P~M8*|z3&#Nw%9uRl@MnV0)=MgKyESapA(wi--i!m^rRUuLS6W3z~3+Z|AxS!X)Fu`<v+xr%XTfU4Cwj{Hwk%eY?j=vs^0$yyT*veLZro`ZjA z+3TyJCatGHcB?GUfVSmFszPI34Wt#q%+Ntk(mjazQx&#bMj{GRO;L<2MIx}DyEs(` zR%fP8S<2Ture4I}*FR4>#45%?)LzGgXHK%Qo+H!gDIF#GzQr0?w#0fJ@=RB8gF2?u z_b5LLvV9IT>8+{!h)buhdws*_Cu#OkqoA!}5MfJlvbfAI%jI=9uJSABZFV@glVm>a zqC{5H+lMrWD6LNrcDh>Y3B|d-zW{h7f8js@ z17K^R*~t|$R!#*VeBs%G{&rYtwtDFYadXO6Gn#2;Pz^Kz#`@f4F;83&B#uNA{j|*5 zk<>o^)a$T%ns9upu>kE^qr}=?(`9cdU%)hZa^>Upg23`%HhY@b{HJZ_R6Hvc8u!z=?jbwN~dZ9Hey@KS1u zrt0&z_(PBo(E{Vt;0?%5J&*9ZGW9lpHa1%Lp-8J^BVxD4Yq?A%09+VV8w9)d_b z1&ZRFQmMyV@J{>)0nQlX$}`R>#q67&hqaF~Pz}GS7fHMFD6DZ{GvM7CcPKDOC(GG& zc0O62Py(8i`3e<#bBYRCkryMuvdu~{dhop~Do1bq>L*Nj-4YmY<47+)B?^Q#bj4GY zC5q6C7rt==!}!cjZ1zL88%WtbavZYye?@)i1t~Xdwr#Vy^^In$z=Hn-;X-dE^4&6b z3RgE>gCOY1-aK0eNs#3erhKOt;jGC8Y+Hki-r4uI^iUD| zirH`6*1hh}lWJvs>GnOjy!0(HwG=LR7Ak3-qb!jo`9hT6DgFGM?mS*i&Of&oc_{nY zU;k)pz~(h84*b%)hH1bX+fAG#xK&=#<2wDlS!niiMzXT59^_^THTQCL?OMb1 zIK7WeP*Z_1lsrgc=;rXmIJ1XYSN?=wG8RBZ|L|WN@gS+BCvv=L_-Z|;pLN~Ckb3_4 zQ*1cr|G}`eJ6-<;>oxQfazTdOFUlx*44js0@@aO5w3qGdsCtaC(Vdv(6*aXkkYj-% zenm7?VW-8NVd|7RwkH>X1{IY5*SYx01~SUVzlrmUZ;+2Ttt{ss@dx?DKY$6V_7US?(o#ued(&y(8zXdIycU6Dub1RaHk z$CNQ?fxl|?bQ+^Z#l6=woxLxcPmFv7ow1Js{kXNaP>8nWV^lnwM3QEfaDL{=Z|PvaWYA8I!SEvDnp!f2#; zl58x;O&eou$k83W@L@Lz-e-IzVIJY@pAN#Y#DUqV*TkFOCj6r~5zm#xc?jyWj%R#P zR;w|DjBpmAo#+^=ibfxCo3&&ai)PFhCbTWs3$|pY{b`dNM#kX-_>=J$y5lbA{1UvV zyYSKlX2~MXI_x#bHAn&I_bChUy?b{-w6+fzkSewF*BVdP(S4)2z?(ni?LTTHqejMn($2Up4_<+2Bowbg-b8|FJEQ`Cc zY(!;rlzG-oN9GG~hOk~#04Ipe&;?j7(xl@pngDh1p|AJ>{DzE)xGU>cB={JLfk`8{ zI*AntdVH>>{r+`9fP@nvAz}g-%qA*Le}pZKVycPmh%P|WY!q?q6g?U z$5?jpLQ!xiZSyyXk{m!yXs?pHR$8w*Eu4ZwxWT1;`?diGVj^$6xWf+brW@oJ(lVJ@ zT3rpPN7@Od%Jb5VQEmx)U$EH)dt_0b4&bw(nA@9xA@>+Ok zFchxck6!nYO0^s=m@)1kr}UVwiXHgg#OsO2>gyfwcuaDjtJ2jBor8JXYxI>!qW~>B z=xh{*!Hu|!CY+6)GQhC^UT1v2QBU6;9b&MixC3CbQX!&M*v-7ojv0tjkV)sU2Z zw2#!8GH3?r*1};AyoN*?hArUM7-@w;n`74NxXPco{9Wr6Ba%2@>`tQC(L54PbEEr| zgBvQhyFI;j+Z?~0R~X1OFM|sP^ab=-GD}u7orQxbE$>j_?x5Csa#a6+E2!GlQ!N`c z{jHqTzHQ0R(md(u-Z&ABVRZ+e*|M#8(w%k{)aP^~PGaoBhSoN2wg>DmC#zuk2!;h3 z2);1KCD!mCHg%1@)a7Q`q+1U<<;^LcdPkXmy?adDj-0&BC2nWEtkEhMl3U0oI{-eo zVK#)bx1asvfKniI6%J@z{|KV-IzCU3p(d+(nvYEiwOgS zoIc`yCB;T$5L;mgfTe&c9~?|P6-?I2FP^zo|71wAV~fad;&|UtXHgeLcE{mvv8}!( z?9l-McD8EVkr=~xK6RLQCI+i;Rg=8|8Kc<=V5Yfdy?+3zbd8@QhmOGQn^;U6(+lx# zZT^*+r}>_!jqq0t#@Wk0ChI0KzikWjSH=r8&m?aH`2?#PJ;^@Bs;c)P9G(#TzFw6( z$&zn3ERbwk+X(~fJ}V=POSkDS-C{r4+wZ7KGAyO%T>mru4Mbw3~FgJRfn3<6b?O$=bb%{ALt4OP{Y2yBk+O3kPY8n{n*J(}REY(*;`&yO?lRuanNoihe} zC{)b}-`1>`yA$++vb~&BlMxdpa3QQPatG^11x;M&-09I?QNB3hm>71(a1Gm3FDQ|> zX~b%BjRhsJHcrwz&y05zU}yr4VU-+lK*;dSzr{U=Jmb7^NUs@Y4WX_leWMxe{RJwH z-E^VRp8|+Jx+RLk%30zNX3qh{($u(<-O6?{ppQ>D$bQ8%U>p~^k#5SCFAsQh`xM=;aGNs~V* z$Ew1=@R8xGAZ?xf>_o@&=pZ;}FG#Qaarf$=Q+G7S`}C0nfIcZ&XIaCdSAv*QYtBWD z)Js$~!kpGTqTnI+LqV?#g6HtxKI1o02dlx|v z7y==tbUj_QLc?yIvfN_6E|djvgC*1QZSJsdeGNa9859GDndTG7#1MlgaA{39YR5Xp zT}fBQHb)YODi3vPkuItBOp~as9M8~#4Y4vgVQcFoTtV*~OPY=-EL6pjqERcDgr7n{ zs~Dj#F7}xAhW1BZEB3J z&S$;P(LE}iO8I1R@?9hTscS?Q0sdY~4jCogHK)DgOR3(0^f#$eedGH+PW_4&jgrSq z+**m6d^$~p3YETr2;)==;#s_mfVmrJsWL3SbB@NOFGyghEskUB}1}hN+s7^?)V@ArMuQ-t5^1 zV!A+$u!!iI(_6q10Q$SdBQ&KFXsmX%sa~J5kB}{s0S;G$s}fPxR^=>TP9SsPSh3%U zg7zt9Qcsg@`enL(yEyLeyI7Xjq<{OWVxX8S+C&U3%-M7}S*L;IFrYHsyLKf?nQeE4 ziZGxB?XJ<&RNd6+yvQa=()z5@G%YJJYQirPi9T6vhHpQjKYfSq= z=2rr3DZSSAK-Yb#?ydBF;?6@^Y?vrgU@5-7m=xaTjqlbhvpCP0kr3NXTt=GaLP4%s ztSKjJoR=-NyrP6l$|7c0;leH#(X!N-Ec*)PK*II3H;i@#bqbW$i?x3Dle37g68$~4 zbQQHTBGVZQYOjq?anog6YMRql3a6s@b25W-WD?$3Z-B;(FhJi@TjzO_bxq}a4g#eJ zpIx$k4FGK-KX~OC|L0LrT0Vd++tMRDt2!V1@uj1{3r3GAc6J8ja%{^POMi?bh>XOR zG86INy8jzfX6td*Q>)_K&vrj(T`{`tT0;>#*)F~6d z34~qyq&Yb1a`^e{*bi9lXKB>kF^&F< zKCR1u2IDvrz)&RCqnu4+jGAN}S%SA=a5Kfd2C6gt?j7{s9QF5{z45%TMkU<=*8w3T$2Ey=>@iYr{;XqvLEh?fA^tS!WF>}lOGAG?1yHVwaIm@whld39D>8_hH(_9b_;I~d( zYq$C>_%-!H61G`;+!I4i?J=D&w?o4h7y;lY*~M~!vr&QWYa1zGP-sh)OHOMee%BH_ z;O5R8Um|8(v__*(Fi3-D`%in-eA=q5z?So;p@04#8}8&{~RE&ik&ryr#0-sJz zvE;w#Z6v=+poQZMkQOBzsr=8Jfe|=;uB1IMkoyi?up$Q}Fgy&IkYFe!x|IgyiFQ+= z(R9W3(kY^Qlw1IaVd0bk-Wp#Q>8)vFw9MU*)0bdWj?~Y(}JSVz^%{U?1 zEq7s8jTW5!1i5dk^-|O272G{AFz81ywl=h0c@k8{Ax|p0+e4sxa5nwq2Lf*A#cc`J&D8b4ifOCpz*zinL|Ck2@N2`t4M;v3Cj7PbElT z-5L(hAWNWnHayQyFI%6#--&O!oJ}$X@6pe?mOsQQBdg+oYZTE%T1}#4U0|vrh>4wb zGSk=ljz+B{oaLiuABCBKiS4V(kanTco0yGv6N{+uMV>v(BC@OZ>Z+SI?49}5evGx8 zcdeFIY)=BQ+Q$QK;jlPrbDMi zHWYCrM31x7Z@Jny9uXd76VVcpr89GBFz`FDTK3>PUrADo>c{KXlXIdEq03Y*+()GU z_oej@sj}~Ewk%7NUD|J^w>4}!CV`r5Xk&H`2Y=^kh-sd@G3XD8Bhty>G7lM2%!N;J zRe>5~tO{RJ&Cvckgqxgr9J){qj;LHpA|MJ$B|%?RInqE_Mn)^P-*9(;02_KTKTm@u z-cpneyP8C$gv3JeV}N*bTh4JJJRQ-8^63ZlCegGC&BFbfnodqA!+ubzt9K49^xqo^ z<1WOe#o8HhOTBUrTac6_++dI$!kRxr094djP@y3^r9QkUW>X!IQ+BxTC4tBFkJ@gl z1yjYlkGXBp9f_BVb$8pZjPy>obdLgO2T>v6d*?MF<|Xkfr*;T*Sn@-V98L2!GXAP03M1Dz2*fU-WdbI1D!U;}&2C@3SYM7G{v zERAa!aCWt?@7&)Vhx?e)ON7Jw`2AuQy1V39@OK356|S{;F8HsL8To*)#dZpqZiajb zjLaI{=xl{=JfHuHAL`mAuxtWZItGJMn_(~5uN8bE5`-Ioeq*8jn0aH zCLrm4X6ORVBDP>C{d6jZDDrJEoLkx)Y#|CoT;>mc7*6|qI$2HwFU@^dHKGt|@|>43 z|NhI*Kdn{^@e$H%!;k&P2zYyfn<`+i^V3k@W zB`B5f0mKaaLlAf@-KNOu$(sY=?x8n~7A17}^5 z?8X4DQ0c)`V_E_SQTwpiNGzE*cVzVR@%`{E)K)9&gmxb`=uq;TwI?cPBzpl7g+E5i z-XmjFeam3M$Ly>l7bs^Y(Q9;I1Fxj9`e-ybx$()Uxa7!_YP|qc#VfQT$1sO8PK)iZ zk}Vs7{FKTAjG9sQwzoqawipu^ji2oA+9hT!Y}qLrKEqAG6d>y}mi5PeuQh{1D8f17 z{gyXouwX@;%nVl1K(ssWHg6#Q4 zZADZkwViUL^z^7=>kB>ggO&erd+HSbk&5GmJ_;q z?|<`k-?4Imos{a1l?dG!hRr$GV5fnorqvI1;HuHz3R}C$Wb~=_91@TXQOs!U^et|Q ziGPC|LTEp6nxp>`KlHW&)GPL7KJX=6rZLAb#T5}Gr;MD`ME{&1c4?o?i7gyOjK2l} zRiEzK>!gX6>G^%>XpMwVqAI+CL zdhG;mk)XGiaI?->k7b&Telof$Y`*5;uE1f53?Lr06k8}h`MQ0EZmntrf-E5#i_oo4 zb7DHRh=pb`R&AyPsoPw|XSm(w4D&(3U87TrCTtb5X*)kD!YY;Tv%B1kx5v6oUkkm^ zebyR$(G0!tn_oGhx6BDy=O2+(Wj^)Xki7#dMEO3KlLESxB;O}tWD%=yN-3PTjcf)U6Wx%#mMAZYNhI_@gh4yfO32PcF8P78Y<@xjW?cqj zb?L-91P*=FhTrO+$0zSE6Dd_!mreC?+NxTfRL?(HWlmN~w~0t!K|X;m5Pom=)zbOzc~}5A*3;Vm8AWe@m9U z@!Q?^_jh;i?e6XEz3n}F_4e`0m(O3mefIqI+Xw&W!PB1~{P^=@SuxqLI($UXRzg77 zTR9(5CQ_90v#4y;Re{w46AK(-h^bz8jk2x$b?E%OUJd zDs}Xq%&#vs@1*roz^)Q66;S*(orM|o%Z2k>K|2j0F=vvCReB>Yp?UQ*`DFYbN!^?glS zxz+5~P&#rsOXex*$8SUcge()eI4S0o%#P6po<9C&=R4L{G!rr>&A{ApO~Pz`xmc+i zTNNWr0E*N5VsG!>op1WFYT_l7^j(0A{VYc4DOqQK<7^yZjZ)r}Q`%Q^SUxaPk;}|= zJFm2PI0?X1+pjH1ZKY7PVq`~!s;e;8#uH${Re81b>ybZ+lHw6KU zLhMO?G5NCy0#I7(=~<%V2(*~>0p9Y)UQUuKZKC0XNi#i#1XB0`+{etKQHV((p^Qoi z%cTHpp8$^{PZ}c5aaxK`xH@>5Rs#m9s$V-|0$|3BfYS+Vw^>}$dG(Pqyk8FiMmWyy z?cUo@XX#BlF^j|NHnr5^9vRsT*m6xou3r%wa3_;bD>|wN zJ9D_G4KU+66T9#27uzOx+NT%=fun^;WTdwgWRDPyVwsw_rH(1wYhrKPeRoj1@91=p z_WUoT^XeNgJmL#ZFW4HXY3*Ybbr+e6M>e^d$4G=t{q)hGG0oEMCTU%mhJ)<(Z76&9 z{W9Ieg`^5n;fY8Y>>Tpy;VV{?2Fxl`28Ln_kJz=+P1>f!#(&9+^zK$bdsd@n{oz_n z0L=k4cCtcygejg$KA6_Qby~U+d9dujDVEX?Y-9&(6~u5O;Le*29~<%{y8XI4*h{gO z6-}A7{e5*R&RKve%EKM?jdT33=Ufiz6$ zc4gmqqNj@DisnVfovOb`44kXt%ZN~^r8yvj=L)) zuB0f#{cry18O;XCu4_tAT&^hub3I=bGh|y2d*>E75_0ys6`LY!uOgd)Aw*65m>^Xq z8+yc4d3suq`2eCFMV|5|oKQ|!rc%Vv%oyFLnm2UG6^Ew`J??+=vv=_Ef80xdhGu~Y87+UQIp^u3CP-nUs zC9)yQ0|r<4IS6fqjdlj#bVe-*tOU7rt^qJM4a-X=3cYU;J`M9UwM2)ar!(hz66S%4 zK%YGmwCo=J+}TM9fLXC4xf;q5r+@a{<7BeU3*aebpS^uB+6jFq-x2PhOKCIEKcxk*$-JE1!nPmN|2CXV(H5?xW2Cx7o>l!?B{sY% zIJF=EhUu+{8$zi4dY(S68;hUNy~g*Yq@ETB8J8HfY(k%zk9<{}*{;RZcN zp(O8s<6Ppz+ji+?kzTOQG)+f_>EzVE2(W#W2tv_=nionV_Jl+wSRfE!Wge@-^j=^5rQ9>g|OBB>(AWMr~~n8>Cg! z9ow=PL#$b48<&c;Z{4i1cem=T#N8X{N-xuXdmmr}M}|V^v5Xl=IiAEl2GGe{rAR)V{6+Xxs*w6SHH9O|U=_hDb zOb#Y)3zVoW9y(dT60XU$l1OVv;dJbi`*=c%I|8@K8oA!oHT{J(JoYEs7qJ|Q3M|!8 zW`p+P_@<4oThHp+X5`GF*c@Yy;@jGCG=AJ5+>j-5jL23KK#w9+$W(|x!Rr;bAx+o7 zwIp0oT40#Wo4*2T<+L07t(#r^^0{N_Cb9dNH^>%2!up|}m#gyee3}ffc2Z5tf>74; zQj?N0s3h#kSCcuk%yfrOW}LT(yJjsIiWBV5?}~-o4HGq57(vi39d05GF(=CB(}zzH zh`kys2DJ^2qro{ZW|Qlj4X1?a6j;z8X>{ttBQl{0512mGr}%RZ{J?73$xn4Ytr-VC ztC?hnXm+NLb^|eo<4H4~(45mB3OykV&rMsJ8T-#%CBDkr@8=u1k;o)8I+I28B5B;B zjx;1HJX8%zr?d4brjJJB9i@C^N_`$gQ06bTy_BKUD2IV}$S2O;1K15Ply&M`kV+5( zqUvMUVR{Dj%edYzJRPKW0am`VrO}(B(Q^U0%a}sf*yv<;oKtS##vJGi@?F~+GTK|M z2t91zrynlvJ28_$z+{| z0y9E6skbC3YV^-(RgoGjBbO^Z4!oa>xtAw2>7uG1v}rAk?JRe}K~}pw<`Mx)M0|$S z&uH0BjvWQtyAPJj$#pMb+%2?ac;>ProG9!I%LJ?cjO z*tSxd{&`X&HW)*6L-zhl;vIYzi^6CQS6`D1<2?hkLL3TWq!NlZ1KcWAm zEgwF}%20Yrl1`=wVd_99;38WW#dHb@19dDJbRcO(^%LH4{|#+Hj8$^qGy1VeeH!4m z9q)cwh8jJ68;vzOJKeMQUB^K&xm?dta9Yn&QhzJi!enA1wI%NeWN+G!wc^7Ty@&L_ z*1nN2`9ROJwrUfrb?WwQoG)6S8zRG5S-N6Z$ag{fjX~N>gM~E_Bd3`o*dLi8p<`*4>?*eK&qtCcH`)Xjs!YG$u8j8$KfrA?_k4-{H|!F%6B-^>s$T-OQ@s z+vzquP+c}cJE>|n-YsN1KttW;eG@+QOB(d9=?kiPJ|Wy|;AKH*J4Dt=#SJO`D|A|qc{{tRrOXbg-1MM zx6K*XARWIRE?!YxIxE0K5Sv*drE`UUmL**Zdx_p#Wyy47Nicb`bLc~SD|C$<*9Ti& zEQ|TO-50Q(t8MIN$-VZHe`}W1eBd7)_Akf~xg(6o9pTeb z(kJ8_^>;{3_&OgOr3|htZIf{?lZ*Helb^$qPQC0p7Mjo#iupR~Vf8i_*2KwevgF42 zX+bm8;QI+NS9Zf))AY#Ef9+2UkZLV4AeF4U%6VW3GK2CIL#ohg<-Rs-qgs8ME4gxP zk#DH3Jo0|*ibQKaY8?n0-}j^R1FjXx*NUj9O|8$~?o7pu3wCKl`q5NoociZ;;j)-5 ze7NYd+T2fUf9X0~zsBb1m2~%@S<*$u)yJCTyxfixWxFbcw@#W>leV)qx9ptMcHF2@ zvt0935mglyA@n^yQ(odQ5RjAO-|QvH3p z8B!y8jei)=Yu2rIYE81o(y4ls6Cff=1lFED=B1`jeRd$;5twZ_G2x7{WU#N#oFHh= zOo=0Z5Mx$d5e}RcQS;1!cEH}~g5k#;fICQEZiEO?=*bBfUtNaNGDA2~AIX^&irjy8c6a^GRCCyajK%E597t#a} zWN(#q_jZYJk(h;Q5KZtI)$g**|GrT%ENx%{dV9;sw9gG_U>>~=`?j;?>|mR`5aR?6 z1mPp*-wPjqEDS0Ea70!SL zW!DXRF?5VXb{u9pYKEvGXc~b)(0etNz^hXdB+4t{~vW$4$HDB=iyg_O8OB?vvCG|A~zgFX@*S2>%#20zsP?&th$#boq`&01eXuY+}u zn|M>7J6kqU-h=Qc>#}P;xzdZYBa-K__bV(0&Y%Xju&R3EEGB1jXB2BZ^D0&{A?A+T zteH-P4xo_fd+834yvg!B(1eq+By`TMpxqPoRFpnTIymIPX>9Fs5dRnshp^>tQ83d6 z;79&if5Thj_61fKQ!<3JGGEPuh$^a_9~cGEiS-DE~VG&E4|IJq1#|M7lLPD*b7ZAgU?naU@%O9E1Qr* zB~QrpTtbLx7-AQ4-mSbXH~8Ms?vnwz$PK>QoeEf;l!{A9$so@8thh(%#06?d4q!d6 zL@|>|+(=xH)9Qu}h}kG+);zS+!=BH64*l5@V});JkQSERQTIw?xS7*HQkMVAwNfW4 zMsp|^|H~co&_1c5pNpCGiGJ)mC1C9-&y9Twgxbj@O!ZcpX{nwoUh5sWj-%Q5Gjlnr zgy&CjX7yXHia@%%e8*lCk||y(lKa_v%2DYveR|@6n4F4dY7v1+qKn%=0B%rH#vrYotOZM#zfHlr@Poy;ZR_f| z30<}B@hQ7riYVcC`2$S>9pQohDyU#l@bzGglL!V7V|h$BDy$4s(PDl&TTk=fVBR&B z5u=5>!fM4qmSSogbH5s?%h&^08e_BKfLDOIg|Nl;BzYFX#wpAkzHcl74_qT0C~;#` zcOU|gmoQn5GBEAb*h}gn=~3O74w4~8_3;_uzg)$vfkN6EUq$_)@^aGN@Ja^d8c>HzdcQBA zmbO0vC%0UkQf@5ZPcigb4=j&Danxz_jtxfw9(tZ|BgqMAoJ#U6!{U`EGDhEWb(9h-k zMGo5h*|T{(cqQl2$bU{LCorK93XM$QU844v@hk^nP`(_GSZUpDuDHX<|KJXoM!SM zLXeTdh6Yl_d9+7IX)9!Hs~0idu28=ubCKMWJK&W@#=wnmt?v8)CM=rv?N+sG*FQ|M zp}7}mWZ!&rz&v0ssZ2SWvem{MrFDYsVrz&po7^C^J-hAYfzzwkRp_ysi2=EOzqw+n z^4O2WEWF)MH6UWJ3N4aH#Uyp@Oi%1W<%TQXp_|I>4!;h|g!s49G6=zoTlo9M(~QD& z@9fvKFvh@=XQXY3reYqNdskxE8nTC2A!?C>`Zn>#cFCIGXSlHH44>JXSCT8sWDZ!hs{aP3v8OPbfA zQqHmZv}=SzLPFiwBX`^L>L2-(#6C%JqDq2%;b#os*Hyj({5Nt>q>DFjzY8gowRO~9 z9%OrWlQ$x0rh5Q#T>Pl@EVLZ^#gO;ucZ7JcqHC*VaSUv46ieyr1DhK{`H$Vn}t|8AGrnc)1vqC zczr*0au1?8&VPLPau5@f?+$jez>Qo02!$}@2>25os^*FpeRDOT*pwEF!ZY*LZ-8UM z1Ypi>mt{QVG%G{*Fz`IIR<%dFR#R*;X-zy#Yw9Da87(~-VD^WL$$9=a-VTyy28~%c zt0Q02I=^qKL*@2k%22vW=v0K+8WO3eEON0AJMO4;D7u5r4Hc!otSCOc<7XuEDGM1f>BEG)gTihPsOx%6dJplLH& zceZp(HQX>owj;)G_c-Om6B^_>#NFe8945-AaVyB6vs)R{oEPw$AccqfsZOT;84;)0 zhK9d#iOT9{{9jU^$r?Lo80CX3z(yMXmC#j-`=C^@E$nYLPP%R%v3Q>K$!a+XeG`Ly z#&=lN(TL%EEa=8&(}#S{#l}o95Vd4CHRwmY3c00;V1*(uDQuKile5XP$S4{LegSTu zA(}|0Y(~;QTm{Ow(X*Y67qO7?_FLS4>*HVwMf(qx~_VLI?JrRh_%^c%Ri*#S?V%HmtEt{i|kwW}+^p7UGVG`)xD z``CDC)Nz8L;;e0DpDO*DRGui?ZwU`fdzt}(A)17fsUI}-PXkMkVkRkP1FkKLi-R#P ztXASsl{{nlBaQm~j+I$>A&SQTQ{({Ra_*4aCa;9J0DN=@sF=_5aMJLbt*7lrE&ECA*BVJQ$WVN2;YKZn#FgcAsx>Ay-7y7t&dKz2TWUzU zq|-{w!jlj7D<7lXw6Z1F`|Qkq_LkogzJ)4r?hr-`rda zF!Jfeq?kjLIcTae;hpSz>YO~KgWHLhr)+*sfOOEPs{M%et?)1gR^rKFw5gBvW;KxF ze}_2nI;6-aq7L;*eK+lS^Kl`Lq$1b8uSfSscXs#g2&fA=gj`dSvB*w|+dEs_e<@Gs z_G3Tfnspn`r7pj%uR6a> z!SJNx@dVe*8@4@ayMlCHfC=O^9weD<*1&&&;}%fCjS1%#o0=te&&glGz%J_7)LZ`GaB?|~lSdcLka8JN*0?3dlF=@o z>O7&1f>M1;9m#IX*vt7G=1WWpCzeHKT^=u`$s^MZe-|z3mR0ma&*fFVghHBc z1xw|v=qd3#_(lcoLg-ULsY(cnj9Q@~^Xmb=Dic*y;u910*fghP*-K6VNI6XPyH*$d zc~mli`zUCHl)_h2 zn(TM}FHlPZ1QY-Q00;miPj^8bXoMq(f&c*gYykix02}~AZ*FvDZgekGV{&P5baO9i zadl;Kc`Y$6I4&|SZE0>UYI7i>7yu}s6aWAK00000000000000000000006wb>2f1S zvM%_4%;p`4>^f9tAqbKs>DU0FuN;0IZF`d6s#P`7vhm zLh}mapL;}Pb}D}l?C_3*w3OUN{)}?-eQ^M zZ$7Sax<8l3^2p2LZG7T&)80B?&EhooUn%e8(YY7&w#)CA@ALJuc$51u14W)mz2uP5#~MpMIpIK3?^T&5QYJ`|+pbI#0KLJWNJG zkS-V7VsV#aq)7+kS)wmqAkB2nb$c}Zw!I|wgM0hFe4Lbz-O^KZPd|@$yH1QD=Zo!+ zv{<{HdskUMx8_1%DO(=J5&GSKKP_gtAG>Sb!I~S8ik*+I@iD_ul| z2rM8@2u7&51Am!;qfRI3rSWWrXDYTWp|9zlAtkYW`GX2gCjqwQ=Nixw7tqjj7PVAU zR#KTX-H}}2%N^Ocm~C?c4(fa-4f;vsJ_`1q)nS^p#nbgV{>aO58J$Vzow>d#H+eGC z``O!hfl6s}rRzN2=FgYu-JBNuQD{20%v=3sa>0`$eJRldlcQF9q#pym5TzBWCqw;8x2 zeJ-t3mK`8S0KV!?q%ZMR(pgQN+W3ot5!wW^oq91lChaL07zIwLPJV=OR8f1?VBIIC(yIkfm-!8cdONM zz3ol6^V!$WX3IqmJW?zcQsnrUR*(T|Dmk!R-n67-T;693^d0-2;*oF?$Q#1cJj{yMPNbu zH~GcvUcrF*$q64^zYOzHS9V>si57Yw`BxPK;@FD`?$ZtJDCK1Z;Q&fNwZG-~qZcrR zLeTFq&H^P67mH0D3({HVRQ<@o0YGQba6}mGj1XCDIu2yiA74!RW5PZ6g!qT!5jx&U zdzKU3N8e01WcL_GyT*UyGeQ2puy zZ6b#vPh+XGB$nc0x}*fN6FSo$YqSB!RqhUIAk=c!FvN_WGM)eGCT6`gt^_8ENUx-}6}!C$pTZb1DL|bY?HZ6j?mj zHE_7w`QtX&Q+dz@@H#V@`kG&QO`NGkt+?q6F}w1;3$Gh@y-Q*ng=BoQ^mFQJ_EBgQ zOk0U1`sP&B)UCURW!K&(uOj)rLV_l*b~{UkWWOf-ahzW9d6Mtg@>oqngh zz#*~9fgqFb2(>4#YP5CoUF74TOvo<XF&2@@BO-XZre90zw2*t&DBBLN;mHBw2&+sGN$Cx>owdQQ9E@QWSG zFXBKXDk6zM-!SAd!$F60QYD>BNz0VZ?jo9)v%Ah4rvZ1pKfNgWQ#!t~XfmAQ#6Nv| z)jc&^Sz-TXQARsBp{@`$L&w8oEF&Fu*@*w_c0?)A!89P!Y%?v!TiTMVyUo-aQ6qb2 zz)wZuAsr9y$I%$)9?n;A8XIEUXgrhM4m=9Z^3EBLbV|d($*QhtL^n|}DD;?UTg)P` z+UYwvU#>51sJk=T8PlMDO@o?7#qgTCfkp$Rr*#^+)7qip82MltC86(hr>93l%o@$5 z)A=cN-lA>Y8gUkrAx#XC4}PUEJwtIdb>`t45q{ZKBzzrT#~)tjTOt-Fo8EX9Z+~J= zV1vovv1I_UG)QT_J1i3O{V`n+;*fBtpA**@1XvIhAbcNDbD z*adwl^OB`J;M*ei0pXCc4wOiin^YwbUrgH;7VLG@8y&soHGL0Lo^?1FUQ};2X z?Gh70eV9i1zFODjE=}{zh8PT5KBB-KSoz);;j{*@MgE@F@z)=||8~1w{XHi>c(c_# zB#3f9{Gsi`r}Xk&{;L)kdp{KEdbwGSw_M|!H$Qtpdu9Kyg5V>fI^WRdUEXa=y#TGr zk5RH$puc}4w6<8j_g&2MPXYM01KSe2e)@(8K^!Up;E=k3C%~=193XGA3O|}(jESk} zVjVL&ag8JwHR|2y$}!VlDx|fp5nOKiT31WEZPk08k7+IQj84>e_CEf&aR;eocSVnW z=lg*6rSnqA%JfIVX#ZeQmcwlk4&26Tp11CGFS}dE_~;}7*?UfG*lGEYnHcHab#MDV z&lj84VVjp2`uc7`XSQJ|rZoNAV*K%!VmqZl53dQuq@b`b&X14BgEaJ~K}RTj5KED7!o)t*XI+>oJ3FDBKQkX;YNtlYh(jVfgyMXI`_KiZl2cvv_$`g@ zx`)m(DJhq|N>>@^^oyLI*qO8o0J4S-7?tm-tIL(sq{ia3Uc@mCYAY6M{x`kI`l-8S zsjOM4-AD$_HBrPCg?Nm;T6wCr(_*tH0K6d>;pOS4zxp?=!wU@9Oc-p4u}fdu?Q%^d zg8581J? zmJ_)Y$H$m9;-iT{oAF_pVv8np@X#)eX*E^Jmy82_4xO8qd?txt0^}0Y&ts)=2?~hP zfY{A%m&=9)_}CMnt4BRxvU#GVu+&ERc{VEhIS!<|M4;$~scWoj&9%A_eWugL z8ToHDylBWmMXOF^HXu#S4X3UaphT7s5#C0no{D90anMg?9jWUxVHRex4WT}#;v&9RkIe{-S({fi0Fisbl!AT zZ(*Q@vJYqq;8|7C(I7nG)3Hepk)N*tjtxSCStBIUoCEz_GH^E}&pAAh7Xo3Lx@$E8Trsd+Fjg|71GB*E8S zIPZO0F6YrX7<=1MYOU;bZ~s)KJz863&?% z_szNc<~R4vlMzHDmdu2m0`E|!8MQ2Q9N075yc$EGc{@P&bK+k&)8%{5(V;H|^=HJ- zPNJp5Q`3f=mTEtMjC=}NPyL}HCQaQAR8A|x_oLBA1hFe+0c zjzQK@f(=4}LJ+^YC5Rx>Xpz|``Zvl;Ip%K1H+s83OdM2X1^+TaA4qZ>(lz}TPJrza z3?YFw@eXA<=kuyEBf8h(vv?1Z3IZ&&SQSbW6_!RKe9neOa@N;COS6miIop?_m7CGW|;~d4UKoxc=OZyg{J*J(zzi;-LKchT&+sf?rOQP>_kE=oaH78^)@;k zUY&GD1Ah=+Wsk3VyWlG8(#RTiI&pPsxN-G8+YsMx3I)EmAIq7=9`mK^-Xko;&U^fM)amo&sx{SPr9C0(|GRH zbN6V@VU+L!)(PJi8zTAg^}x?H)~Y=Az2`su@J!@9-!J1V&ph=UT!;dai?fe@5QMp0 zz6P5t8X=+aaMtCtZ??owa;?6%TyRn5sMBe@nB-KSTiIT{fRP12iZHi@!RVf_{e~tG zs^oB`0BxZ&c*|30!iWVLR$B}D2v6dMr4ZhTWbMP2$tZ}#VkX`7ITD>K^SM!cyOu(6 zsbj{_FFe>Z=to91dveb2F8Q52x{SUYjH4mIfT(-?jKXnrCnsPm;uff@=q%msI>apB zYXOYucp8CweCsFQL5Pb9T716_V`Uje5o;XG$ zJhVx#fM%D=80LnEIU=K}vgT@Fl_vYPHOyu0Hrnbyucfi3gVv!Z29yKnRkOe}5}H~J zkkM$(yS;NnSndj13k|jOHLNIglUf2?>xR8lmF~voil;EX$&H;CN?|vc&qB{r((%w^ zqfk#-Is2ygl!wmlcIQP3?bUY4HMbPIk(J~I_lg$H*;lU39DsDdb?Ul^LW(cW_|ed5 zs~eAaGKcYKuW*DBUPy1;&FaXLT)3&se&E>pWrPRvcLIdM>tvNZYi<;)VzFo*t&N@g z%1U&r3p4PJJk~3vp->D5zVdorm(Z$DL`K&OJdhCzVzRLHP}Cwc*$mJtDF&3biPf0T z%5ya59Bc7`%5U43qZ=zIS5D4lNkkTHz*yg@xC?O+@kE>LA^6B|33Kh$EPk-a3F_fm z4;8Wt?cYH0IQytazn(DO*#yet?>(jAt$fqFUKR`AQy$=b9DI;0o zJ9Ay*8yxi;h(j|ytnnazz97_hT|PGA(3_}p-gk6o$#OZ%W45ZeiKdl`&P_#6N^M)m z>Pp%C&cSa`oB30yuBh24D)^3P{N$w2@~YzEx?hNN*N>f+ic!!JJA|rq1{RR4oJ^Um zo3b{+vT--Z$2l7$R8O5efJH%63U6Q{H1NmtAB~-;>P${5d6^MfrX>kN``oRI-_jhQ zBc<8p4b3>L{Bn)Dr&<_eM74WW%2gLjqK3w_+}nzL(Zby$8qfi&DC%<3S^HE^)#74JGP?L zG7|+B3?JpV`um#%Q^Ok(*=oPjMIR3?Ou5oApgD|~; z(E|t8>yQ8+06Wr7X(It%)=-Nm;c&s$8KDmq71PfSY9xfQFhro|Jof_Ujr&1~6qQF^ zH8($vy|N{(*s_>hGuBxtGjhlRXsUNR+lh=}#qqVMOhLm@!w$~+PG|+8`xUDlnaO>D zcf3%Ra&D(-Ono%phG8g8MZ_t^^*L}5wiuBRHO(Fqx$?8{*m38*)Ds@QD&^uv7Si8(C3c}Ooz^?@qw#hZ_d z)Hp=ZJt3QnUc;iO^l>Wvnfy*h{AFe(RvNa5Gdf@Z?kd!c_?=nB+ALzyXcAMVlov}^ z9T&iaXtqq^*$XOL0VO&v*T#p2&q_f5Yqp7ZPC!-ri2sm-2Yy{?zo107j}lX|f5faZkm98-^r;(rS#R==|=*HN~2= z#cUj*iS3vrqiDZ#9*7wQtCFlyc(w4j+ifl0-h|9DTF4cC{;(PS!FWW(tTg6+QaXz% zAcSy9=fzUK@&2Fx^Z)w4{|_%1Ja7(rUbr;J-~OQklM2G*&spXz&;oc2&1csZ+6bf* z*f;d+hdrTZdwwdjX3~_lF4fy#-&tBj->>sY{$b_S&e*}Vj0L`Jp+VEQ;fG;SGkgzh*!u8z(V&$^=^!O$-8C+!%^9Y3?KjqsRWrxOtdk@P$BLXZ&Nw-z zDMUXjP;EH+)HIowfDIe-s!QkMZl2_8G0-Hy$=FDrV2eN{N@1waU?pa1xCdqKyr&<# zK4v8dHVLoLQn$}mtItFlbvkL)b0UMsp$1;74;EQGKP^2F>&$A+Y!A(enWvox;@>Jl zyWOr3mP5}>QO*q1G?!;EeS)1@JS zhQ{I){7v6(-LY(T`HXk%L!TKdI&A=?kqV7=0{PKhkrDqwq~3>*ZSVmG*VJH6&Wg!r zCc64Gf`B8dnKaOTq4TpYK~Tidj$L-zf`)W0Rk<-%Y6u@d){J}THQbQPA51cSyIlf< zFxjh^jlXKkZP;}gTtN%0Rp!K(v;C{1jLhsZXO4w3BikD>aa{GJ5w812Wy711I%nRr zKaS2VhGsUE_I)%JQ_ac@<;1Q7b_RX{OYNw>7xdH=G7l?u^`p}>v{)Oe!&I1ev7r~x zy1AJ3ZwRyiA=Ir*6@%R1dAh$*<^}j@nh@@>v7a8q;q|~Y5QMV<3ZJ2HIKi>|zA2hv zqV0JMLy?K_qI8z-t){@p%c43Vnu!%iX(7f|sfQF4K|7yoXS$%U@%t4QLOvY^L2 zGYXUvL)RQK^*>aT#Pw2@+5+wNruj9v{<6D*rs9k(M_woP9N%}=9b`+QxRxktHKh|@ zX1A0au+?H&mIjuOx7IK*ZZkxjsISk0y;b$>_xRrt@rnSH$!?LKdfy0dbo3+R#3Lb& zEh&G*D3F2V=4xT>m0{EMMCl&yEf0^N}}YEW!|f5;_xI$w%5>KTD< z5~nwt$R#-9sHqYfAj-mS2gk;WIbIy}D~3yK)jfpWd?)S^aw4jd?rtgojU}At^X2*@ zoyJ6%bk5+a48JBh$BOc-?dWs7I6j`zNj8h;zI*}HRk8gZyBTi()0DXsnM6m%Q$%?yKbWiZ^Ze{eq*j$>v_N~3d zQRY8vZkii{i)fj=LQ=tqChpxWidz^mb!JdvgT)yXa!`Y^0Vtc!vq`i)V=}ltfMsx` z)A^vBPJHW+i5b6Pw#ktdL&^pnX^SYiU?zwIYS?qBg}l_J_e@M0ul__8u!p@oIS&eB z6rBc7P^ig zoT!v*k*9YGf`X;1?6Fl`N9-ErK#Z;pBLNkN{@l@?4>h% z#4rp7_nOW92$&f-k|4Z+XOiv!8foe9tY=zpXfn$0+WOte_BO=I%oQD*GpQ+-iiSf^ zi%LD^K>-A$ZgCDUeVQK$CLok%%4Xh3;X}rG%7YQ*AANVtUh4dv*dNn(#%Qzlt@&&O zV$6dp8Fmlsb;KUNIb|tfIX2&Gd6#RwR;l%2`_IO#Zl|uXu-1%}s)aIkjXmLA(M%gM zF@^zACO%9Y$Rr;^dN!(hT}>Rm)3iKk*JkzO8r>C}11uQCb!A>^#s@w?* zL4@g;34;jENlPshO~{9_P{U%TYfY!e(HE>B=%Sg@zwtFI?Y)Xu7BKCw_ZA zqVEhEpeIlG9%vwdqZ(XDs2a8`m0L3%`YCSq5OtYh6T!+6X_&msl~{nkufUPrXlDe= z4IV&MxYkU0O==8eI%C4!bcO zj9tG0G!UMg&=EMUs9M+vYcB@E%z9j&!xEBZh+0cV#7E`!x^gSDL_&Od0-B$8Ol>ys zsGJb@&H(*{dU1_oO<;c9g!u^{eA9r3U{2Y_SWpLXXeEsAome6b*A8aND#p=jt`ipg5y>s%MV|iUV31x4hPmCFg)}&_5$XYbjX2pvv~vK2M=xz z=c^BWHZl%Dg7>w_W7zxJGZN~Kfo?6yf!AVlO2pQ|V;HXZ4mV2bKqzpWJlJCifx^8` zqI;s^aeDkREw=fFI+%xx9-Ad_3$CT*mud?=WY{@WF~7E=X9Yj#*ZI1LXE1{49Q+JR zSANCQ7@pGf8E4vR2r`cg@Ca#Xe_XETTz?kU%i*;ccb~?dGIM|W_N@1{ty$Jgza!>i zvtbn=b=Fx=exw*!ep-Z69f1adf(7a=1I$cp^cmRdymop+b7}#YLyCDSU$DGnt zyrHo<`SfSBw9oB>iG9f&ytaa0Fd%8pdP&DeuQCtBtnCTx>!OC^G~+7>vQP%>0lL!~Ze}NAB4G)U zEIkf?ge!@p|Msn^1jep6J!GfW#@V2M{{c>^P3yq8T^?lxzeg^2Wc&G@DZpQ3AaQc$zq z&aWMl*GlV9`!riKBLZ0ruSYJ6PU9cmbUnR$iF%t^+P&^EVb5$EswF(@i;X{BBs$tg zU;Dj;?C;VyJ|&^}wDdh*r*`BoM+UsgaUvGRJ|#Us7uZln_MClJY>K3q0k`YsY_D_- zkiLll(q9=Q0XC^f`#7V`a8C4rO`RpuVw118-{iD7VD}5>Knz$Ze4uOYVxy!>qZra; zyQcp$kSG~nY~|_{&o$ZNv9IodGZtF}q<4KDK4*E@%ZcEEzjp)RKzHHRS_Y3&U>@pE zr5dDZhH*TGC5I&Xpmpg+iaO{eq3%}5oW#1 z^a=KA@eKjG%n%_Q`RL7Z1%^g(L^mA1)J*mobHXv@D(70{H%s{$o2Lh`9fVT>YV*$j ztmF2>JNO4owhs9J{Ty5l-A0a(WS1J4@3zJoGA2^4RA1L4cih#VL!y%7r!qVnXxuQFVBZ zWoajZ8c_75ZOU#r@g%g*OTR(Je={~Haj^}p5aAR2#T$p9uT1sVnChhAX;|%02OUbC zX^PH++EJH6FrP)^XrculwfBqi{WK!>Rupl`-WSRHx9rYybq_zH*Q3W*``y*hT#w)Z z^oj}$pPu{+zBT<)Y{%A8Fd7xAD|?l(bNd|>oo7miTns(2>h!uk8#s!oewWqlYZRFK zL1~9@diDHt0$T(kVBsVf-skg#XnQ)1ML7`?E4rcjpFjB@&z^tt?=McCzWDd&C+Fws z_~g(3{>^`!eD&2=Uw{4O*I%8{Kc0ewD#xkL0%5MO)hwbk^n>9ShBb_bHfrQ(6uNh+ z(}|CdJAY-9x2#&Has3mO5R{fg#Wn-4%9(DfqyxIC@#SbXrd#kVHeCy25FrDou|xbh zK4vW{hXm@}3}^6*Ar!`!5;OJqxHvv$qd?OM5HC_iG^2i$3n*c1OC4`GgE_9$>f?uF zx#;Vj#AfD*8Ov4R1`SSKJ4)wSNd@HtuCBB-raMS&Y`3eg_z`S3jMymR58$mm=6Cjj zEwjgw+z=U{ZI{Qxstf!GI`m@TPsGoBVm-R?pjI@1)if=d(Q?!vN#t37u;yi;9J{E~ zXyPntL3b{kh4zw(vnh7>?;xzcgkQ9MRd zmgfdqPM%CyZW2QfmJZq#UT?P}L^;(a#{;K&o*Y4o>i7C?b>)yYx_Kg=TVmKCOW7hX zb&cKt|0p&*Wc_Ara$pUbXw&doYK4~&zZjyJ|8mfFr; zEC3u&q~QK0(&H_7*A}&i03G87UMMka%+S*fLB#!-2&mXbL}vIvlxPhb*B4U`VTMg~ zJ?epbBr-%h;QBiBJ%Dmj0mF%o)CLpJuZcSNjvAg2+L;hI^bhof7s*IRZ>%!1)H|E_ zc;c%AalPxXF2mPud3!b`H39#nIwptn;!_fTz<2MxhTksR5iu-@}_eh1P3r_ z&A+O#W={A3yK=Hu%tn#8EC`Q|(P{6ajj)1=z$6rv{AE1I`Tgn*On<|^p2#abV+Uexp5;XNm5a(FihuVJ$o??C>B8=?pWffC%mV_hxV`Yp;)w5K|}8ic7&9Lg^^3A4hXepNqey;xUz{`yD@c zBj3k&+a=3jceny0zGEkjofi1+;2^nP&NjOYv%fPcf}KbrcQay2cJsU0wjeHWw_MR9 zSlBHWvyXIfdj~U>-6o|M+0Lkrxcz@Pp{Q%Bq<#fAfDSt3=@!WDK+OzO! zwYJYY3-OV=^AJz%^SXqRf7GR)tF=`&F}{CUe30GSPHjL}qdnfE#2g~V1>QQe@zx}8 zdiuM!<{z~}~pK+@I3)*!hO(ISb;j8GD_ zjN|4x+uS+}+~-1$i#u;Mk5C{^rM6Y1v@kvs^wxP3#X8t)#BoW>7l<&*J(xr=e6*a| zgsATcH9syXZdh{?YQY!5#hC_(+sagMgi!F8FZSMs_xsQ(N!ZdAXQ;rJqYp^o;eSf@gY7lf{*jP zs<<>((T9;;NN}RsaU>Cb%J4ob=(Hu)m0vnFuWJ@tMI-as>ev| zO0kvHy$LmRpk70s*hofs_6l3U__@VB>DGp^)mFBawkbP- zCYM86U7S^XqtmDuj6>{M`t6>F)7EW!FX`3f&@zozGM6|;G=olVjcCHWCVVt6c)D3< z2iZsNrb4vTHF7hVW%b=63ifZ4_3~~7$?<){z9IseEMqLQP)&@zxjnK9q$03h31+y1 zl|O||uT%n;s7+-F%EQbR#FROMI4UK_sD(5d>XM8BvhMyN3`ZY-0Rv)(jrWWW2zAP-Yci6ZfaIEXV6*g^~|Fskt< zTSVSBw-}A$Zzd6)4ZVwDIkD<&oC8k9v(iB`kJ5PY#r7!4k3>$Kc}{Mc5>1sBYs3t( zOE?>|iDpG(nphcYIJ4*D3Kl<#TkYbs99Nf(Aj8HU6%1d)=nk{|eZ6fFW_ZEidkr*6 z5K6ohdtQi=sXl#LHF&T>vjM-?V2uy@rn}r%z5KL3al%wq=+PA;9ZwmFM#y1-exfTl zyeyGm3YM!ck={XcOGr6YnsLwL589{8qs#C4lIX;IHiH>5Oes9vyp|hzV~i~L&Cfcx ztU~&URlJ}MEZJi{@Fu)>t-8 z)(ic>Yl=APNnu)W>Qr#*RB-Cl#i<5AMAKG`H>vGGV7HV-et2Rqo>nst#wETQOCa?I zvLd>hEy=@rwO0#5*qZJ= zKMTUYH}?E)_qr7iz}S0mhRh!z&3=gL`^piQmgh_*V{zxqnh7A`rW5<8o&}pnlp;u! zn8*K9XDKC?sdg^GIlXN+y1|IR^WxLSK_t4)*{vCs(xsdDp=1_ zIJLD(ln1f0$14;tM`5e%)v%B(24nu#8B26dPd_mMh63f{^NMRuuj)C$>GfnT*k?j{ zn{`TmADWo7Ix*>iiAiZ<+K@yev3#nYRDy?TQYSMLV`JjO2#uEBohp7-hgK)jM8#;Y zx;u#NYNP1eKh==qcE|Dl;7(aA>C*FdUYc*)X9t{ON!Yky(~}y9SIzM3-c<_*toPo7 zaV|Tr{Yz}e3C);ikw+IxK3&}}v=58}FhVA2^L?bkbf5$vQsKo%4=hrZ8!S0*;roe9 z2{lEs*Szb(Hg~O)!PQr+?MEdfnXxSIMdRjXt}{Kc1?8NdxmG zQ8qgrZFin8?t&dVcATn5Qb79>h&qe^F7LL<>~4*geveuf#Ux4B>2P}72M)h)#81B} zkJ|;JT0c5J;u|_P-{p_ay#T=(xQ1Hr0UMr0d#hF*0@YI8s&zFaxX@0O`~QIN9O9!v zgj42>k8NnVex@_TBhlM3%2XCD%@d-YmNtMeP6i1p4Ob-Lj11ag{RRNPBlWV?U z6TfL>v(QiZt=vS@w%OFQ#j0*&EWsaTrnPBHo=I|X&XsQ7!4eqyD(&<<l~TZM+# z!zG~v0{C@Q0~9vZyhqRpe>_;TmD~jBF~Hlcd!Pe3%=>OPJN)gU+^WJ9&N%B8*TJ1) zb2OTFSyPH^+VdbSL>S06+&d2~dK2e&5HMQv!^t~#Tt!dnra zEf^E?`bpG4ObC&a+WlRJ5`-M89-G5SQsT&>>R5n)KwC}waZu_wBXwIcM293#~Lw&j)z%N|F>-e5e=fqVn z@VeK{J*wfD-qS(QdwhkQ7O*<=arKBUS#rQrGoz`QUD!-LGn$&)XbD4SKNnfxZO`mP z7SVFteuf{sVhF%><0%1CT%w>dpd*5bGh;1cFk@r09Jz1}WYD-Od4`tK&XrS*di zsD@*{rL%7t`R3fcv1myg>V{HuRG!RKLLh)3dI=OQlYawKZaT&Y?GEQ7ys5aU+yu60 z^&1@yE#*8A)bMi|xnBwq&7R{$!vJ-WpXCD#4@b^|`X?`d+|9KCjp}q;Kmmq=>`ENu zt6ImgLg0^}HV|mC=kR{T9+8ik)1q^YZ@_NBl0(CN&B^X8sKXkPvPWY~*^K>%=Hf?E zQe76$(iEUozwK30em&z1gt8a4UW$W;F=tVUq@CJrHZDFOA5Sc|f$K`7X*PX4lz<}U zBCW8(WDHRh)x(=ey=Lg2P1JF4C$FzXigfhU(SU7$sH!_0Olzbff3wlXB5Ed zxgPxSapl&v9IE0C`tX+N9xW#2<&;xXLrNft)+4jb{c%UygiBbt`z50ZEMLmN6CII5 zH)_0}N(S@c$Vo$Z%V`K_l7?^|&B{DRQ>?W~n1N-la5{sPKbIs%axxI0(J33QL{BZR z#7}}X-`WO-D@CeWMnf~g8WywM$ur4!JXXwG<(u$&AM6c@b$MGW#*LVgOHBscR`V?0 zeFpBr6x#dUC|-3;|fN+e@6Qm((n;)>$j(gmsb^kQ?NzYWPDWmd1nDlfjfr|Hg#e%nLzXUrS z$q!B2te|Q6Rsa5WG+q;FtY=t`p6azJ*VwbblO&1t(HUzHv&q4_N)i(`0M^ty24&<*HIS-`DCc%Q*LEaB6~_)qz`a z$*Vn#z>%AoVfCY)fUw{i7?Oy7*Bjq}*7W#%a2`&NpA5dFzh4cWAX_Z}i9o%Pr^sQ0 ztPH$wEzj8C&!H7Ws2)3qF@lycP!4oXFS;~Azx5k!hAXMqVcIWTm5z3oM8+_ypY($? znhZ})l93WEHq6f~5Lwp3Tp}igMI|7ll?5YLxXe?dzpw=yLR}%)FXNJ^)3MiT+!Meb zmqL&1+qQL|mW~u2>)$2@5{p5tI$;yk{=7O2RRntDEhVbXgT4@jVpKA*^NRluy=@z96DiOgyL!S6`Xgg?o_D3=za|}gz(Y!)RDwvRimJ`$ny#e>DjT&$1-~&WE^;D;tt+$CRWc9fwU{P)3 zmFEvMLj|lE$$hB@4MiskWvQo1ji`CdNW5-hQYG!7l1rttV!M-=HoOnrOrXuh$ClSX+6t>RYELGrze%i&W?!|L zs6>}!8wWqfP7MtprA73=%4{Oc-Y>gKw#nU=F(XyVMHWdoQfvJwxS@P(4Ks3rdYjmQM)0*cx5M~n=jZw0+-TU3-52-Fp z1+(_dH|(ip8kJL>8~y$IZnM=jA#kbKOC8t+Z4EYSsjqNrL+52P<;t7-byxuIP3eHu z?3PfGG4K?+e$OsdSO?&yoLU3u^WDkmm(R}+Zu2~M%HmaT( zVoX~%SattaLkwG!vwPv5EWae|lFJ~qIp@HS$(_r_swI{$RIc1R4tUY}^%FW7wIGhP z+ZEk%OCq9J3FiebL%%o-q*6K7_LXpL1Fz(4XY1dvM zTz8WTcAe23GZ@4>piUn0DbOD0b<&;<-_3S4lap77y_Fx=)E_b%xuajsEp^vLm?`H~ zSiVwusb0vfgjrc#N(-Pl>FZ>?)b1EjncP%;3`E*e8hl=Bq&^KBu7NPitO^L4! z)w*9Sf2!N5G-meD${P7ktb;W0!d8QWH4S>Tn|DwEhBSbYdF`$PlaPo|px6-jffXxxVVFgiEHKRR;=r-rW`+0>pWR3LKtD1k`4J?G zN5rcYpYkISpC5_1@rZkJlqEB{;0AD}%GKRUezEV5EGvFwxbLH~caFWX_6|IfopV%j zi(Iea8gW6@v!CISV{83DRy+2NC32yv8nK}S$^^EtP8!sV({*_^D7PhJ7R+GvMX6o_0b3oQxjRbI5}Tw^s`G!*lCS&5HIA*xqNL#* z*Ni!3gDs#4Z1v8?Wbe=V1?fd~PmHF3F$C!48tDdj)VBBN-MtjJnqRK`VS{twLeZq&&Zdsh5H?BK&AXM8z1B|8?YbHIHU=q8ctSz z=_K&I^56}iDV-wNmk^UVbebELM~CM-5WAsY?w&}?WDHLOW!T=KttBqubU|6O(o-aj7+^Y@}k66G>R`l)RU8wARW@tGMtQHVno-YsN-k& z!F3=J1j`Oh90%aojR%_cjUU#6kl5=YnbEd0$AR^cH^ooR`>+ppikhW9cN&{kUCKy=0A=i8Cj5t0{Z^{UCdM8Uz9C+^5l0 z*Mj(?<{(1|a@jysXVB*ynmno>?bl-+E0gnU-69>3PNE6d4pXO1&}0nbxDf}qjZygo zq;9SifdMu23oVjui*2Im0S^Edex}yU?sN2$|5i^XbfJw>B8j%pNp#tH3>9dD!=q`AZtj6 z0YDV!6jF&wL;^!f>MtD4R|3;gS$!v$^A-_+x)Tm9bQ4{74JGqX8>quCsKAmFt(I`u zBN}6)MJi>sZ_6AP)`0dJ-<@$q<|A8);Am7H-7vqVdtPsaa|`v$yK~~}os8-a4WO-7 z7yDdSJnC%5y83F!!p2q1k`rd()0kS<1xvxJiKVm;ksI1+@utO*qcypDB8D9ON-lH^ zGJ;Sc(0ere%6_rw6mL2atUj4iN+aErsxiGxq<5C@+_1IiBSl zI@ZC(8ed7Yr{iOD4l<(DR`3|x0)Lj)Btfl^_BUCwugPPiII@xa5g&i5hMcYb779kJ zX(tH=G;b?4S1~siuGBh82OLL!5Qod%E(-?3Q8)>2`*4!?VRes!I=1>OqR-cG=*j#U zYR5a8;#qY;uVq1Rq8a?T)vuWo`pN42`YM$gs2m9eBExXN)1-kSr3J{r@3SW@&#XLG;VG;0D9}bc%9%%1Ai@M!Hn$D={Oq#AVoSBCCB(bP{<`=DP8Nx4B#RZO!xo^HG6g%W!jOA%$p4+Fftu5HkO+;&ZsG$oE;5d@r%toTTJaZuE z^2`lWZM<6M@(mnYR23$qz^1ajH&6e9 z?2u}XGr~3OrTzE~9Z}IIEfYNtIorsK{ztaxMr5NkeWOyim(Fwq9)A%%9o~%sjVbTg zu$3{&`5)9Rw~3;1E^jW+bWF)RLK~eA zGzdbqxBTPdCweE_=_UyJx4;;;!T!B9^S=!g^|mvGi-TD%>R;EcB%m(U8O2}2*XPE9 zf*Iy4`V^=SHd8J}44MDnlRrVwt`b(3b%UfzUI|_YlUzdhSvn3SAeGf-mzAyT+2gn} zo09_6FuYafrgEHdG`Dj{N(Q^`Ijq#@oO;Vp!kAez_$SEq9!(*$viikW&za$IXoEk~ z1dc_2p!e|@U5a ze==cNg271{ERNWQ$t3|0*p_>YVxmLE*=`c;R>3y(cBXqfykWW^i)IgXT8D_4no}XD zhC!f{8OQwn)SONexDm!tW-Y*{7S&XYSeo2#rrBuOU}fAm0)jb_`xNbAmJ!^U zdPmp}iFVX`z91Ap7;mUSkdPi-YMPhuT|@SXOwEl*p2{UajYpn(8F`4-a0Pd};mOt2`_XRr zmI|Jo(andL_G{Nue~Dg}tMwi+RsKZl^(}omeEjy&uJfOxK@@oERpeb=4ZZG*uJ_pY zx-Yw4pl=4D*ZtO9`ok}-yiwqn?Y_nDD0n;wuCBh^(Wif*Pj~dMd`|B?^Eko z|HGP|?EK+dKcHccMvr$Wj&8g{)x)>pXvd!fk9WPt0hLB;>aS=7!ouA$%XazgZnE9Y zw!6i4x?`4b2jR7DUk{CLXr_qPr9Y2thXVw`h=y-ZMsQ+O-$$LQ^ckpauXcQo?z+mkQz8e5PB52@~QNj=yZCOaUl3pH)4nl zTfY-Y6qWdAbV_qN=+M-iPSh{a{j29;Wn6zU5JhnP{nOX4t8d{yYTy6(^oJMq*F$In zBZilOE-5zvu0RnDRQ&>FYB2v8eyOPc>6opJVFR!0jaE|`D+Bc{9Q2;I0ph&cz^|G;ZE zrT3pa>eHiIpQ@da9YY<_7n12Fu~EmJ%)ZrDOu~jTR$bDG+=y^|tHndqjo&|KYG`4P zIQU`og(QbK%D>PF8k_IFu&EpCi}S3E(tYri@8x#o2Ay++CUue++o<1EN_|ch9IB9p znZ(WM&Z1@aOx1yaF~%2OciHs>5O{>Or!u}xHP>!T51d@PeX~m{y_A6GEf4*r+vjd; ziSC&xQ(6;r)^)|q5@8731eP(PcFM-oz#3XhsXOmLG+e$PslfwL|H9aUld9BR=4t|)HK z4t&-&2INC!HFq`ErKFx@dF5`$tcm=bi~QAYK48sf65}pvX#Fa$d8)vKlz`EXnJaPB z5kcCGpnS2~I2|(zKVOyA+Hj3hPA>vv9xMvsO5FKZ6HEg~<7~m+9Eh>*jur=Xs@r0b zL8)*82El&uBwsyRF_zcS#$FDp3unxeUB+(^*P9EGPa&zYL48N~g@{=lKQqxQ%TW7e z7u;(IW%eQZG)H}Ape8TzpdGe|AMGIjLi zQOh*Z983@>$O#vTimS0P6${-sk{}z55YrM2pgaz#{G&lFDjh7_KXgK-UVaHAHsO3F9?%K!e{9UoU+vr27^6h^fD#Y=%wYEFFXBMe#D~Z{ z_xU*zd~B!Qz>hgrV5w||=u*1b<+catEH2U6^B{ck*f$*ncZMuV`j+@KFeoU`-~RiE z`usme^#UPoSw>uGac}s_7U~5X;+Gx|RLkq|O(g*adp>_T3b-v?SwmzH3}20cpB&?< z6yn~5)%kK)##{=JU|owt)8ND!+HtJj#7;co7DEyoJCb1dX3FAO)7NsPz7#wxP*cOi zmBivzSZK3JsbP7Y0ywUq+s~}BlGrIZfJB?mrO`@gaEnki9zCGSBa~JS+%m{#`_ON6 zv<9`UGf}2gK4cukU9$M8NfdsgEnQ5NOn7_)D!m%Ui-iOMr$-Xu1PAR3g0}oOiHUjc zBx!0*tYJ9lmc-7IuL(d?LopRwUi-Mz=tr8$qDQfl{9K2mz!G#KFH8nL=k-ziB%(#3 z-!wGu2jh;teM`3~+q>yK!Vz}P4?qPs>IT_ zqL$C~*_=dUm-9*bz#1;+!^S98LzleUEi-RxeT6x_Pa+)tJnH=4jNi#=ilD_|b0;VL z&HDn(ER7>2`1c@Z^FqGlUU{KV?a0YeJK0#N-Dc(^mROP+mg^|TjuyFcNG#mCYa>2X zuigLq7WD5j2SnB|AuYLI;oPv5BbZ}XR8mDbhnaV`(Edqzb|e*qI7v&wm3IFi1FMjg z1~@c;VXR_>-7!*bTL^FZ)BDBG+Q-kYH608b{f3RH!U0cg^5v$1U>V0SPN`>=iZ_D^#40}~ps7E0sTk7oC z-7TqxLFg+<-rX2+zb0A|pwppm>||Ve|I_1>yp+BKB4J7#2@@fpnp|pc5t5qbahA8H z*L~ASX#zjN53Q-*N<#1;d19A`ySvq0^-v=oHe?uvuMdpwHEmQ0xgvXyhDqid|7K;p zNBLptN(!np=V!P;0s$gF-Y?e~KQlMz2!c(uK~=1!Bb-%bp|)H6^xh#x4EoSdUne)~X~^x|xg zc9SsWlEmY+l?AOMav_BNOZr(idJ@ES;RBK0inzXqD>(my3TCYXD!;e=?Vp@vuwQAf zX7bt9bi3$KYb|?(b^I?%R~dK){te7V&VtbI92B&|-1K1G2fqp*6x@ErCO+qN5mep5 zKzb*695&0lb(%942V>>jI;nBWhbNUHeQP!&A}jhcsZi3Kf7-b%q6wNsWW%Wy0kI>5 znD|Uerv|YqH?9mC_ZLBK0}dC6N?laQ_GoI$jUOln$+EUz%}OfGK!?u2aD04yk#YQ8 zcJ8?z5tlS(dtKXYJXQS6K+QF%_W_Rx&k;I1GzAlOB_7huk0dVkHOy8!H>zSm*Q(Gt z@83jo9J2D6xN2ApNjl<$pDc}g)_@o%YoAa?S-0`Xd9P# zMUYgc;l)wynmXm$PI3p4Y_f9qpmy~VC!LAd@^Vm?RRl$kj*&gPmbH`0su`lOd&44w z!NRQTeK9)n=$tNEyd((gMzbz{N<-3lWX(XUimcrZLoRel<*^UOB5>?|-rIQf+Rk9! zT+D^ITaLAz!78}7_CPn(LL>hw58q0F5@*HsoKN@Hil<^6*}#d8Ia2wIA-4m_4L8N7 zPfX!!|20VZ)OU`(5}4Sr3q|7!6g^<6z_b(uKW4!)&yIQ=BF5ov}&tTLZb2 zKo0$8s4GX5N+RgpE(U>}Szq1qx{~qSI;ItROxHA~QYetR_7jO~KN0MG1f4Wo=wdsK z9G>)68Sjlvl-xRz0&SU!l!zxVxwYzUNq(m!U^ktMN|G8?w8#1x9TT3UJzK49-78HB zL=~cd9&b6zowfT=Wg=2*2BFFjajwzA9$H4GB-nd6HlG2A5#2wIvjyeF4ufkZ*i`uT+orVB5J zG96OJ>R%Af!!fjL6Zj$CPYjWl3z1iqCQtS(M{6S|SGpHS?UB|@u6P&+Cy_>$walEv z62~@kW^S(_oor!$Yx9|0n-DMvT;|b79@~320#|=V1!n=)2H!~?#imUJ)rp;utWMaY zWNbYp%oLR|TqGX92~uLB^6SXL60+Z*n9!ZXxO|RmL9^wCnm8c&hRv1(M~0&+`_&eY zf%}^1ICrMIp|Kvg$R!TH04S`fG-(Y*UM(s@Dxs*;8lDC1Fd0nr42YISpt*iV5Y{Dn z;@-GS8<1oLggt02gpMumb%`9ig6=@rk5z4j$B2^06Q`Gza~!uxRt7E0TIPZ@@ne7~ z5R=$Ek9*gAk`JKb4fS${y7cj}zHqHxbWH609S(i7!XaEJYWWoFiq}fV_*R4!+?F2~=4yL7zKlW+uWoFE&o^>&V8!%X-;XOaIkIPz8UWt>mcn?j9#?UIj|?f&`jHK8N_{Ul zL!XZ?<|*MF`68W<66eOKXa%84(3^TevZ6TbY2nl4YV4J+s*UF;Iqa~E`;3f zh1P?@SfDozspDD$u{p1~o!B)_*Azc-%5jpccky~#q_cb%ZwlH~@m*FdcS%<4(s=PM z-s}*`jQ`Av&31<%^u=tm8yAx_W{D6k@7DQlyj;=>?nGU-n@-ltyVY(UuWxqq94{8} zyWR3`3#TYzoFgE;#mh zrxTSdhy%IWbcyd+MyD74pd$`e>s`8>?eck&XS?ZoSIj3mc{5ED_a)vD5{c)54@a+X z)D4DjFGr7qtJBNVNdXZFRi@ui-M4hRMMjcSdbg&V-SM9WSMR%hdbifXm)hT-q+!Z!ej_W$Wr{b9y<_u1m=~Va$xqZpRuuxTz)Y zqf;&By4pbYG<+M4b`f10MQ@KA`VgI7o%+}DyLgwU^Ei;+;mt>$&BqrV2(E_Do!rwWq-Obq z_PcyFF7jDM?6Q<8@4#pg6iJ~i4k{ij(AiQwr>j7;V$NW0r%pfaU{Kb}jjsyUlsYmiYhts=pI&d3mVe$Y4K zj6qs1QV=F)C^1JO#hVreq}K2LVNgh$ppXpWN?x^4nz~z58>`7Mc%cdEn}Jko@%FLj zIlX~yR*PPLDYjD`Yt|t;sXiJj_&grf;{M%O@})bS(pxHuDj1UWz%-29=P)0xGW2zRt^U2Aa?hz;?G(Y z>@NDc-fU;b<4hZe%g4&dB(4RLF~ZYNV+d^%FBg4e3Pk~!QL z!lV{x-SXs}WaDtt2kEa)a%a`Cm2$LX8P)X5wAh;TrJZEql=n=q0pQ` z!xv}-{b6YgoGgjBdvs1T?V~4`T9a528QUGhv-RKK2+p)cF`|8*X@%VwO2|~>?i&3U zKS;|tr(dg>twePLXMG2C1XCye1~D>n5vFnKhrpTXknr=!8i6xIoj|{WrDn>+J+mvc z4jZimVT)>uWg@KClFV@ap?n8AenJfu8?}@pSS<+%4!%!>G`{MH(>H!Hp}%xqb2{{7v07V-;moc8|m;*F;u z*^*?PA`78Cz4^FEL!xsgvt<&`aOJTP+{S})n)6kPCEQ|pgql4(lEN?E#WP>K3~&mc z7S{nFyQ;fq@=uai=x0X7CCKy5GW6uiGmH=(=}S+!WOQhWd3pMjDR@KiY8Zm_ zqH;9-v2vkwDL*sHWT1D1XEi$J!o{$9y&H0fzQkwNP6!27y263U(zoCn1krb+NKc4N zErl2?tn2}uc8HM}6A>|SIR;lL(WF?* z{MdXb_1nR*w7+4h%R(mseYf;J=z2t24PX<^?Xa8*1M-t^T&k$IyxYpPq8Bb6m_+oz zA-5TGyNBRn$sOXfRM1D%Upy1haKQ0Us*H5p;G#Q~Q4xxLK@&0o8I!z(`Cg9SiJT9x zOvwIb9God*S1W!X2B>0ZTvUD%hnG_Aq}?5fyi;Fc>h4ayb+xU@>Uh9!O$b zi`}RYKNcaHH()k^ppvI*3k3@^#MYQ1Ie;cAsd|GX%58t?bmUY?CUiC!E?wCaex`Tx zgf=b$;KT7Y(8lbLQx%K5++h}`PJ|uq)LIA43dAlL*2699DOF3Sf`P?omup5O~f9vx-pDy>swSc&(!z7|nwI)G48rY?EkF zi-&r0G6@{2W-*+UIg6wX3!W_MZ(g6f@EPWQr)I(435UKlaonvYdkYiP8K-cVMH@+fQ(G|uUxHwqt+B0b4QD>5HdX5& z`3u@J``|#pl}fH`qQD4%{r0lHsaPd{G3e&D;^n~79_^=* z_|PQAU>C!*F8S;~Fc&g~?tEyP6o<$y_I?fp_CG&BnIpY zUFIgLC3n;UubhzY#LntOW;MZ?4C&8m%Q6XMg{5-?c@a~j$S7d@CSbu%>RjGz=V1ls{+<)~Zf$;e)1 z8{?dYM3ZioCo2miBIPb-H;@X%L*7&MwiG$Rsh<+FGtYzJ(bee)n(!Vp;iVAi)E5_& z2MWL~K1P7o-eZ`DK-v93>G`I}gQJ#LaT$(<9ox1AbB`Bi$H(;5@>4OJ=~f0u>vy54 zVdvIiV-DXZVBv^zPUrvt|D|--=m8?%cxMRd0~xfQEq~Ixqw-HD(8s9+M10)SmB2}N zXzxax9Hgh~qj}X=;OJyB2Z{FEp^~AwMkT#XJdW1|5&(mTllr2BwXumCM%i3St`#d| zf!#n14DCW!oD^s7VBO}ZJ!yMa|(@{Lr zu!@~rDkb*@hQC$GE0uhwlD|f$@oY7Xul(WLVD$KkZ6LmnPM37B7Tb@JJcgOa53sD* zE?2vCF_~_6$#T10&UdqXyk+x>AMttt;-0C7|F^Ph?{3>h_Fu*3W_`$rdN|46vzIQ* zlcbMio5b0~*`{^0ITS?6v?)^+rC5%o?|$bu1ArhUr@enzCP5GY0n8Kg@RP%?I?oV# zk&Q%7>G3RGO!I5Hc^kI_>;8cl&b^1h17pYW@BLMh!}&TmPrG0LKJ3`K?^<=wyPaVW z>sL&r_Z(pREWVo?Ur;X{Rb@e#gZ6n|<)gfy4~{%>H}Vj6fVe#>7!{?uB585-A-*G& zLZZfdOwRQ*BB_vg(qA)7Nc3bdpgRAF&%Lv9PQAWEDgA%O6Ga!VXsWznIQo^U{L0&# z3Qy_pb@`QkXYg|yeH61#$f;WPzwI3+P)FN1!3c0Ilv}0CTj-~k*eahwwxAo zCqW;4E~|_3X3rVq=z;XdT1%R=?EX6Y(oOC)?KQy#Pwba9l*Zs;oC4&V`M5tBg7 zU*WjqcNr6`)I~DJ2l~+5$}PUdhXSc7=~flz35@PEXhe6!7VNqT*8yf;z#dXp_L{lf zyu>^9A_aOBQp0ap;E7=3SDfnB4;z~cj%CE7ys&p=U9DUY{9d!0$W1;b^oXmk>|xAT zWjW(OZPXFMvCtQIlcG$QUgYSLs_G|{C7!wRB9FI<+|Vw-%}!Qk%@($#;m57}e{xJ; zG3JtKIB~UYU}a`m!8BGuNYZsrRLmQcN6liB-?)!QzxkJ8&Z)%sfuwg-L+~>8HXoj} za=smq#NpB65zC89;x(DYg9iQ>hMx>66B2{e5dJILRy2g$wR5sCiAV2*h>in6*8T)y z+i~!4LgcbTOm8K#=ht8ct+SDD13fO$3UTXJ^3AI^=^Ni>syb;tJ>&*u*U{&D&P*@x^>5(LPB(iIMr!Zwy^WWd_9T=l;G)3wse`WIF# zynlrTY?_PcRwG%27kXkRJVoVVmKHQc3QXzfgH-vz{?FshCgY_gxz$;m2|od1p$W|v zx$>t$GTm$j5qv3VQ!&!8Rf7U{2Tf2oX3QkJ%eW@B z(tL&^+3ALijCkfp{}yQwYO>L(hTC9NFDQ^vz%Wx>h&p74_Xvq8g zYX*vw&AfvQJl}dHT=yO!AX(kE#vo#1KbkCMa@cvP`7-x$v2MdY@!B$uZ(}1Sg1~u}G zn8KZDabk46l8^UC?d_PfmS4LF=>2IDcJfJD(iw=*|R zY;M8boH~$vn`1pR1Y|N-o_C^p;8o&daqJYU z8zQ$ee^P5+f8ldLjj2>y2N2xt6#2%ZG0-W%4o&ZRzirJJ;?XZM(UTx)^q3JH;H;b( zuV>TJ&@ApED{=@vuUW`p=D)env--g|7Ta#n1tO41C!G0m3Y0L;MnMl|s!}RRqG>Q=sqVsK$ z=U4l9^O)c*tzF6`nYUBW6Jf2PwYeXQm?Gh#QPw!}F)R3j+dSo}6(hvTAZCFpy)v6k z8yyJ;a*fc*t#Pt|*@*9A-D&rJ5u1+K6H!@JfX_S~L-&nK!8MV`AGqf*(=Jrn!BUCl zuwE_aaMQ#YcYG_AllMIWb6^=AiDLDHZJZ`(`#KT~T~j1Ex%F(S3%$`z`%M;?-*E#Py18 zJQ2}&yU*3%ZRnaq1s{rys}7w4w{J0))`1b#g)FMIDdv!IR6cde<%EDbYz*5WEk^E! zVTdaxvw0(D5dejePfLm2gR!&$s{Rq^V2Wg;kgja?}pO&l+wXfYAj~p8xHAcXB`YPTQm!Y}} zRT209) z!=F#1^Z$M~moSLsVeUK=gHA9_#B`A_h|T#+FGJZq*LpB z>LI0C#7W=af=1uhPyQBBGgK1!lC5hK&^s&95fUFa4%HXvHPsFOuH$p>Vc#2e=$|)a zn^bj0>^?#&n$R`30m^pVrcy+`yyBXObxl?D-Bw-3YAK2iDr!dY#o<9{2eV^RwKv`f zv281BBD~tKzGF3pV_4(b47vu7qNqncZhH)JP^;SV??Lr(-et4%8p|wX%5<{)vX0#W zR6;ZG6^45ZNe8anludXhNN5g`1!{#+y>7f>DwO5pbsC42d=&}I zb|EKioiGjUJ%jgsdU?@V!NkU%7H>l;{MY-_H}{7DaNfGCN)Vw?BlFe#9uYB72*lq+ z`mmG2*;I=*5S%}g7~83BmmfsDe+ld6)hjShkdFaTq6trF6k3(KMv>tZ216 zE5ZXXU%2wbm4PDw_XW(@wNeV^pkrQ$Ic&Cp65R+KeT`WwAZ`B51YCGV%y0!^ zhzoC|u(i4Ek>;(o{>+61x(cgs8Lq;c@HXZ&Bwskcp3(QmkD%0rt;6DscxxijFwU69 z!~w-QA2zRhh-i3Ah-XPC`};xi1P5#cwyRh@_lt0ie8=o%@_qbh0D11a#{&}K;B@kM z@FXaD`Q&vu<}6h7)=j(yB)!w~{(`;keeYFTExV=~A*dS`Dq&V-3W-;V>C^9d|HoxI zwXbD#Bh^7rco>O)3n6ehGhJ|4K!Qc0s6WtGtOA;!E0QGXE5nMefL_8ST}Zf4s=d^9 zYRmYR3E?eruTiU9!3$HI?)zyx2)1i(XH^lHn@dh>=c~=;7Mh*#Dk(up%HoT7PRzpd zD!dKX!yv)~&@xlLrt&4hxoPP+tfdw~h{N{FqoZr+Vy08f0h@Gp{Hw&%xZjIBrUx`J z)J#FWRuP)|1IAUE(*c!HQ+}&0Ls&e1o9cACa~;wdnt8D$X}kfNga{eV*k`ji)}4A z#v_p%)ix{%%P#V9_L^|c**(eNzHByr(VOWSacbBh5+oLT-SkuBQ@er9`?SZEV3d1H zjHG#Wds4z2W0up%)(lYsCxlYKz)^uj5nlHuX( zO|V8HYc0TAo#Qt|c0Qfh2|0o0Akjw=xHhWk>8dJZ`!3|E57sA_gd>FS!kgHg@{cCu12Oi-uDC!% zeUo(bP?f^BNma(U2Ay^~q6)nSsS?Yt&yd{~gFEx_vKk$tFMpUWuu~F}<7uvFBK22l z(>=L^0X)}3!-beFa%vCR$X{a^bl%WcJe6woCaaKf<#X(Hz6K|Q%3T_y4OaszNZ`LqKX$bTEQ|jIFKn|skHR-<33H5usZ?XU)e8;_wydfmhWfMKGt{pHU+Nu7OS#8gSVU8S9Xmil&y!m99 z-20^CHwz9Wi0Kc$JTiz8o^~xj}3vLfxM2_s)oX$01{9`fr8x<882}?)-xL zoW=m#8wYF;r@^h?Jr2D$<$-0QJ&tL0IZe)K93dc`4g_3G7pchj;9hj2(W}i26e~2fpSzDtn_*q&>?Ng9sY_ z;e+JSbJ4Z&1~huN)-$|ZEg&HRjj3LF&5C?nFwJ5$1-*McZR92qyHB_kD~GmiHhsLE zjW>pF_O$}hsRR$5Z}r078{=kx7g&rmW4u5!A5w=?|IuJT@SxQYh@a4O|Dq*nhB9pl zbu_aa%9%$*65O#ki3s_68LEHL)I4Qs_fby7+?=c?=S|8UFfRl3l8B2m0-t#GOFTGf z9mK6K7T;=7+XP5FCQ-xE@LqwcsnIofX02Ha-M-60b)a?_bKo6u&&0@f#g6xh`#ZPCXm#N=xbSez7Pkdx-f?u zkyAjoG$f-SfTY=0E9@)t>sL5IV*>>pX6N3=u4ZkC+h>n-HXYno9(x~Ozj{Fusea%D zoZ-P|LB7i=UxaXn3Y`27x$uChAqfe^+ib)@bld`Stj&e-2Hj1+s@S zhXTm=fi~E@a!xQs@GJr%0nAi*czi+K8nIDNFr}K|6gC=Gp`yhgek8Xk%p(n!!Ci*bnZ%Ws>_$5Au?ECvA{Mjk0x!KSU$60{!)k+Ya`WJK%ScP~TgnL(w07|0awGk%_`Pvxs zO{h*o^;XW&#ph!K_X?QcWPG09cI-(a?XR;5jFXS}_tefn>RsHYjlIg)WC)GCkI&U_ zBw3urcQ~{;zt5Ui%vHqy_a@8ac}T49zeTw;k|;20MM#IZs}9V*2@R2qMhjx2ymVmC z56C!wZ0*{$@qNllBWrpOCmY-x9bJG)6f@C`ZEqyM0-^EE=J;e>k_>=TkKR8#c$W9` z(3n))+83R%i6)j)vwm&{+6POBA`)i1-OFH$q;B~V*^jX|7t5F+A2AGL_#-429qX5% zB4x8BZ-+=C^7J~NF?SbRN}_%Z@0OUX9i4JJgp)pA6!AUc19f}wYjWFhlrWq3wiO{u z%tFqfi{@W8C*Uiaer_aj5cdSX4(>*YdT%SjllZ*}|BRXbBk&}OMynyzV;PmmXXkH!oS~~RQp^X3^ev)+i%l-7P{@lcQ!0? z%jVV`23V_CjQ2d1buqq0NUMtS+K{!rGj+us95Aho+ch5Ir*Mq&2oodf2fG!p6F@SE zMg;ebF54F5Z1b_^Ni|iHof3`&&={fL7^34zq~FlPZMY5TM?vl6*!To^q}_BMK^I*FT9SdwwP9lGxo%9dX zbH^52TThBf&B=~wP16|0`k6VY4~(}Zyz^RGhjH82GJ^)_8?Kfq6B6QiANV6qBqZJ2 zq$W0t0kLUk<(>dEdlD#(eh+vnS|>{4YP7Sagy^-sTA$33__4B}C(rJQbt7&IKO$_R zwRGfwSk*kskXv1GRI9j!Z%48ERVJXe0@~u(Z$eBeXMkOnbHpgxT1!WyJz(yI&pe#C zhf_Uu{Lt5xNY;n1Ww{&wPe#21`Rtid&QCN)EqCFFR?rS%Z(u|*Z!-twk`3WdN3YUD zBB8*WtUXR%|BbMTNL3c6hx+I)?RYh>=JAw58NH|wJd5xmf=ftnKXw(E5{WxH!Y>c} z=qU4X=xZ~=62BXqAY8_wz{oh0$TBjV+g-u9nUNZb=^KhU#a!xj#>*lJ3Hy0kM$*EOBW9l*CQY zGHxIBsi22c1ikZML~;1pd&t*4R7x>H1s|qVU)RrNUDyssj_2QP37B@vE>kA zrZVMZLR8A&y!xSarcLU?sJ_IO6Do!8tPrl@7S6I5*9;3`Ug=Uc8`D5~uKxFW!`LwJa>=SHoh&E_2rP`ws#4z{Lm>Y*9y#b;=iu8kN08U7T)^C=GB zUS1PXf>zoNUmDAGd0<*M1@ZCY(Dvo?M+RM0^fr9br)`a>t!vALx`w{JH1KUNo z&4_P|_+9N-va~}JHL7$uTSPN=Wnx*& zS>09B%~=kWjp?HN^I^omLDpz=SBV`0iu4$+f{3V3(bh9LiA9NgT#?+Y@zE7Tu4m=y z8ZKSWi=67dBV5^zNp%_DQ_*Ly+;NKVbR4adpAfqWjN{x4i1eDL;9Bd)a);1T8F8r7 z>^J!mm_k_IH_Y|JkL`zeJLHMI?9p%MqC1fZzGScAPTrkvgXogMLhpdPdb;-Ju#;-& zRoOdqQwIdGv98LjdQ%cms$wus_s>VTExLzQi zI+9ORTb6WoKE)-3wkhN3=mjTZ2_ixCLwU7tq4kA~y+u}}oc&x!cINoiw7i*~4L@K; zO1I2rkS3S{3fOCtBNB2?HpC6BIlF`BYdJEmvp0$?7oHQO43V4?zybiFAE>h-0P}H>HC4JskF_(2GyvGX3 zYBpIqb;R49|8>Qcy)z3!Zw2~>la5g`>hX=~>N1Ejp0G=ix*Yk$Mh9xT*&dppt4{cm z)Z!2w`bie(tCz%%N#; zvcsQee;)IxK2ZZ@NF`Re8~kRPh(wh@WQwMBdhiz6I?sktieMy2UTZ$VA18AHaEAc+ zNH{xACXrKq239NJx8n&U@@yxvl*A)(r%%T=vcV*H14TNdM0>94bg0@Nnq#MWoz$2m zL@I>hlp_OEvGYFL^6<=N?#$NH)*dQ^Wve$q#7Ltz0pg`6zA*MAP4fRl!x{B1&`>+1 z-Lq(}eUTgaO44M)8BN{4N}f=1`o>|@$TIQ235W1*Gb7Ba&(gK8cnh=L3@sVn4=0T~ zQ$aw$RA}DSozr?}Iyo7DO8761h$_lBQ?MmOKTR^Cqf@&FILeJAG9-|D5YJ7}PT_(; zxAa_jI66dGFP)9uYyG+@@;&irh4NxgV30Zb^lx~6gOmRQP)h>@6aWGM2mmBccR@zV zjlj|b005y6000mG8~{{rZ)|ffV{dJ3Z*DGdb1@*I7yu}s6aWAK000000000000000 z00000008Y*ZBN@s5dI7j|6ye!#fI8IrAie&icV>0d!m3y(0wRXwXr9O!QOSf>p;Zi zzjwyFPVBtUYt?UeQ50>~Gtay~yB-!I)Ug!oJ!ro(hVWh$soNUH33%*jXPe=t73R}S z%d1>Y;s|nf!Y<&!zZ~2_sF~B7Dh+ASgRsbBJq4W#pFwJcMSSJ;X~YlxK5 zP1b_iS_Sm$I$sw^!JTq!s%=_At}(qeySuC@Z;CIZ#s(-vv|Rc*SgoTrdtP=L^@{iV zOfH+_dQ2JG=tNLuUb#o!3Pc~$tOoO!jD=sWTOcOK{qCnL)<~#MGfHYbezyk++VV{w zuJzB)Oe?JPh8LWJ7?A{K>ToGbq|U}%VQLsW#!3@>N(H3F+zd-%0d+m>Sf^SV;t%Ea#*8C3g5D2|7v3^&C zl9+_u^v_-|>==SwRh}#UEBHo(1JYVEjptHk7-KGr(b%*a7ZK(qOE`vx6J`4kgJKUc z8pS9VTMMKg`+6qxF0xm33OupaSLRoSo~H$5@PwU1lqOM|gv(Z!ZC96V+qP}n?y|o! zx@_CFZQC}c|IL5SY-Sd@$whAR=6mzph$o_jKYHf(pQ;9`BorRkQkTQ)j6kM-QmeQ) z_$JMb8ca!xU)4mS$}`3)_p-;089gEyKMRNcF<-HO)f>G1eY60sPLpbww8~1RWqLRY z&l_cMUF?NKb#>myNz|E~+?nkXgawci%{JX--$8cZ#XPnFH)Rzu#X`{e zNmH%s9bX!t0=hAn;Nq(2@E0F2+aV!l`W66dU93nZ_XaJ^d_{w0628&je^k$X9A1Yu zP3-&d`KN`oMfH$dbXbr0Wl)3FcE>&`)8ncyToN(J@g=zBZ;9j3h7)-eQsIi(i9`(? z*l*6;y-1W5hI77riWIUHUf%AQXM4~amxu8OxD8rJm4qQ|6iObdq$O%o0bjm%p`-q2 zONqo*NFhO5<`n)yGz~0KCbXGrB_^4@b37qt@yv;)3fZ;ch4{_}g9`*P?TmAgN)a5i zis|eaNV|vCzF6DIL%NRm%9cYe-dCI*K;I7`TDNe41T&ZOqLG@}4)Fh;jbBg+CSo8! zKrG-uK)?Pw8!hdeT?}n({=eZEqta)$!2s8VbIXqufe5XJGs-G}D7;|+Ut3+;a?Jo2 zYBd+ZB^;21Yxp)j3iD@#QLuUavwkE9^7g=*oHAt#ImbCkyctNuq189PXW1;^z@ z3s<2P7>0Nv6wQx1CfmHC)6y_G!1UaQ;Z---9=^DE(f&T5Oh9lK)TdtyoO!Dkp3+`S z7k?zA|FfoEM+|!g!rKBUrZ!B*cDe=b$NV1t^-7TtNkf}~;T1lryDeXVTde;F5ANN- zJAtsWrB{6mT@?BSo<&7_)uyg2M0==dHoilPIs;#gz@_O{vW?@tWg*eQQ1!?|Oe??Z z`rYjeF9el%)WS8IZn67cB0IcW)+)y%opPH)qz|Fkwu}3EG z@`K=Ze>CaKtfTPJ?B&O|DBh)^@!OJ`F%XHz;W=l^s2_O*`N7)?2S0eV9eAqm)kZ8PT?vtvt_ z4T!zE^l;~K+sx)}bFb4-Fe($xBsS%1*Va7j*?A~8x+5wVQL=K?##qIXmo6XiT=L9i zm{vs%O^;-D-5YUC{AlC)c}x{5x`=q`>G=#j;eFtLdztaOnTqlNgiHE-XZ>7z?)W^! zyx41cpnP~Hl=B1pA9rVloX$!v`27^lcqCJE2)zB8W6h&jB9e$7{93!eceC~T=V!W9 ze5q6b`kx!@@9HTy|L7Bp z@sEoUf-auBYxF%ELH~H$PKJlw?pD02PR|CJBhE^|8QzXOf0?EncloCD@wR!>_wjNZ z%u&@R!;}FA|A_JA01gn8Z6rGj#v@(9=t6}TpAVTPk;E4i-#rNHOB573kcKSU6>uKt zXw{MRwr(1Ir@k(sP_>F)<#evThq{z!H2wRBXWO^42AR~g$1jd$C$ush&j4GlPW$X4 zJanqdgyHnf?}gN!uiLxHkKuO&!bCPo9u=ZH!#<8P}HW80x* zAWNu^vjvtlg$3PE*la^q+3Ov$z(_6uvKH?uwX%#~=^=Ha$~Q+tHC+#t$u*jFT4a{7 zLKwMYldvZ)pPC8(I(%t<#AI(@UPp*QkHNwulek}3z}ig8<3;u=0;LQKh!^CSW_tXN zy4u_Czmqq;U3S%4SHOmI6G@f)Dn-M(nQmIXhHKI+fnE~)2T=3k;8*@UK;teVc6w$I z=Gzb8@XOD`e!e2}ci;LAW1#7!kZq1U*gI5hZbI9^R`w`ac7JaNyN}EOEdVL)!f5no z()6Pd@~OK>Ao|CAG!1Bf6Q(`@zOhYjnA*S@`V;wV6oGh~X>5eZl457ju25 zy`sXT?V)`zyEV|xsDW3f9wYNvk^UXUfO^>v0Hpy14|J-%VX-jGsefiF@7ye zCL>X~LHks7EQ)e3Fi4{#_134H; z-0%=ikx9WBpe&-t+Xz1C0hMXwwhPEimngwEv43tb6AOFOfFLl%eum@?cmqCcJu#l_ z0zd3}i;vYyK{>A1sm|LO0jB(mNP+o^nYU(yI?e^YDX{Ig z-JP|n+u}#X>x&A&Ey18GvdQA1uhf486+;rm(46atf;OFmy)Cx#7N7NZ@jw~f2Ur>+9+X^iA z1YsQ$dNPY*f3Z?Ktjr%i=VPA;NEh@kJeq3E45Aav#?g1KR5qJ?l)rt2@Qpihq~-Rn9Xt0blkd3tIn34L z=5+^H!C)^>!uGL(u=gk>quz0i^kvSxN4VXXf^*l?tgR{qvKvi`)s$>$jlq z;YPqV)GZm;D|*}%PN#?GURO!WV%DPGF5BZTGDGTlqY0V?kBfpot`F^|;g!EL2)X!> zU_8ii{1D1RPEAi-T3Q(URKeyy+8BhQ0)1tTq*mh_qdSm7(DPK%hy;#9Rxm|i37ky+ zf>;U8?_4-t`IDz;dcciQ>gTP;Z8Ny?D_;uLd(gWelS=0q&bD1lM$ab3rL7zG6k33e z6>n^x+-7dC_?FD$0CGJ@id~V2+#?+4Eykyka6}7byfAsi46S4kFpv&=<*DskiS{Fx zga$#db7Ab8bb1<|I2UJw2~nK~%qmjk?S3m{Np4;=VG1-RQ^t8<*ULN9#k=?*N9Xlp z19qkfI-e${R_Y`Mx$0ceSO%d!{|-3!Mtv`?Rzt&D@945^q?)-%z`!PJWiQDj@^^=B z%?sUKj4-6-Yl8)VxTqCkDXq8tto7X9zBo)Sc?Ao5aI?WFxhhiUDl=Hzq?)l1r?|CPv3ac37#h}6Hs=5zd{*P^A0IVcTJICaLDo8Dc+zvj*L-4%dBG2*38KZE#&~nHNDf6e zVesGoh9Rbp!QmTwn2*axL@pGzYTA_OfWoyceY9cjG*fjiJ<7S*^>-Q&}nLdH65mV*&8lwZfMoCTc{X_pmiJIJj z)D81P_=g0YR?hHh`_P67OYhmbc6`7-Cch|^9|0tOWE|*!Fe^5-8!G>jv^o|q{N|t? ziN|S2PoIn)IGp?)UgY zwa=@Yw?n&Z=df(l3y?P>@*F!gbobWZ>}(P^!F=p*C7=!ml2TuJrZcP-MFuBGA*lSI z0P2HDz90#7N^l`H92==RIG$mW0@o-|pPH(Q3AbjF!3|-S%AA$hH%Cw(CRoKnetdKk zkd?#Wi295NUk!M~L@voXUC7nc$khPQid-G6AIMt( zivy(kj|foxfj%`pHp3j%HKoLc;a`)bhVx0ReDJ=10vMmig3@@yp#|?#ou_5z-XhF@ zKH``~KC!%#kFLWHCeGJ}A+KjlU@w*5quT1!#aOhXC&T=`Uk)w``7xSLx`!+#HX`it zZ4SW4q7B2wQTQ#NbF(SwnsK3H22s|RLk}~|u`@3L-{!0`7al3`edhRn+^~TM+I(0+ z&4{Ldke#qXmUDpSbIT=7tC z?oT-V-T!DGD|MJU`G(;o62-y zDzU0t79*1SWjLc-&$uIfBP_b=fIag0_S~g+E^=$e2_R+|ox;*~$^R%>UB@|&Wex8$*NTxE#`YbE2Vm%sK}wAq-G&2H2> z<_Bqv2)3T=usgWJ_QAG~Jy8)9mifymqkB*dn0+07j&5@ndKZiX+KPK=_xYAS%uFfeq4+a_Q@u_Md7>hLRuc3B_KNb`lwG{T zSzSe>uK}rV?=`?{}o7JxBo z>(kayZB{4cShrm7wG+I0H*1Uh&@C41825@9!uciSyd* z6Ks3d$8GX6q+Ne-r#6zZFf@zi$}iJ3Yf}1J`niNJg94WG2bzBaNSP0|BbHCZ&dwWU zZqQW#lNVY!Je6;*wOEJYTb4^?C}+OYbDQ4PDK}mqFz&#PeFnM>xQBl|pngAv=p**3 zezwz^TCFrCvarM4O;1#P)$>U&GmIQLRo*dB+i+H5-(?eoR|NSewUzzLPPkZN@+7|E zD)q@VjmUeK{6RSQEKeaaI~<#FCP2J}vO>OaDY^a*+SyDNQH12f1pBr8wd#gnAo-!4 zHOP}bRj@dWi!+4eEyV=ob%t-ebxzKH0g+2RZn#ln#Yw^Kwwg^WGFUrcrogl%e)ksO zq0(ZgWHR>-zS8Mkp)eJV-+1zF))Ms9T+*ii@}fGmla-BREPsj!q>YJRfzXO6@@}CB_J#TOhvux0aS(IX#0T7?1kp)A*7gaJS6qO z?b9lH(~Kuj`i1A&UzSCPajfKORf#Os64i7QB;|iHY~g-hnOb6NrEVF2a3=0{xQi$z zF|s?G7$0(!_g3@ch4!ZTyz@hQ-JVciXs2@Bcr@Bey?;9a6mt*rx-JC;`A0*Evp~+Q za8^d@f{#)y!Q>8xMAw6#tZfww6;0Y`H@$=OEBa?Kp=fwLt-C)&L}vQ>{ujtiQ_L{@ zb>8IZ4J!?fnPl#7-L1u2E0b+hj+&mmgOnxBXJj+^f% zef{ri_n&+28^rdd7|Rd{{fZyxZqr+F+X1ME#^khG|5}Wcn_eM9>x#{vIX}O%6r4wU zfP*A<9TCLYx)pz!DL31ASJ@+*Gt|?%GztbEz=l;JP3@xoset47 z9MUkX?pOGC^ykof(OVrXvftq{W@!)6ex;zWdqb~Ao;1>o2yc^lFHjEK;|3v}_vAoh zkBAtx?aqqCZYI)e>m}X+DZ^0*_C>p&3=<>JRxw4brKE6OI2`z|l3REICZWP88nz;? z)Kv3a)xjoWwOz*=}e|7@LuE;G49G&%GhF>C@)+#yH1H2I-EwY?8n~)MOaG~zscP1a@mvwdj@l>Hbk6VS&HYwf zu@@jzFqWCU>rWGUJ8>1YGOCaS2t9A;_k5oGyHanuX`UFXr~v0_b9lD4aNl#q(dpoC zIMd~rL);LS#`6=}ACgCNb2-87AToxd@gcCMJCZIHu$cU9D_#rf`tT*03>!XL<2p9H zJI#;=8~>mqzAm+J!V8o4-ZgS5f|F5IU?UrhlGp?TJG?Zb$F3|mW{z#B!95tO@HEet zKmceWarPz>7-wG<@C)=)^TlUxq2pQhFBa9xfwvwNB5AS1)dk*(;I+B=2H|K+m0#t= zbi2G_Wk=u((iMasaUAPoh!Q-~&5>{QZT8VvPNZUQe&}YF>zR%qF@<^3 zvZKP^zZKM-$JRgh1apJdz5mE@-^mBX=sQ4Os+ zg~G!MuLm{4Q?@yHV^xvXghrLi^aFVu=&^Xn1$&MoCN!6mZ0fY}E1MhvfQLB=D%SR* zp{UiZ=J&eN;6Jw-12eNeQT}tB5w>ls=cOTdh6>v;_pB|D3(>~D9L4|zh z)&^z=WD(rfc5go#)-#^8RQ`j<^y;}$57|1^n#yswHZ@Ac?nO_bl5!OTe{dIZ+nHy* zwJ8yv<(Gj4kp7&yl9>SWHm*#J7NK_YJsx(-pA)k}s3&Zt5_fca!g9Fy>s0W4Lun3b z66ezhLtxKO5}PMvgp6f{>!7n%{6X_U-Y_P_3>Yz@=6j~!3a~RCF(fjqjnc7|VR`O< z1-R0Fh-Ns5E0w%$UJ)mIJGSCc_q!-wqnTv{$*vp;7lv|U$Zgp49z?M&7(r5H;Yz;5 zAMf7UdZZ~ZIv8gxC+5i_JA6ESE0?8M${Cec$B4!{G5jpJAMKD7qP)*67I#KmY3$(pdn^v zz)MgUqjib)Yp^G!6#f;7epX8U{dj?dK2X*H%G8?=LL!pPFRrecXk^m~13|Z`= zpkla|c~E$6i@TS)I2e%Mhy4~v8G+d(Cb_fJ8QVUypy}A2EE63@YUk#s zHnn2Kv)xWs%GJTlDyNtZRX1I~LsEC-FP`{K9aCB0cvoO$AKi1Jx)_`g!2+b zsAp)=Pj`b(sJ-P>8&(rEs#ybkET)>ph?`f7=Y^oeT&ic)b1gd=Ifk-JC6r zTdlztFbg0cygqe4$}uNtXr8iggm5s-jC<-d?Q$xIaq8X6PKbMf zo6|fRQIr*6Q9qoBZ*+VQroSZ+`J(P4Y&{iE^X^tdeWLgvU4HFO9jqDkd-0X)B8)FS z-`g*D)gSBD-_bYF3qI_ID5D8(35j!&9C|_Qlb?gQ5v2FNN0OdR_8FaE7EM$9e5=;$ zh?X*%P_>Yi0v-hMMqc7ddg=(Aek}IgmvE!d-4(4yVAvW_H=#Rh4bk9 zE*6B}nPu@UJSXbXmnR_?M{Z{1ZtZVzgS^USkbjAO0G&F$!+D9`fgSW^WTY|usZq&k zKpM0RacA6m`U~t=v=5x~4_I24<+O%>F1C`p5k)&Mmb~H1^C1oK36*VlmL4U=wwx6K zZ#7{wCFyhByZEu}1N&DISIcW+_h^!aXIM0w3G%4&+|{b6ju zlezv}EE4OKI4gMy>`Prfg-r(_ON>(%eUQ2@Cf3>hG&-E3R(wYH3*&SKr(mI<+8*4f zr-6V9ubL+ATX1+qCA(oHC1`eS5KD46b4C=II(UxF&O0Gm&GWLZA1pRZd25Ar_%v-d zNca?PqqPWv1OI4NHSBo5|5%=Xcd^Ikq<>bLLLilrwu%0W=wl6`NgQ#-Phs44${AyV?j$ndmAZIG)48xwJuY7bYgHN0%?3L_yCQ&|KduAXmQ^(SEO!(Zocf;EWRrKH8f z^kbgMLI+16L5w9=Jea9 zsqxlqC$wM(4`dP_>(w0$7&B)0^~=Q<^(jK{-KJs*N!Si!1>h#(?7ubeDn@fX8%a|! z;hOToe|q;WG19fj_$u`xrSMb>FPqC5ebUHY3<2SqNVzNQ4A8rR9Kqip5_HRkLo>BV zti}V@D-cNRPX3QR(f|NU)x+|4L($=3RU@df>pW|tlhLLwRZI;vh~8Ohg=g+$>4=G` z=DE44?&_CbCsu|8Fc%!c@A@=oY0rLmDP|`t4mXy07YW}HGpa8PGb?-E9loQRJq^I@ zef48Bc1*d2ZJ&V;7$1fImKHqpaZh976KU5fz^jQ(3a_Q05vb??<_ zd-NAe|9n=h#^YJm|E1V%P<6@WT2N7vipqW@khsmn_BED%XhoCJm4Mq2U^fQxyJhI+ znleReC1LHc#-lm%@h0Sla-Uu_h#q!bIiWuS0=Ok&$$tf-oS+X)l0cvc>V^PL)k*cK z2q-1%eGIlb8Y37YJAQAv=yA9aTrrSDx5%kqyHXvKm&5<=Gh`dNi+><;q&FP9#$zA? zqm)u7Y`-cmt6~f614VQ_lVcR3sT6ZEX1}}b#hi0mes9Jmc2MHi$o?nGY1@Qyyl-*S{n{BWlSJ=}ieTuG+Bgm5+;-`u!3-RHPo z^|qBH)W@!v@$Ggq2$lt^*GjFKgC_tVdTznK3oe(|GP-wNXT@r)su~_(Q9epDttu0J zkn(-Z4{~9%l`4NLn;4Y+0Eu$7gfL92o4Wo|ULafdte@mV(lm&9U-+Z`NkWhLLWc2_A5^X|LbBmfzy^uFGdS>8@*PMj_&CU<8GZCX~ydd@mWXrhulm< z^QfKV&J-n@ZVjT(F&%QjI!1X%97EdQQOE`e%b`E9-Z}dhlw_SSD~oo8c$8Pc)5vl) z+iQ#^98NWha8J}_iENTz1+XJj*g7I;F1zO^cPT}(V7#HY5ik-u+n_zHZbweyU z+vBYMFbYP*?Xf=u-~CC!r)i4iS!^Lq|Jyr1kWrUDK0Hi$2{j*uBpS;u{!J9&=$xYm z`Sz=G+=U{_{|HwOrQAK?MRAUQ@Pne9&HfSFD3W)eXy$USEpa^t!?27bjKCc}%92dk zxKq3TwE#T~5oUOSWVsJ_5!t*Y#NV>OINB&f&A$He#0Bb2$-90B4#;I;=kkJ_T<>!* zWdv~)Mc?jNnqkN+w?tCCv8@1g#Nn@=843Y)3uoPW@Kz4e?+KfAlIXB-RYzmHgNwPK zBPwdQ4=i5~wK1LwKSNR8)9EZJ!q*CTajYS-{$A2iP7lLZ75FM$3bE9KKch(1I8rCS!u(4b6VF0C(n zN&7IRe}Y^wgvI$Ysm67N0tH~5n;LoVF<~_;bizp3VBod(#44JOx|Q*s~Wv#Cojt#6IKq> zgTN<76AeEq5C^hnae>ym4rt-^$3=k%qIfw7eUZ06KqmX~xw9Qw(Qqq8FfPX|yk+!4 z=m}4a<1+w-k0k=XyIcYzgID*KETL6Hc-jWK$$bH(cs$)xwzWb<#0Cn5WMnXnBH!jDk#68r#mJ4J&0CDmR@sAzG2S2EQ<2O z+q^!>!n9>OEV|!Fgr$WPt9GGz?GmN3(V=nzDDjsDy#=Xv-@y zyVIs_Hh5O#0(e**u4L4Q2`k%_i zIgi|jlbwUb6ii+wmUaO?eT^h0$q=zUbF>5va$BeHIkpUND|YO|{qkkH<#w~v)(0eT zeR)5Nmpu)f>JJlfJF2K9X?`2gQ{w=uE~MmM&&HIzkBT22Y&dr`e(TNay5}`p(miy_ zqvY-kxdEQgAG0WwK_jLEX#QdB8_?VttFF7VV0(*tFl*OhDSGYPd2e{X@@6&nPGsL; zxGyXUL*pV)u3yY<#7Yh|K0|b#4Cd!uH)%SZ>{eS8_yPsCvzC=lIsx3fWkSX1)RAbP z);77`3^C7VZYvYHJU4N`$rLBvkOifq`iS$mzFf3K$><9Orf*my2;i%nX!e4E0-h7D zdA2n7Y|U*Vi00MtY`^6xhQ3=R3A_R!(1_&~V!8X12Wxt|N+TV||I223gNyps1inx3{uQ>6Sgj4HFvx-j= z?Y1beI{BK5=x{rn2KVaV6FXY{6JL?uRPAYAXKQ96WO9F}^Od`Q4PwNl&~J`Y;Mcnl zE9gUz*>@!zV4030IT%ri4F8=Q5%4)|S7KAHmEGh|+{_TOP;#DtZxJF^zpo zd+#tN?FWoFnl;^1@G2RBhSpnHTpNm0{+*Qe`TE|H$RCcqCB}CZkE%9yn7K)w=58m$ zK$zaP!94RC6>bE8@U+SZ5_LsEQKGUj25f0Z6z){3By)k6q2eRvh=umQ;n`akYS7Y$ zoN&sOc6Fv-o@QEs^oevZ{gH+{+Gp-E)H$EFtt4ALtvqtOfvH`R&%Zu3ctEHr(W<_u!`N=V1RWcvA9y@zYUR!@*$!5+$B*k5 zte-6A#a;F%3G6dXG^B{d0?E!bsn=Aeu96v;-5Xs4L7`V*VPv%P?q-~-!}U#eKFrrg z4ti(W?LvsuY#Amg3^me{nPF-ON!tjmK8w1}S+UozZEGQl^**I|U|{g7BZ+4Nf;9i^3LBn-aA1}+jOqO@f62-4-XkP8@Pdg&B7bjb?ECEun*dxNJ zWc7rh^%$S+rCNt-15>`O3nm`rmCYnHE z?xOEsZqot1uc7AHY&pjlCv!XVF$kwWPF+L1#V_(^qCZv-*BqEtzSI@mUK}|=v3Q$t zwTK@hz<3NeLD~NCw{HanZ`p*-`TMjgS#VHsoP@9dejl;X0+O?B1+IjbfAy(~UsN9j zLCREAoV6u&SYNVXNve-)-_Y(^5&dnhw3?>-8nmvPD$^$*_3T_<(HY9Efp!-AwyId7 zsw@Bm2KGhWWEGUJk`5<^^e{S#?kCXWp9aA(D!*9I<|yC?SNG>;1*K~H)Fm66(J*S= zCHR*ojdyVfb>K{xe_wu)@xk9q1;RD;;P#!Ke_g9gye4%6Q(+9$n#r{|zsGoIyqZSr zX^;oUaqSZ2O#_!qyddMxo?GP@l>KJ0^cW;i8S+(~nCo7{URiB9J?w8%{)SzpDr#tQdDyYDEpF{U>v!!j*h zjs>I;PJjirOWi7h6tPXaGW*Q_YSh>YZ9gQnKQIKRt{Pd_;#+cxe-Y(7mdsGV$|Sru zWzjhJ8?n*Oeixe^mK_fljta3oI9Ewn!Ko=DYa&LqCBYM5gORG;b{Jn$c+)Re)d+46I}{#( z-wBvXstli2f$k3}3_g&fukQk**g)2~*jLfA?t5*mFl=(bKVVQ-{!OYXu%k(mqo-9NvS5Il{KPTJp(K-ApwD4^n)1ecunX*NHWo%TnTnQhNjsmK9 z8Fqa2L9wi*wS`%y)y3mNe?`<}*xp#A>p)^P!G)6;XC0 zL9Hl`(PfRXS{QCZQwYu9-%|MQV_R>J;C~x*mA4jMbn;-wp(1<{pgT^dxR_KFGmGx7 za*#_+pOmX6NdgY3et9#`fILdhtP^C;-c#^-{%f&fl%gm=t@v`3tmCR1og26tB*=UN z)h4}BbC#7&$(E|V%RErkS?K0Q)e)!ec66lCS7)l7+P2*@#VBgVR$4X(E-<{E?B)7k zDVC|L+BOqkJt&_2ESt=9GW$C@h0$nwFEPQ=5XF3xsKgJp{_iwoU>inrEA9zlyZ+C; z1KOTf6P4BT@3IA`9+V~AXsaOc`}!k)Nyc!?X|GenK~wI#uEx1^IO7AiaR<)A_?T%U#KaqzSY#j{}a^$sfm*4ZI>s&`VGMwg%@mW?!Xm&OLO(mnP%R2BG z=&GckF8P8aTY3G@v)r!6szaxW^xhV^yv-Ale~55Et;rEn_%cUF8`9b0{I7Eyc6a`e z4NisOu78t-!EC$&B1nMvB~t!l!i<|y zVqLA;^>*k#IHeex)zvZS%uHWc!4vE0hAUj?*RNH-dOXs-!Nz{kx^*t}vop!Yo?%Z9 zq*V+WCwpm}kb1!&S|Tgjj|rLIm50$u0!@osbz$xdgA%z4Qgl*nU#>ZoQhQrIu~pkJ z+N(*H*MH8Ap^=A%sihixoS&p>R%_y58XqOXWUd6*eLaP&-v71T@xix!IP}i#RJl5M z*_-}d#$hY+fot$)ZMsSrFg92S9$`v#_vyux6b{fmROw#TqC2!BZ?qmVi=!14sUoZ* z4O};722I0P%q$i2r2k=50gyQBtxWG6DF5X>9lE2Rf_N8x{2oC(YQ60-YYhga*_3@;=Pfg0&)V(zHMC8B)<8aRw%n0KG$&8 z4VkM$LuCY;O+qaB@1}YZkCYHk(D+v@70Zl|Cm+2Ft89kcVSU|Je%iYus)rwqJR$va z!x3+I90`RYH4}A|x|Hf6y;8{zm1MxmdO*~YEQ_U6BhV)Q3pVFKzM*^T9NzHC;WeLW zaMJ=gZCiQ7mALFhL4i=-KGs5>6Oi79v>F?C>rD|#(qk#-c5|+7ZgRq-NJmk^$EbSt za}|&?1sz`3Wo<_$r_vA$XsW~wI5=OHPzB5XQL`-3CggR_zQ3M``B!lEeE6-JQK>Rs zwb4ht?}+fA)8b2zaHQ}DJqe5pVQMLeBcklUz6qoG!%a2F8ft@}-6+zjn zjNes|?eC4@Us2K;t!glnYuQ`_E{2om!@B}6LC(P6c3X{MDo;PP;$*NBpMIvdlb4vd z|J*-JAd$N9H`OB9#De;jQDU|eH``8U*Gr)vf9 zKm}Ob*XgvrHlvB(ET!1ViWs>aj#Yix{40~5F)fbH7wgb`k{Ob&vNYwPv!J58pSJOd z#0!xXk7T(97r_A1BrHLf^LixGp6Ci%vaH3Jki8k2D@%z~6@>cB|3@ z07`~0@bZ{RXrML3)#q!O4JrzBR5n?vDt zpU7z|+(CM0D7Ym<(q&|6OkcW5UeI&6?wZiRJ4u=&DpN zC$%g&<|P8>Gv6l1wUThAGw0O_@J?oH7oO+>TebQq#cr8gWRG2j_G}0!nj7VqGp#;TNIXrg@Yyma|D`X`Rj^Jvr`D;#B=TAM`V{s;R0$sE0+nFT#0m9E; zN$yO@A0D#8%H}qyEu{Vl8>!t&G9;g;h%C6OZ_iom^L70$M(1a+SG8V5`FuRccWk|u}+gUyi<7461@x4^(AY(s7q$*I%MD-UFCA|KF;;^ z6fX7PB8`!yQOZ0^@a4T(P7fw5Kc!rxl5t>16yMu2kSpqIMW2)8K*5vJxQT{(DGH{r zC8h5cnQ3D~=@nG=^8g$h!)ExCmafE7@+gY_X(52ODGoh=)gEy5VfB%CD=y~xM4BYp z9o_s2J2xyZ{n0EGfUf0gwA~F=Pn#q<(F#vR+nVg=O{Ul@j*-;y4(ei-L8QA~4SJ@< zG%W7Npz)|n0f`5)E*6WL!TB7KXIp4y_)&Wx$mr>`IPOr5cCC-~{iNv}5XeZah!eoC zn$IQRmnEeFxytWK(>C@ZKg#4KwOC8w{VG|oGa6-rW%h*<$R}l0_Y#Ov-#BXmGu~G< z*qIRKLuJ=X&an-L3W@tAy9=P*j7)TVY7Syp zN1GPBXz0hIK{G+7O)lUj1yy;X#WOzsc>)@XKr=(v@XmYqjl3Ggtv4IiJ~{y024bOp z`F!&dYWeO4w@EEl8dGs?j6P;{k-OWo&JeOQuT}V6EmyY_iB`{{1;S?&aZ7!S?DaH& zA$W<{t_$k?=&R4bqUM)omL2b#MYu{6xD?}6>&ich{R8=T-FBB*;Az7Gs|1b{~-?em1VZN7<<_47GM!M%+u@KFs@MWDjNmpMx_f zg%U`^bQs%$l{|^QY}#dAGl6Z0O#qQ<#b|C>B%x_QMDTm>_FWB@yV)a}`?R%Zp`=Q{V%-DNS8p15 z<4ni|#n*T$DYFuV6oiyE`urK=qjI}Q%PK(V%jd2sb@fF(C*3+5@QwKJze zrr5o1iDsx4P6ok{KQtX0BXK>&p-mzLg3n)WklZ7p7LP5Ydg=^+C9&qaOe{ zEoJCo&r1-hRtG$hZWH&r09rp?TMS?GY#Cne6ww8w&qy5fX$&7sYib4brm9(Ad`U)R z#v)dq-0_fh^r5c{pr1gc6XAh?>srB5|8(Bz+NH`|C`hat8L2{io~ z*!~sm=!jZmtCZ37+$iXcBanE7NRAft#xUq=-6!iKIC83h14L9`7ABI$AE`OK06rRF ze;9fe%LJsc)GE-juNol|T4XX@88IKUi3m4Gz=42-r>q0#;A-zv-!h2qhHP+tt?Es@ z`P7fOWQx8R`hxK4UEYpdrWG6uiRO$5Bp&1RqQU~Ny{^@-r3yKc^Y8}`TF83OLaITuj~{{5MM&XnaRnJSu_?f(t^{_`5Gbm?m;5j91 zJ^_qt2H<{gx!zcKC=_9$`J@ zB`gki-e0Lq7EjZwyB!f{O7Cn4&Mhx5(B6e#;3l)zm~k7^zZU=aC-3x`NvRrv&-B%^ zXnpo2Ak>bMLvXTX54fxVd!)bB`go^1?Y;B@^9px~FzLe{L6R&Hd6K1uw^=c22|ndk zSty`dCf{5k@=caUYbemvgJZOS1M>@8g^F2K1($i8_I4yC)-jsNq=aGk*%Mr?iF2oi ze?!DDPmjX=E3@C7SDVWf&RuYoHpwSx-jy_N?N>LYJ_)uQ*ATg0mzg#~b|*ZaaSuu1CiZiT85{hy6J={HbsewOO%RA)0@tS%V;1 zW9Mh!BeDjGH_IZ-k+znK=);uz`+F8Xr0U3gt+laZg!5-dKD3D?*ZX3Y<}CSw1oa4E z%~M+KISv9Fd)5x`;WG@J?96)Dw&r4+J-Qg2NnjnXvTO@;k@dOxAc*2i8U=}{T#(Rz zGMjRq19Q~jxnD>KlH}m#6sVn98rBLW{xDTKR(DCTAI>64@}$NIB^5MNcD>&$WL26c z<>^v|@vVEuV>n@}mgf{nQ$(KWi{4ivMeN;f91N7C;apHOW|<3Fd}-w3WGWGK>*62+ z`U^bV$%i{JUc;4h2*l_L@N3fCn*+y)N&E|y7lWHx`&~)O*Ne(ouaTvOE1jE9U_s=P zk-GLXEp#>zqJgtc_4cF6sKH!H{fvc=Z*jay2ptVxKtl&Z$=(tBb;E*gx!0A^+(Uh= zef#k|A6;>V5i1)AD`gUgbxU)`Hhwqz479SbQF;HhOFDuY|44I6ZX{d@0s5QK7ktL( z#fhmu9qpSc6$}gMQ{fX;lYu%qJ|Zvo1N7{yn2apAGDS2lCP@|eH;SfZxY_fRm*3RB z*Xeke8Z2J)&J1b>Cikcns6wpGBE!1XKUAuHX&k)ce_Fc|s3xv199B1ItXgeFa15dp z%z^tqow#m!@Xy8Pw-@wYeoEl+ z$f4{$X=Gno>|_PeG==+2r{`7n_Xj728qcU*tN-4~JUissw|rUFj?PQGF5)H6BK`jF zH_*Yr4 z3HYH-Wt{SUnpWRlHtevvj zBiDO@k#pY9?w2@GJ;Cv$+nq6Pm>IZw+zM~=kbQmLtcz6vHKqrvE@jj^W-RP1(a?D8!OJzj zR1sRo=p=YovK{sA=v8=&-@RuaBNoK@$NYG2^10i!C~{%Sn;m;h?RR$E6|&RHTOIv) zrzhnQ?8la`dfWa=D-3=p$&RFmBV!uV{4HURpqE5I!&pa;EjMy5=;j$bNV{27^m5m{ z>IVTWG#zd8ad$L3T3aiQBz08@sTO}6f3)kndWZ6w3pvGGzH&U!rWn&!&@z2*9q|Pz z+pvXcVrMG3*EPObBB{f(j#O;BXc8HQr9R{T;=MnXyue360XI*W>E~?D+~>dhCREsc zlFDVdcsX&emi3e-o+7QsPT=NMJ^YY8R+{10;#;dOO-=OOH+HkJX@uL!h=Mu06b@FD z_!kwHjd4}7MLVsHTe4E_RJdBZV3V<1EN5_k%&I55sr`Cfg4{Gn^ICb>(&Qa-wxXJ~u~39Wlu zI;JH0M8$flSc|{+`S$(hd#-mJB+uX2sWvNV#o<-=9~MSS%7UGzy-ij#dYDAX?Mly_ zp7SJTR^i-5ts4XN#?rNKea&sb1a*e_#!<_u?0vP*M#}eCkr(Fa0*Q+8+9cBCK}7(W z_+N@tB)NP0H8Q4zkbCUBT$j!`ru#-Mq;+pdZc;qamccN8)8KNLyguRF-qRm!9ryYz zj5=^v69<1=|AO_z=|mL8ChGXjos6#3{q0624o;a%y%K*|V?x9yEUc`WpKPD6lR!_1 zt})V8%-WZ-GX73q>YAdkZvI+-lZlm6)6#X)&PG`$%L0FiSbX)VcEr^r?{2I0j4*Q4 z0k2yPPm?%WCjuf2Y936Cow~uqGc~e(!nnAO4!pRe)_tV1=s!BGm1CrC#%n$^YHMCcJgx{_D>HgR~pCF zFIKZ)ht6a<<{1>uobpYJ&!TzLuR64O?zEg#T(jh;zq+lC-g`V&zI9LVj-!YP^<;rx zdc3tkhWq>Gc*Ew_BOAyCUcaaRA)NTU@?v6QBbPO)CZg~_ah_dh_^FOfhf9mU(~U9q zX^&s%9V(3UdHt|!im9A#b?67hj8J=5&&CB7M;_nvclMV4*zLCA)U&zA zbt^5mc-FeR=k9Nl%5T5WdV4j+yrK80mnLn3r|Z1ataQ`kxvqay`<1tK^>FF);j(q3We)eT|z%os0JTrnBkSS&t897CCLL(HeKfJ1!F@kXfVji0!Be+y6ik+>E z()ijz+YrEracd63rtk?uVoj$@WKtmwlk(^sgpLYP5h^Bdx*5%kP8l3api&Y3S%9i% zaAY7Z7#t;+%V~0^ig-SQVMhPXd6gT&M@2AIRe53r9pE2C;Hqw%2Err;UUD(12qwTs z;M&K~0;UE37*>j{4F|DCq$o^aQd=jCFNR!ET)?vdGaGDH4&k6UA{9so5H?$17o{`^ zB)}mU5~Fg+Pax(%7#DJa17J7RC}@>nvlNyF(Z)jqub~(&j1v$HFbF0_fT+l4fDpll z2?!U6BtiifEI+iu-FX$n!4R1;)(|0uRck2b&4bVYWeXqh3Be-H1H=LlgMqgkXt6IG z2r2bTq%flN9*01XASo;na3G)#2yp;jh)I;RH0YC;V7>yL80A0&1|fi)hXR*SNDc?} zyB37WAh}dP40WESirUafDI+J~0BYqVqyvFdjT+KwGmwt9Dy|G zj}n&=`}bgE=&F?jX{4r3C4Ks0$PigT&p{F?uL*yX1>B@uAG$Kuct7xy)ZnjiJ9@kzzL?mplSWF9|`SD(!Fj}LLxoV()|C>nT$hi#{E*py8x$`4>$O&;Ie7MZiQ24Z{kMN-}9w|CCl5hASbtvDr zcL(RM0Q2*RUx^|@&IFBpKV*-f@&QHm= IK!TJ013O;ro&W#< literal 0 HcmV?d00001