\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.1.0.2/Microsoft.AspNet.FriendlyUrls.1.0.2.nupkg b/packages/Microsoft.AspNet.FriendlyUrls.1.0.2/Microsoft.AspNet.FriendlyUrls.1.0.2.nupkg
new file mode 100644
index 00000000..5b784f51
Binary files /dev/null and b/packages/Microsoft.AspNet.FriendlyUrls.1.0.2/Microsoft.AspNet.FriendlyUrls.1.0.2.nupkg differ
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.1.0.2/readme.txt b/packages/Microsoft.AspNet.FriendlyUrls.1.0.2/readme.txt
new file mode 100644
index 00000000..0502a3f3
--- /dev/null
+++ b/packages/Microsoft.AspNet.FriendlyUrls.1.0.2/readme.txt
@@ -0,0 +1,50 @@
+==========================================================
+ASP.NET Friendly URLs v1.0.1
+==========================================================
+
+----------------------------------------------------------
+Overview
+----------------------------------------------------------
+ASP.NET Friendly URLs provides a simple way to remove the
+need for file extensions on URLs for registered file
+handler types, e.g. .aspx.
+
+For more information see http://go.microsoft.com/fwlink/?LinkID=264514&clcid=0x409
+
+----------------------------------------------------------
+Setup
+----------------------------------------------------------
+
+If your app didn't have a RouteConfig class before
+installing ASP.NET Friendly URLs package:
+----------------------------------------------------------
+ The package includes a RouteConfig class that contains
+ the call required to enable Friendly URLs. This call must
+ be made from the Application_Start handler in your app's
+ Global.asax file.
+
+ Add the following to your Global.asax.cs file:
+
+ using System.Web.Routing;
+ ...
+ protected void Application_Start(object sender, EventArgs e)
+ {
+ RouteConfig.RegisterRoutes(RouteTable.Routes);
+ }
+
+
+If your app had a RouteConfig class before installing
+ASP.NET Friendly URLs package:
+----------------------------------------------------------
+ You'll need to update your RouteConfig class to enable
+ Friendly URLs.
+
+ Call EnableFriendlyUrls() in your RegisterRoutes method
+ *before* any existing route registrations:
+
+ public static void RegisterRoutes(RouteCollection routes)
+ {
+ routes.EnableFriendlyUrls();
+
+ // Put any additional route registrations here.
+ }
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/Microsoft.AspNet.FriendlyUrls.Core.1.0.2.nupkg b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/Microsoft.AspNet.FriendlyUrls.Core.1.0.2.nupkg
new file mode 100644
index 00000000..28adc2a9
Binary files /dev/null and b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/Microsoft.AspNet.FriendlyUrls.Core.1.0.2.nupkg differ
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net40/Microsoft.AspNet.FriendlyUrls.dll b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net40/Microsoft.AspNet.FriendlyUrls.dll
new file mode 100644
index 00000000..5643f65e
Binary files /dev/null and b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net40/Microsoft.AspNet.FriendlyUrls.dll differ
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net40/Microsoft.AspNet.FriendlyUrls.xml b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net40/Microsoft.AspNet.FriendlyUrls.xml
new file mode 100644
index 00000000..bfb8753f
--- /dev/null
+++ b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net40/Microsoft.AspNet.FriendlyUrls.xml
@@ -0,0 +1,187 @@
+
+
+
+ Microsoft.AspNet.FriendlyUrls
+
+
+
+
+
+ Resolves a file handler virtual path to a friendly URL using the registered resolvers.
+ The friendly URL.
+ The handler virtual path.
+
+
+ The URL segments left over after Friendly URLs mapped this request to a file.
+
+
+ Represents the settings used when enabling Friendly URLs.
+
+
+ Creates a new instance of the FriendlyUrlSettings class with the default values.
+
+
+ The type of redirect to perform on non-friendly URLs to friendly URLs. Defaults to Off.
+ Returns .
+
+
+ The mode of caching to use when resolving friendly Urls. Defaults to ResolverCachingMode.Static.
+ Returns .
+
+
+ The name of the route that handles user requests to switch views. Defaults to "AspNet.FriendlyUrls.SwitchView".
+ Returns .
+
+
+ The URL that view switching request are sent to. Defaults to "__FriendlyUrls_SwitchView/{view}".
+ Returns .
+
+
+ Provides extension methods for working with Friendly URLs.
+
+
+ Returns the extension of the file Friendly URLs mapped this request to.
+ The file extension, e.g. .aspx.
+ The HttpRequest object.
+
+
+ Returns the extension of the file Friendly URLs mapped this request to.
+ The file extension, e.g. .aspx.
+ The HttpRequestBase object.
+
+
+ Returns the virtual path of the file Friendly URLs mapped this request to.
+ The file virtual path.
+ The HttpRequest object.
+
+
+ Returns the virtual path of the file Friendly URLs mapped this request to.
+ The file virtual path.
+ The HttpRequestBase object.
+
+
+ Returns the URL segments left over after Friendly URLs mapped this request to a file.
+ The URL segments.
+ The HttpRequest object.
+
+
+ Returns the URL segments left over after Friendly URLs mapped this request to a file.
+ The URL segments.
+ The HttpRequestBase object.
+
+
+
+
+ Represents the mode of redirect to use when auto-redirecting to friendly URLs.
+
+
+ Performs a permanent redirect (301 response code).
+
+
+ Performs a temporary redirect (302 response code).
+
+
+ Performs no auto-redirect (disabled).
+
+
+ Represents the mode of caching to use when resolving URLs. This setting affects how quickly extension-less URLs can be mapped back to their corresponding files (such as .aspx).
+
+
+ Build a list of files at application startup. This mode of operation is appropriate for sites where files are not added or removed at runtime.
+
+
+ Build a list of files as requests come in, and update that list as files in the site change. This mode of operation uses more memory than a static cache, but it is appropriate for sites where files or directories are added or removed at runtime.
+
+
+ Don't perform any caching. Always query the file system directly every time a request to a friendly URL comes in.
+
+
+
+ Enables friendly URLs for Web Forms pages.
+ The routes collection.
+
+
+ Enables friendly URLs for Web Forms pages.
+ The routes collection.
+ The settings to use when enabling Friendly Urls.
+
+
+ Enables friendly URLs using the passed resolvers.
+ The routes collection.
+ The settings to use when enabling Friendly Urls.
+ The friendly URL resolvers to use.
+
+
+ Enables friendly URLs using the specified resolvers.
+ The routes collection.
+ The friendly URL resolvers to use.
+
+
+ Resolves a friendly URL to an HTTP handler.
+
+
+ Creates a FriendlyUrlResolver for the provided extension.
+ The physical file extension understood by this resolver. Must include the leading period, e.g. ".aspx".
+
+
+ Converts a URL with a file extension into a friendly extension-less URL.
+ The friendly URL (extension stripped) if this resolver can automatically map extensionless URLs to physical files with the provided extension. Otherwise, null.
+ The original path, including the file extension.
+
+
+ Gets the file extensions to use (such as .aspx, .ashx, or .mobile.aspx) while attempting to resolve an HTTP handler from the friendly URL.
+ The list of extensions.
+ The current HttpContext.
+
+
+
+ Resolves friendly URLs to generic handlers (such as .ashx).
+
+
+
+
+ Converts a URL with a file extension into a friendly extension-less URL.
+ The friendly URL (extension stripped) if this resolver can automatically map extensionless URLs to physical files with the provided extension. Otherwise, null.
+ The original path, including the file extension.
+
+
+ Returns a list of file extensions that the Friendly URLs system will try to resolve for the current request. For example, if the current request is for "~/example" and the GetExtensions method returns [ ".mobile.aspx", ".aspx", ".en-us.aspx" ], then the Friendly URLs system will attempt to match the current request to the files "~/example.mobile.aspx", "~/example.aspx", and "~/example.en-us.aspx", returning the first match.
+ A list of extensions that the system should try to resolve.
+ The current request.
+
+
+ Provides the ability to inspect or modify the IHttpHandler that was resolved for the current request before the handler's ProcessRequest method is called.
+ Information about the current request.
+ The handler that will be invoked.
+
+
+ Resolves friendly URLs to Web Forms pages.
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Determines if the current friendly URL was resolved to a mobile view based on the client browser and/or overrides.
+ Whether the current view is a mobile view.
+ The page.
+
+
+
+ Attempts to set the MasterPageFile property for the given page based on whether the master page exists.
+ A boolean value indicating whether the master page was set.
+ The page.
+ The master page file virtual path.
+
+
+ Attempts to set the MasterPageFile property for the given page to a mobile specific master page.
+ A boolean value indicating whether the master page was set.
+ The HTTP context.
+ The page.
+
+
+
+
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net45/Microsoft.AspNet.FriendlyUrls.dll b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net45/Microsoft.AspNet.FriendlyUrls.dll
new file mode 100644
index 00000000..deaf9fc9
Binary files /dev/null and b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net45/Microsoft.AspNet.FriendlyUrls.dll differ
diff --git a/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net45/Microsoft.AspNet.FriendlyUrls.xml b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net45/Microsoft.AspNet.FriendlyUrls.xml
new file mode 100644
index 00000000..19863a35
--- /dev/null
+++ b/packages/Microsoft.AspNet.FriendlyUrls.Core.1.0.2/lib/net45/Microsoft.AspNet.FriendlyUrls.xml
@@ -0,0 +1,206 @@
+
+
+
+ Microsoft.AspNet.FriendlyUrls
+
+
+
+
+
+ Resolves a file handler virtual path to a friendly URL using the registered resolvers.
+ The friendly URL.
+ The handler virtual path.
+
+
+ The URL segments left over after Friendly URLs mapped this request to a file.
+
+
+ Represents the settings used when enabling Friendly URLs.
+
+
+ Creates a new instance of the FriendlyUrlSettings class with the default values.
+
+
+ The type of redirect to perform on non-friendly URLs to friendly URLs. Defaults to Off.
+ Returns .
+
+
+ The mode of caching to use when resolving friendly URLs. Defaults to ResolverCachingMode.Static.
+ Returns .
+
+
+ The name of the route that handles user requests to switch views. Defaults to "AspNet.FriendlyUrls.SwitchView".
+ Returns .
+
+
+ The URL that view switching request are sent to. Defaults to "__FriendlyUrls_SwitchView/{view}".
+ Returns .
+
+
+
+ Returns the extension of the file Friendly URLs mapped this request to.
+ The file extension, e.g. .aspx.
+ The HttpRequest object.
+
+
+ Returns the extension of the file Friendly URLs mapped this request to.
+ The file extension, e.g. .aspx.
+ The HttpRequestBase object.
+
+
+ Returns the virtual path of the file Friendly URLs mapped this request to.
+ The file virtual path
+ The HttpRequest object.
+
+
+ Returns the virtual path of the file Friendly URLs mapped this request to.
+ The file virtual path.
+ The HttpRequestBase object.
+
+
+ Returns the URL segments left over after Friendly URLs mapped this request to a file.
+ The URL segments.
+ The HttpRequest object.
+
+
+ Returns the URL segments left over after the current request has been mapped to a file.
+ The URL segments.
+ The HttpRequestBase object.
+
+
+
+
+ Represents the mode of redirect to use when auto-redirecting to friendly URLs.
+
+
+ Performs a permanent redirect (301 response code).
+
+
+ Performs a temporary redirect (302 response code).
+
+
+ Performs no auto-redirect (disabled).
+
+
+ Represents the mode of caching to use when resolving URLs. This setting affects how quickly extension-less URLs can be mapped back to their corresponding full URLs.
+
+
+ Build a list of files at application startup. This mode of operation is appropriate for sites where files are not added or removed at runtime.
+
+
+ Builds a list of files as requests arrive, and updates the file list as files in the site change. This mode of operation uses more memory than a static cache, but is useful for updating the file list for sites where files or directories are added or removed at runtime.
+
+
+ Don't perform any caching. Always query the file system directly every time a request to a friendly URL comes in.
+
+
+
+ Enables friendly URLs for Web Forms pages.
+ The routes collection.
+
+
+ Enables friendly URLs for Web Forms pages.
+ The routes collection.
+ The settings to use when enabling Friendly Urls.
+
+
+ Enables friendly URLs using the passed resolvers.
+ The routes collection.
+ The settings to use when enabling Friendly Urls.
+ The friendly URL resolvers to use.
+
+
+ Enables friendly URLs using the specified resolvers.
+ The routes collection.
+ The friendly URL resolvers to use.
+
+
+ Represents an attribute that specifies that model binding values are provided by a friendly URL segment.
+
+
+ Creates an instance of the FriendlyUrlSegmentsAttribute class.
+ The index of the URL segment to return.
+
+
+ Returns .
+
+
+ A value provider that retrieves values from the segments of a Friendly URL.
+
+
+
+ Returns .
+
+
+ Resolves a friendly URL to an HTTP handler.
+
+
+ Creates a FriendlyUrlResolver for the provided extension.
+ The physical file extension understood by this resolver. Must include the leading period, e.g. ".aspx".
+
+
+ Converts a typical URL with a file extension into a friendly extension-less URL.
+ The friendly URL (extension stripped) if this resolver can automatically map extensionless URLs to physical files with the provided extension. Otherwise, null.
+ The original path, including the file extension.
+
+
+ Gets the extensions to use (such as .aspx, .ashx, or .mobile.aspx) while attempting to resolve an HTTP handler from the friendly URL.
+ The list of extensions.
+ The current HttpContext.
+
+
+ Called after a friendly URL is resolved to an HTTP handler but before the handler is executed.
+ The current HttpContext.
+ The HTTP handler.
+
+
+ Resolves friendly URLs to generic handlers such as *.ashx.
+
+
+
+
+ Converts a typical URL with a file extension into a friendly extension-less URL.
+ The friendly extension-less URL if this resolver can automaticallymap extensionless URLs to physical files with the provided extension. Otherwise, null.
+ The original path, including the file extension.
+
+
+ Returns a list of file extensions that the Friendly URLs system will try to resolve for the current request. For example, if the current request is for "~/example" and the GetExtensions method returns [ ".mobile.aspx", ".aspx", ".en-us.aspx" ], then the Friendly URLs system will attempt to match the current request to thefiles "~/example.mobile.aspx", "~/example.aspx", and "~/example.en-us.aspx", returning the first match.
+ A list of extensions that the system should try to resolve.
+ The current request.
+
+
+ Provides the ability to inspect or modify the IHttpHandler that was resolved for the current request before the handler's ProcessRequest method is called.
+ Information about the current request.
+ The handler that will be invoked.
+
+
+ Resolves friendly URLs to Web Forms pages.
+
+
+
+ Returns .
+
+
+ Returns .
+
+
+ Determines if the current friendly URL was resolved to a mobile view based on the client browser and/or overrides.
+ Whether the current view is a mobile view.
+ The page.
+
+
+
+ Attempts to set the MasterPageFile property for the given page based on whether the master page exists.
+ A boolean value indicating whether the master page was set.
+ The page.
+ The master page file virtual path.
+
+
+ Attempts to set the MasterPageFile property for the given page to a mobile specific master page.
+ A boolean value indicating whether the master page was set.
+ The HTTP context.
+ The page.
+
+
+
+
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6.nupkg b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6.nupkg
new file mode 100644
index 00000000..664e6385
Binary files /dev/null and b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6.nupkg differ
diff --git a/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjax.js b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjax.js
new file mode 100644
index 00000000..884acce8
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjax.js
@@ -0,0 +1,7 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/MicrosoftAjax.js
+//----------------------------------------------------------
+// Copyright (C) Microsoft Corporation. All rights reserved.
+//----------------------------------------------------------
+// MicrosoftAjax.js
+Function.__typeName="Function";Function.__class=true;Function.createCallback=function(b,a){return function(){var e=arguments.length;if(e>0){var d=[];for(var c=0;c=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(eb){c=true;for(a=0;a0&&(d=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Type.registerNamespace("Sys.UI");Sys._Debug=function(){};Sys._Debug.prototype={_appendConsole:function(a){if(typeof Debug!=="undefined"&&Debug.writeln)Debug.writeln(a);if(window.console&&window.console.log)window.console.log(a);if(window.opera)window.opera.postError(a);if(window.debugService)window.debugService.trace(a)},_appendTrace:function(b){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value+=b+"\n"},assert:function(c,a,b){if(!c){a=b&&this.assert.caller?String.format(Sys.Res.assertFailedCaller,a,this.assert.caller):String.format(Sys.Res.assertFailed,a);if(confirm(String.format(Sys.Res.breakIntoDebugger,a)))this.fail(a)}},clearTrace:function(){var a=document.getElementById("TraceConsole");if(a&&a.tagName.toUpperCase()==="TEXTAREA")a.value=""},fail:function(message){this._appendConsole(message);if(Sys.Browser.hasDebuggerStatement)eval("debugger")},trace:function(a){this._appendConsole(a);this._appendTrace(a)},traceDump:function(a,b){var c=this._traceDump(a,b,true)},_traceDump:function(a,c,f,b,d){c=c?c:"traceDump";b=b?b:"";if(a===null){this.trace(b+c+": null");return}switch(typeof a){case "undefined":this.trace(b+c+": Undefined");break;case "number":case "string":case "boolean":this.trace(b+c+": "+a);break;default:if(Date.isInstanceOfType(a)||RegExp.isInstanceOfType(a)){this.trace(b+c+": "+a.toString());break}if(!d)d=[];else if(Array.contains(d,a)){this.trace(b+c+": ...");return}Array.add(d,a);if(a==window||a===document||window.HTMLElement&&a instanceof HTMLElement||typeof a.nodeName==="string"){var k=a.tagName?a.tagName:"DomElement";if(a.id)k+=" - "+a.id;this.trace(b+c+" {"+k+"}")}else{var i=Object.getTypeName(a);this.trace(b+c+(typeof i==="string"?" {"+i+"}":""));if(b===""||f){b+=" ";var e,j,l,g,h;if(Array.isInstanceOfType(a)){j=a.length;for(e=0;e=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i-1&&ac.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":p=parseInt(a,10);if(p<0||p>59)return null;break;case "s":case "ss":q=parseInt(a,10);if(q<0||q>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var m=parseInt(u[1],10);if(m<0||m>59)return null;l=h*60+(a.startsWith("-")?-m:m);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;l=h*60;break;case "g":case "gg":var o=a;if(!o||!g.eras)return null;o=o.toLowerCase().trim();for(var r=0,F=g.eras.length;r0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a=0;b--){var d=i[b],f=d.dispose;if(f&&typeof f==="function")d.dispose();else{var e=d.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=d._behaviors;if(a)this._disposeComponents(a);a=d._components;if(a){this._disposeComponents(a);d._components=null}}if(!j){var f=c.dispose;if(f&&typeof f==="function")c.dispose();else{var e=c.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=c._behaviors;if(a)this._disposeComponents(a);a=c._components;if(a){this._disposeComponents(a);c._components=null}}}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a1000){var c=[];for(var d=0,f=b.length;d=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+27){var e=document.title;document.title=c;this._setState(a);document.title=e}else this._setState(a);this._raiseNavigate()}else{this._setState(a);this._raiseNavigate()}}};Sys._Application.prototype._raiseNavigate=function(){var d=this._historyPointIsNew,c=this.get_events().getHandler("navigate"),b={};for(var a in this._state)if(a!=="__s")b[a]=this._state[a];var e=new Sys.HistoryEventArgs(b);if(c)c(this,e);if(!d){var f;try{if(Sys.Browser.agent===Sys.Browser.Firefox&&window.location.hash&&(!window.frameElement||window.top.location.hash))Sys.Browser.version<3.5?window.history.go(0):(location.hash=this.get_stateString())}catch(g){}}};Sys._Application.prototype._serializeState=function(d){var b=[];for(var a in d){var e=d[a];if(a==="__s")var c=e;else b[b.length]=a+"="+encodeURIComponent(e)}return b.join("&")+(c?"&&"+c:"")};Sys._Application.prototype._setState=function(a,b){if(this._enableHistory){a=a||"";if(a!==this._currentEntry){if(window.theForm){var d=window.theForm.action,e=d.indexOf("#");window.theForm.action=(e!==-1?d.substring(0,e):d)+"#"+a}if(this._historyFrame&&this._historyPointIsNew){var f=document.createElement("div");f.appendChild(document.createTextNode(b||document.title));var g=f.innerHTML;this._ignoreIFrame=true;var c=this._historyFrame.contentWindow.document;c.open("javascript:''");c.write(""+g+"parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var h=this.get_stateString();if(a!==h){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1&&typeof a.setProperty!="undefined")a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){if(this._ensureReadyStateLoaded())this._executeInternal()},_executeInternal:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_ensureReadyStateLoaded:function(){if(this._useReadyState()&&this._scriptElement.readyState!=="loaded"&&this._scriptElement.readyState!=="complete"){this._scriptDownloadDelegate=Function.createDelegate(this,this._executeInternal);$addHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);return false}return true},_addScriptElementHandlers:function(){if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(this._useReadyState())$addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);else $addHandler(this._scriptElement,"load",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}if(this._useReadyState()&&this._scriptLoadDelegate)$removeHandler(a,"readystatechange",this._scriptLoadDelegate);else $removeHandler(a,"load",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(this._useReadyState()&&a.readyState!=="complete")return;this._completedCallback(a,true)},_useReadyState:function(){return Sys.Browser.agent===Sys.Browser.InternetExplorer&&(Sys.Browser.version<9||(document.documentMode||0)<9)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug&&a.parentNode)a.parentNode.removeChild(a)};Type.registerNamespace("Sys.Net");Sys.Net.WebServiceProxy=function(){};Sys.Net.WebServiceProxy.prototype={get_timeout:function(){return this._timeout||0},set_timeout:function(a){if(a<0)throw Error.argumentOutOfRange("value",a,Sys.Res.invalidTimeout);this._timeout=a},get_defaultUserContext:function(){return typeof this._userContext==="undefined"?null:this._userContext},set_defaultUserContext:function(a){this._userContext=a},get_defaultSucceededCallback:function(){return this._succeeded||null},set_defaultSucceededCallback:function(a){this._succeeded=a},get_defaultFailedCallback:function(){return this._failed||null},set_defaultFailedCallback:function(a){this._failed=a},get_enableJsonp:function(){return !!this._jsonp},set_enableJsonp:function(a){this._jsonp=a},get_path:function(){return this._path||null},set_path:function(a){this._path=a},get_jsonpCallbackParameter:function(){return this._callbackParameter||"callback"},set_jsonpCallbackParameter:function(a){this._callbackParameter=a},_invoke:function(d,e,g,f,c,b,a){c=c||this.get_defaultSucceededCallback();b=b||this.get_defaultFailedCallback();if(a===null||typeof a==="undefined")a=this.get_defaultUserContext();return Sys.Net.WebServiceProxy.invoke(d,e,g,f,c,b,a,this.get_timeout(),this.get_enableJsonp(),this.get_jsonpCallbackParameter())}};Sys.Net.WebServiceProxy.registerClass("Sys.Net.WebServiceProxy");Sys.Net.WebServiceProxy.invoke=function(q,a,m,l,j,b,g,e,w,p){var i=w!==false?Sys.Net.WebServiceProxy._xdomain.exec(q):null,c,n=i&&i.length===3&&(i[1]!==location.protocol||i[2]!==location.host);m=n||m;if(n){p=p||"callback";c="_jsonp"+Sys._jsonp++}if(!l)l={};var r=l;if(!m||!r)r={};var s,h,f=null,k,o=null,u=Sys.Net.WebRequest._createUrl(a?q+"/"+encodeURIComponent(a):q,r,n?p+"=Sys."+c:null);if(n){s=document.createElement("script");s.src=u;k=new Sys._ScriptLoaderTask(s,function(d,b){if(!b||c)t({Message:String.format(Sys.Res.webServiceFailedNoMsg,a)},-1)});function v(){if(f===null)return;f=null;h=new Sys.Net.WebServiceError(true,String.format(Sys.Res.webServiceTimedOut,a));k.dispose();delete Sys[c];if(b)b(h,g,a)}function t(d,e){if(f!==null){window.clearTimeout(f);f=null}k.dispose();delete Sys[c];c=null;if(typeof e!=="undefined"&&e!==200){if(b){h=new Sys.Net.WebServiceError(false,d.Message||String.format(Sys.Res.webServiceFailedNoMsg,a),d.StackTrace||null,d.ExceptionType||null,d);h._statusCode=e;b(h,g,a)}}else if(j)j(d,g,a)}Sys[c]=t;e=e||Sys.Net.WebRequestManager.get_defaultTimeout();if(e>0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");
+Type.registerNamespace('Sys');Sys.Res={'argumentInteger':'Value must be an integer.','invokeCalledTwice':'Cannot call invoke more than once.','webServiceFailed':'The server method \'{0}\' failed with the following error: {1}','argumentType':'Object cannot be converted to the required type.','argumentNull':'Value cannot be null.','scriptAlreadyLoaded':'The script \'{0}\' has been referenced multiple times. If referencing Microsoft AJAX scripts explicitly, set the MicrosoftAjaxMode property of the ScriptManager to Explicit.','scriptDependencyNotFound':'The script \'{0}\' failed to load because it is dependent on script \'{1}\'.','formatBadFormatSpecifier':'Format specifier was invalid.','requiredScriptReferenceNotIncluded':'\'{0}\' requires that you have included a script reference to \'{1}\'.','webServiceFailedNoMsg':'The server method \'{0}\' failed.','argumentDomElement':'Value must be a DOM element.','invalidExecutorType':'Could not create a valid Sys.Net.WebRequestExecutor from: {0}.','cannotCallBeforeResponse':'Cannot call {0} when responseAvailable is false.','actualValue':'Actual value was {0}.','enumInvalidValue':'\'{0}\' is not a valid value for enum {1}.','scriptLoadFailed':'The script \'{0}\' could not be loaded.','parameterCount':'Parameter count mismatch.','cannotDeserializeEmptyString':'Cannot deserialize empty string.','formatInvalidString':'Input string was not in a correct format.','invalidTimeout':'Value must be greater than or equal to zero.','cannotAbortBeforeStart':'Cannot abort when executor has not started.','argument':'Value does not fall within the expected range.','cannotDeserializeInvalidJson':'Cannot deserialize. The data does not correspond to valid JSON.','invalidHttpVerb':'httpVerb cannot be set to an empty or null string.','nullWebRequest':'Cannot call executeRequest with a null webRequest.','eventHandlerInvalid':'Handler was not added through the Sys.UI.DomEvent.addHandler method.','cannotSerializeNonFiniteNumbers':'Cannot serialize non finite numbers.','argumentUndefined':'Value cannot be undefined.','webServiceInvalidReturnType':'The server method \'{0}\' returned an invalid type. Expected type: {1}','servicePathNotSet':'The path to the web service has not been set.','argumentTypeWithTypes':'Object of type \'{0}\' cannot be converted to type \'{1}\'.','cannotCallOnceStarted':'Cannot call {0} once started.','badBaseUrl1':'Base URL does not contain ://.','badBaseUrl2':'Base URL does not contain another /.','badBaseUrl3':'Cannot find last / in base URL.','setExecutorAfterActive':'Cannot set executor after it has become active.','paramName':'Parameter name: {0}','nullReferenceInPath':'Null reference while evaluating data path: \'{0}\'.','cannotCallOutsideHandler':'Cannot call {0} outside of a completed event handler.','cannotSerializeObjectWithCycle':'Cannot serialize object with cyclic reference within child properties.','format':'One of the identified items was in an invalid format.','assertFailedCaller':'Assertion Failed: {0}\r\nat {1}','argumentOutOfRange':'Specified argument was out of the range of valid values.','webServiceTimedOut':'The server method \'{0}\' timed out.','notImplemented':'The method or operation is not implemented.','assertFailed':'Assertion Failed: {0}','invalidOperation':'Operation is not valid due to the current state of the object.','breakIntoDebugger':'{0}\r\n\r\nBreak into debugger?'};
diff --git a/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxApplicationServices.js b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxApplicationServices.js
new file mode 100644
index 00000000..6410f841
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxApplicationServices.js
@@ -0,0 +1,6 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/MicrosoftAjaxApplicationServices.js
+//----------------------------------------------------------
+// Copyright (C) Microsoft Corporation. All rights reserved.
+//----------------------------------------------------------
+// MicrosoftAjaxApplicationServices.js
+Type._registerScript("MicrosoftAjaxApplicationServices.js",["MicrosoftAjaxWebServices.js"]);Type.registerNamespace("Sys.Services");Sys.Services._ProfileService=function(){Sys.Services._ProfileService.initializeBase(this);this.properties={}};Sys.Services._ProfileService.DefaultWebServicePath="";Sys.Services._ProfileService.prototype={_defaultLoadCompletedCallback:null,_defaultSaveCompletedCallback:null,_path:"",_timeout:0,get_defaultLoadCompletedCallback:function(){return this._defaultLoadCompletedCallback},set_defaultLoadCompletedCallback:function(a){this._defaultLoadCompletedCallback=a},get_defaultSaveCompletedCallback:function(){return this._defaultSaveCompletedCallback},set_defaultSaveCompletedCallback:function(a){this._defaultSaveCompletedCallback=a},get_path:function(){return this._path||""},load:function(c,d,e,f){var b,a;if(!c){a="GetAllPropertiesForCurrentUser";b={authenticatedUserOnly:false}}else{a="GetPropertiesForCurrentUser";b={properties:this._clonePropertyNames(c),authenticatedUserOnly:false}}this._invoke(this._get_path(),a,false,b,Function.createDelegate(this,this._onLoadComplete),Function.createDelegate(this,this._onLoadFailed),[d,e,f])},save:function(d,b,c,e){var a=this._flattenProperties(d,this.properties);this._invoke(this._get_path(),"SetPropertiesForCurrentUser",false,{values:a.value,authenticatedUserOnly:false},Function.createDelegate(this,this._onSaveComplete),Function.createDelegate(this,this._onSaveFailed),[b,c,e,a.count])},_clonePropertyNames:function(e){var c=[],d={};for(var b=0;b=0;c--){var f=d[c];if(!g||f.autoRemove)$removeHandler(a,b,f.handler)}}a._events=null}};Sys.UI.DomEvent._disposeHandlers=function(){Sys.UI.DomEvent._clearHandlers(this,true);var b=this._chainDispose,a=typeof b;if(a!=="undefined"){this.dispose=b;this._chainDispose=null;if(a==="function")this.dispose()}};var $removeHandler=Sys.UI.DomEvent.removeHandler=function(b,a,c){Sys.UI.DomEvent._removeHandler(b,a,c)};Sys.UI.DomEvent._removeHandler=function(a,e,f){var d=null,c=a._events[e];for(var b=0,g=c.length;b=3){d+=parseInt(b.borderLeftWidth);e+=parseInt(b.borderTopWidth)}}b=Sys.UI.DomElement._getCurrentStyle(c);var h=b?b.position:null;if(!h||h!=="absolute")for(a=c.parentNode;a;a=a.parentNode){f=a.tagName?a.tagName.toUpperCase():null;if(f!=="BODY"&&f!=="HTML"&&(a.scrollLeft||a.scrollTop)){d-=a.scrollLeft||0;e-=a.scrollTop||0}b=Sys.UI.DomElement._getCurrentStyle(a);var i=b?b.position:null;if(i&&i==="absolute")break}return new Sys.UI.Point(d,e)};else Sys.UI.DomElement.getLocation=function(d){if(d.window&&d.window===d||d.nodeType===9)return new Sys.UI.Point(0,0);var e=0,f=0,a,i=null,g=null,b=null;for(a=d;a;i=a,(g=b,a=a.offsetParent)){var c=a.tagName?a.tagName.toUpperCase():null;b=Sys.UI.DomElement._getCurrentStyle(a);if((a.offsetLeft||a.offsetTop)&&!(c==="BODY"&&(!g||g.position!=="absolute"))){e+=a.offsetLeft;f+=a.offsetTop}if(i!==null&&b){if(c!=="TABLE"&&c!=="TD"&&c!=="HTML"){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}if(c==="TABLE"&&(b.position==="relative"||b.position==="absolute")){e+=parseInt(b.marginLeft)||0;f+=parseInt(b.marginTop)||0}}}b=Sys.UI.DomElement._getCurrentStyle(d);var h=b?b.position:null;if(!h||h!=="absolute")for(a=d.parentNode;a;a=a.parentNode){c=a.tagName?a.tagName.toUpperCase():null;if(c!=="BODY"&&c!=="HTML"&&(a.scrollLeft||a.scrollTop)){e-=a.scrollLeft||0;f-=a.scrollTop||0;b=Sys.UI.DomElement._getCurrentStyle(a);if(b){e+=parseInt(b.borderLeftWidth)||0;f+=parseInt(b.borderTopWidth)||0}}}return new Sys.UI.Point(e,f)};Sys.UI.DomElement.isDomElement=function(a){return Sys._isDomElement(a)};Sys.UI.DomElement.removeCssClass=function(d,c){var a=" "+d.className+" ",b=a.indexOf(" "+c+" ");if(b>=0)d.className=(a.substr(0,b)+" "+a.substring(b+c.length+1,a.length)).trim()};Sys.UI.DomElement.resolveElement=function(b,c){var a=b;if(!a)return null;if(typeof a==="string")a=Sys.UI.DomElement.getElementById(a,c);return a};Sys.UI.DomElement.raiseBubbleEvent=function(c,d){var b=c;while(b){var a=b.control;if(a&&a.onBubbleEvent&&a.raiseBubbleEvent){Sys.UI.DomElement._raiseBubbleEventFromControl(a,c,d);return}b=b.parentNode}};Sys.UI.DomElement._raiseBubbleEventFromControl=function(a,b,c){if(!a.onBubbleEvent(b,c))a._raiseBubbleEvent(b,c)};Sys.UI.DomElement.setLocation=function(b,c,d){var a=b.style;a.position="absolute";a.left=c+"px";a.top=d+"px"};Sys.UI.DomElement.toggleCssClass=function(b,a){if(Sys.UI.DomElement.containsCssClass(b,a))Sys.UI.DomElement.removeCssClass(b,a);else Sys.UI.DomElement.addCssClass(b,a)};Sys.UI.DomElement.getVisibilityMode=function(a){return a._visibilityMode===Sys.UI.VisibilityMode.hide?Sys.UI.VisibilityMode.hide:Sys.UI.VisibilityMode.collapse};Sys.UI.DomElement.setVisibilityMode=function(a,b){Sys.UI.DomElement._ensureOldDisplayMode(a);if(a._visibilityMode!==b){a._visibilityMode=b;if(Sys.UI.DomElement.getVisible(a)===false)if(a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none";a._visibilityMode=b}};Sys.UI.DomElement.getVisible=function(b){var a=b.currentStyle||Sys.UI.DomElement._getCurrentStyle(b);if(!a)return true;return a.visibility!=="hidden"&&a.display!=="none"};Sys.UI.DomElement.setVisible=function(a,b){if(b!==Sys.UI.DomElement.getVisible(a)){Sys.UI.DomElement._ensureOldDisplayMode(a);a.style.visibility=b?"visible":"hidden";if(b||a._visibilityMode===Sys.UI.VisibilityMode.hide)a.style.display=a._oldDisplayMode;else a.style.display="none"}};Sys.UI.DomElement._ensureOldDisplayMode=function(a){if(!a._oldDisplayMode){var b=a.currentStyle||Sys.UI.DomElement._getCurrentStyle(a);a._oldDisplayMode=b?b.display:null;if(!a._oldDisplayMode||a._oldDisplayMode==="none")switch(a.tagName.toUpperCase()){case "DIV":case "P":case "ADDRESS":case "BLOCKQUOTE":case "BODY":case "COL":case "COLGROUP":case "DD":case "DL":case "DT":case "FIELDSET":case "FORM":case "H1":case "H2":case "H3":case "H4":case "H5":case "H6":case "HR":case "IFRAME":case "LEGEND":case "OL":case "PRE":case "TABLE":case "TD":case "TH":case "TR":case "UL":a._oldDisplayMode="block";break;case "LI":a._oldDisplayMode="list-item";break;default:a._oldDisplayMode="inline"}}};Sys.UI.DomElement._getWindow=function(a){var b=a.ownerDocument||a.document||a;return b.defaultView||b.parentWindow};Sys.UI.DomElement._getCurrentStyle=function(a){if(a.nodeType===3)return null;var c=Sys.UI.DomElement._getWindow(a);if(a.documentElement)a=a.documentElement;var b=c&&a!==c&&c.getComputedStyle?c.getComputedStyle(a,null):a.currentStyle||a.style;if(!b&&Sys.Browser.agent===Sys.Browser.Safari&&a.style){var g=a.style.display,f=a.style.position;a.style.position="absolute";a.style.display="block";var e=c.getComputedStyle(a,null);a.style.display=g;a.style.position=f;b={};for(var d in e)b[d]=e[d];b.display="none"}return b};Sys.IContainer=function(){};Sys.IContainer.prototype={};Sys.IContainer.registerInterface("Sys.IContainer");Sys.ApplicationLoadEventArgs=function(b,a){Sys.ApplicationLoadEventArgs.initializeBase(this);this._components=b;this._isPartialLoad=a};Sys.ApplicationLoadEventArgs.prototype={get_components:function(){return this._components},get_isPartialLoad:function(){return this._isPartialLoad}};Sys.ApplicationLoadEventArgs.registerClass("Sys.ApplicationLoadEventArgs",Sys.EventArgs);Sys._Application=function(){Sys._Application.initializeBase(this);this._disposableObjects=[];this._components={};this._createdComponents=[];this._secondPassComponents=[];this._unloadHandlerDelegate=Function.createDelegate(this,this._unloadHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._unloadHandlerDelegate);this._domReady()};Sys._Application.prototype={_creatingComponents:false,_disposing:false,_deleteCount:0,get_isCreatingComponents:function(){return this._creatingComponents},get_isDisposing:function(){return this._disposing},add_init:function(a){if(this._initialized)a(this,Sys.EventArgs.Empty);else this.get_events().addHandler("init",a)},remove_init:function(a){this.get_events().removeHandler("init",a)},add_load:function(a){this.get_events().addHandler("load",a)},remove_load:function(a){this.get_events().removeHandler("load",a)},add_unload:function(a){this.get_events().addHandler("unload",a)},remove_unload:function(a){this.get_events().removeHandler("unload",a)},addComponent:function(a){this._components[a.get_id()]=a},beginCreateComponents:function(){this._creatingComponents=true},dispose:function(){if(!this._disposing){this._disposing=true;if(this._timerCookie){window.clearTimeout(this._timerCookie);delete this._timerCookie}if(this._endRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_endRequest(this._endRequestHandler);delete this._endRequestHandler}if(this._beginRequestHandler){Sys.WebForms.PageRequestManager.getInstance().remove_beginRequest(this._beginRequestHandler);delete this._beginRequestHandler}if(window.pageUnload)window.pageUnload(this,Sys.EventArgs.Empty);var c=this.get_events().getHandler("unload");if(c)c(this,Sys.EventArgs.Empty);var b=Array.clone(this._disposableObjects);for(var a=0,f=b.length;a=0;b--){var d=i[b],f=d.dispose;if(f&&typeof f==="function")d.dispose();else{var e=d.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=d._behaviors;if(a)this._disposeComponents(a);a=d._components;if(a){this._disposeComponents(a);d._components=null}}if(!j){var f=c.dispose;if(f&&typeof f==="function")c.dispose();else{var e=c.control;if(e&&typeof e.dispose==="function")e.dispose()}var a=c._behaviors;if(a)this._disposeComponents(a);a=c._components;if(a){this._disposeComponents(a);c._components=null}}}},endCreateComponents:function(){var b=this._secondPassComponents;for(var a=0,d=b.length;a1000){var c=[];for(var d=0,f=b.length;d=0;b--){var c=a[b];if(typeof c.dispose==="function")c.dispose()}},_domReady:function(){var a,g,f=this;function b(){f.initialize()}var c=function(){Sys.UI.DomEvent.removeHandler(window,"load",c);b()};Sys.UI.DomEvent.addHandler(window,"load",c);if(document.addEventListener)try{document.addEventListener("DOMContentLoaded",a=function(){document.removeEventListener("DOMContentLoaded",a,false);b()},false)}catch(h){}else if(document.attachEvent)if(window==window.top&&document.documentElement.doScroll){var e,d=document.createElement("div");a=function(){try{d.doScroll("left")}catch(c){e=window.setTimeout(a,0);return}d=null;b()};a()}else document.attachEvent("onreadystatechange",a=function(){if(document.readyState==="complete"){document.detachEvent("onreadystatechange",a);b()}})},_raiseInit:function(){var a=this.get_events().getHandler("init");if(a){this.beginCreateComponents();a(this,Sys.EventArgs.Empty);this.endCreateComponents()}},_unloadHandler:function(){this.dispose()}};Sys._Application.registerClass("Sys._Application",Sys.Component,Sys.IContainer);Sys.Application=new Sys._Application;var $find=Sys.Application.findComponent;Sys.UI.Behavior=function(b){Sys.UI.Behavior.initializeBase(this);this._element=b;var a=b._behaviors;if(!a)b._behaviors=[this];else a[a.length]=this};Sys.UI.Behavior.prototype={_name:null,get_element:function(){return this._element},get_id:function(){var a=Sys.UI.Behavior.callBaseMethod(this,"get_id");if(a)return a;if(!this._element||!this._element.id)return "";return this._element.id+"$"+this.get_name()},get_name:function(){if(this._name)return this._name;var a=Object.getTypeName(this),b=a.lastIndexOf(".");if(b!==-1)a=a.substr(b+1);if(!this.get_isInitialized())this._name=a;return a},set_name:function(a){this._name=a},initialize:function(){Sys.UI.Behavior.callBaseMethod(this,"initialize");var a=this.get_name();if(a)this._element[a]=this},dispose:function(){Sys.UI.Behavior.callBaseMethod(this,"dispose");var a=this._element;if(a){var c=this.get_name();if(c)a[c]=null;var b=a._behaviors;Array.remove(b,this);if(b.length===0)a._behaviors=null;delete this._element}}};Sys.UI.Behavior.registerClass("Sys.UI.Behavior",Sys.Component);Sys.UI.Behavior.getBehaviorByName=function(b,c){var a=b[c];return a&&Sys.UI.Behavior.isInstanceOfType(a)?a:null};Sys.UI.Behavior.getBehaviors=function(a){if(!a._behaviors)return [];return Array.clone(a._behaviors)};Sys.UI.Behavior.getBehaviorsByType=function(d,e){var a=d._behaviors,c=[];if(a)for(var b=0,f=a.length;b0){var d=[];for(var c=0;c=d)break;a=Function._validateParameter(g[b],f,h);if(a){a.popStackFrame();return a}}return null};Function._validateParameterCount=function(j,d,i){var a,c,b=d.length,e=j.length;if(eb){c=true;for(a=0;a0&&(d=0};Array.dequeue=function(a){return a.shift()};Array.forEach=function(b,e,d){for(var a=0,f=b.length;a=0)b.splice(a,1);return a>=0};Array.removeAt=function(a,b){a.splice(b,1)};Sys._indexOf=function(d,e,a){if(typeof e==="undefined")return -1;var c=d.length;if(c!==0){a=a-0;if(isNaN(a))a=0;else{if(isFinite(a))a=a-a%1;if(a<0)a=Math.max(0,c+a)}for(var b=a;b-1){Sys.Browser.agent=Sys.Browser.InternetExplorer;Sys.Browser.version=parseFloat(navigator.userAgent.match(/MSIE (\d+\.\d+)/)[1]);if(Sys.Browser.version>=8)if(document.documentMode>=7)Sys.Browser.documentMode=document.documentMode;Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" Firefox/")>-1){Sys.Browser.agent=Sys.Browser.Firefox;Sys.Browser.version=parseFloat(navigator.userAgent.match(/Firefox\/(\d+\.\d+)/)[1]);Sys.Browser.name="Firefox";Sys.Browser.hasDebuggerStatement=true}else if(navigator.userAgent.indexOf(" AppleWebKit/")>-1){Sys.Browser.agent=Sys.Browser.Safari;Sys.Browser.version=parseFloat(navigator.userAgent.match(/AppleWebKit\/(\d+(\.\d+)?)/)[1]);Sys.Browser.name="Safari"}else if(navigator.userAgent.indexOf("Opera/")>-1)Sys.Browser.agent=Sys.Browser.Opera;Sys.EventArgs=function(){};Sys.EventArgs.registerClass("Sys.EventArgs");Sys.EventArgs.Empty=new Sys.EventArgs;Sys.CancelEventArgs=function(){Sys.CancelEventArgs.initializeBase(this);this._cancel=false};Sys.CancelEventArgs.prototype={get_cancel:function(){return this._cancel},set_cancel:function(a){this._cancel=a}};Sys.CancelEventArgs.registerClass("Sys.CancelEventArgs",Sys.EventArgs);Sys.EventHandlerList=function(){this._list={}};Sys.EventHandlerList.prototype={_addHandler:function(b,a){Array.add(this._getEvent(b,true),a)},addHandler:function(b,a){this._addHandler(b,a)},_removeHandler:function(c,b){var a=this._getEvent(c);if(!a)return;Array.remove(a,b)},removeHandler:function(b,a){this._removeHandler(b,a)},getHandler:function(b){var a=this._getEvent(b);if(!a||a.length===0)return null;a=Array.clone(a);return function(c,d){for(var b=0,e=a.length;b=0;d--){var k=h[d].trim();b=a[k];if(typeof b!=="number")throw Error.argument("value",String.format(Sys.Res.enumInvalidValue,c.split(",")[d].trim(),this.__typeName));j|=b}return j}}function Sys$Enum$toString(c){if(typeof c==="undefined"||c===null)return this.__string;var d=this.prototype,a;if(!this.__flags||c===0){for(a in d)if(d[a]===c)return a}else{var b=this.__sortedValues;if(!b){b=[];for(a in d)b[b.length]={key:a,value:d[a]};b.sort(function(a,b){return a.value-b.value});this.__sortedValues=b}var e=[],g=c;for(a=b.length-1;a>=0;a--){var h=b[a],f=h.value;if(f===0)continue;if((f&c)===f){e[e.length]=h.key;g-=f;if(g===0)break}}if(e.length&&g===0)return e.reverse().join(", ")}return ""}Type.prototype.registerEnum=function(b,c){Sys.__upperCaseTypes[b.toUpperCase()]=this;for(var a in this.prototype)this[a]=this.prototype[a];this.__typeName=b;this.parse=Sys$Enum$parse;this.__string=this.toString();this.toString=Sys$Enum$toString;this.__flags=c;this.__enum=true};Type.isEnum=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__enum};Type.isFlags=function(a){if(typeof a==="undefined"||a===null)return false;return !!a.__flags};Sys.CollectionChange=function(e,a,c,b,d){this.action=e;if(a)if(!(a instanceof Array))a=[a];this.newItems=a||null;if(typeof c!=="number")c=-1;this.newStartingIndex=c;if(b)if(!(b instanceof Array))b=[b];this.oldItems=b||null;if(typeof d!=="number")d=-1;this.oldStartingIndex=d};Sys.CollectionChange.registerClass("Sys.CollectionChange");Sys.NotifyCollectionChangedAction=function(){throw Error.notImplemented()};Sys.NotifyCollectionChangedAction.prototype={add:0,remove:1,reset:2};Sys.NotifyCollectionChangedAction.registerEnum("Sys.NotifyCollectionChangedAction");Sys.NotifyCollectionChangedEventArgs=function(a){this._changes=a;Sys.NotifyCollectionChangedEventArgs.initializeBase(this)};Sys.NotifyCollectionChangedEventArgs.prototype={get_changes:function(){return this._changes||[]}};Sys.NotifyCollectionChangedEventArgs.registerClass("Sys.NotifyCollectionChangedEventArgs",Sys.EventArgs);Sys.INotifyPropertyChange=function(){};Sys.INotifyPropertyChange.prototype={};Sys.INotifyPropertyChange.registerInterface("Sys.INotifyPropertyChange");Sys.PropertyChangedEventArgs=function(a){Sys.PropertyChangedEventArgs.initializeBase(this);this._propertyName=a};Sys.PropertyChangedEventArgs.prototype={get_propertyName:function(){return this._propertyName}};Sys.PropertyChangedEventArgs.registerClass("Sys.PropertyChangedEventArgs",Sys.EventArgs);Sys.Observer=function(){};Sys.Observer.registerClass("Sys.Observer");Sys.Observer.makeObservable=function(a){var c=a instanceof Array,b=Sys.Observer;if(a.setValue===b._observeMethods.setValue)return a;b._addMethods(a,b._observeMethods);if(c)b._addMethods(a,b._arrayMethods);return a};Sys.Observer._addMethods=function(c,b){for(var a in b)c[a]=b[a]};Sys.Observer._addEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._addHandler(a,b)};Sys.Observer.addEventHandler=function(c,a,b){Sys.Observer._addEventHandler(c,a,b)};Sys.Observer._removeEventHandler=function(c,a,b){Sys.Observer._getContext(c,true).events._removeHandler(a,b)};Sys.Observer.removeEventHandler=function(c,a,b){Sys.Observer._removeEventHandler(c,a,b)};Sys.Observer.raiseEvent=function(b,e,d){var c=Sys.Observer._getContext(b);if(!c)return;var a=c.events.getHandler(e);if(a)a(b,d)};Sys.Observer.addPropertyChanged=function(b,a){Sys.Observer._addEventHandler(b,"propertyChanged",a)};Sys.Observer.removePropertyChanged=function(b,a){Sys.Observer._removeEventHandler(b,"propertyChanged",a)};Sys.Observer.beginUpdate=function(a){Sys.Observer._getContext(a,true).updating=true};Sys.Observer.endUpdate=function(b){var a=Sys.Observer._getContext(b);if(!a||!a.updating)return;a.updating=false;var d=a.dirty;a.dirty=false;if(d){if(b instanceof Array){var c=a.changes;a.changes=null;Sys.Observer.raiseCollectionChanged(b,c)}Sys.Observer.raisePropertyChanged(b,"")}};Sys.Observer.isUpdating=function(b){var a=Sys.Observer._getContext(b);return a?a.updating:false};Sys.Observer._setValue=function(a,j,g){var b,f,k=a,d=j.split(".");for(var i=0,m=d.length-1;i-1&&ac.Calendar.TwoDigitYearMax)a-=100}return a};Date._getEra=function(e,c){if(!c)return 0;var b,d=e.getTime();for(var a=0,f=c.length;a=b)return a}return 0};Date._getEraYear=function(d,b,e,c){var a=d.getFullYear();if(!c&&b.eras)a-=b.eras[e+3];return a};Date._getParseRegExp=function(b,e){if(!b._parseRegExp)b._parseRegExp={};else if(b._parseRegExp[e])return b._parseRegExp[e];var c=Date._expandFormat(b,e);c=c.replace(/([\^\$\.\*\+\?\|\[\]\(\)\{\}])/g,"\\\\$1");var a=new Sys.StringBuilder("^"),j=[],f=0,i=0,h=Date._getTokenRegExp(),d;while((d=h.exec(c))!==null){var l=c.slice(f,d.index);f=h.lastIndex;i+=Date._appendPreOrPostMatch(l,a);if(i%2===1){a.append(d[0]);continue}switch(d[0]){case "dddd":case "ddd":case "MMMM":case "MMM":case "gg":case "g":a.append("(\\D+)");break;case "tt":case "t":a.append("(\\D*)");break;case "yyyy":a.append("(\\d{4})");break;case "fff":a.append("(\\d{3})");break;case "ff":a.append("(\\d{2})");break;case "f":a.append("(\\d)");break;case "dd":case "d":case "MM":case "M":case "yy":case "y":case "HH":case "H":case "hh":case "h":case "mm":case "m":case "ss":case "s":a.append("(\\d\\d?)");break;case "zzz":a.append("([+-]?\\d\\d?:\\d{2})");break;case "zz":case "z":a.append("([+-]?\\d\\d?)");break;case "/":a.append("(\\"+b.DateSeparator+")")}Array.add(j,d[0])}Date._appendPreOrPostMatch(c.slice(f),a);a.append("$");var k=a.toString().replace(/\s+/g,"\\s+"),g={"regExp":k,"groups":j};b._parseRegExp[e]=g;return g};Date._getTokenRegExp=function(){return /\/|dddd|ddd|dd|d|MMMM|MMM|MM|M|yyyy|yy|y|hh|h|HH|H|mm|m|ss|s|tt|t|fff|ff|f|zzz|zz|z|gg|g/g};Date.parseLocale=function(a){return Date._parse(a,Sys.CultureInfo.CurrentCulture,arguments)};Date.parseInvariant=function(a){return Date._parse(a,Sys.CultureInfo.InvariantCulture,arguments)};Date._parse=function(h,d,i){var a,c,b,f,e,g=false;for(a=1,c=i.length;a31)return null;break;case "MMMM":c=k._getMonthIndex(a);if(c<0||c>11)return null;break;case "MMM":c=k._getAbbrMonthIndex(a);if(c<0||c>11)return null;break;case "M":case "MM":c=parseInt(a,10)-1;if(c<0||c>11)return null;break;case "y":case "yy":e=Date._expandYear(g,parseInt(a,10));if(e<0||e>9999)return null;break;case "yyyy":e=parseInt(a,10);if(e<0||e>9999)return null;break;case "h":case "hh":d=parseInt(a,10);if(d===12)d=0;if(d<0||d>11)return null;break;case "H":case "HH":d=parseInt(a,10);if(d<0||d>23)return null;break;case "m":case "mm":p=parseInt(a,10);if(p<0||p>59)return null;break;case "s":case "ss":q=parseInt(a,10);if(q<0||q>59)return null;break;case "tt":case "t":var z=a.toUpperCase();v=z===g.PMDesignator.toUpperCase();if(!v&&z!==g.AMDesignator.toUpperCase())return null;break;case "f":f=parseInt(a,10)*100;if(f<0||f>999)return null;break;case "ff":f=parseInt(a,10)*10;if(f<0||f>999)return null;break;case "fff":f=parseInt(a,10);if(f<0||f>999)return null;break;case "dddd":i=k._getDayIndex(a);if(i<0||i>6)return null;break;case "ddd":i=k._getAbbrDayIndex(a);if(i<0||i>6)return null;break;case "zzz":var u=a.split(/:/);if(u.length!==2)return null;h=parseInt(u[0],10);if(h<-12||h>13)return null;var m=parseInt(u[1],10);if(m<0||m>59)return null;l=h*60+(a.startsWith("-")?-m:m);break;case "z":case "zz":h=parseInt(a,10);if(h<-12||h>13)return null;l=h*60;break;case "g":case "gg":var o=a;if(!o||!g.eras)return null;o=o.toLowerCase().trim();for(var r=0,F=g.eras.length;r0)return this.toLocaleString();else return this.toString();var o=["n %","n%","%n"],n=["-n %","-n%","-%n"],p=["(n)","-n","- n","n-","n -"],m=["$n","n$","$ n","n $"],l=["($n)","-$n","$-n","$n-","(n$)","-n$","n-$","n$-","-n $","-$ n","n $-","$ n-","$ -n","n- $","($ n)","(n $)"];function g(a,c,d){for(var b=a.length;b1?parseInt(e[1]):0;e=b.split(".");b=e[0];a=e.length>1?e[1]:"";var q;if(c>0){a=g(a,c,false);b+=a.slice(0,c);a=a.substr(c)}else if(c<0){c=-c;b=g(b,c+1,true);a=b.slice(-c,b.length)+a;b=b.slice(0,-c)}if(i>0){if(a.length>i)a=a.slice(0,i);else a=g(a,i,false);a=p+a}else a="";var d=b.length-1,f="";while(d>=0){if(h===0||h>d)if(f.length>0)return b.slice(0,d+1)+n+f+a;else return b.slice(0,d+1)+a;if(f.length>0)f=b.slice(d-h+1,d+1)+n+f;else f=b.slice(d-h+1,d+1);d-=h;if(k1)b=parseInt(e.slice(1),10);var c;switch(e.charAt(0)){case "d":case "D":c="n";if(b!==-1)d=g(""+d,b,true);if(this<0)d=-d;break;case "c":case "C":if(this<0)c=l[a.CurrencyNegativePattern];else c=m[a.CurrencyPositivePattern];if(b===-1)b=a.CurrencyDecimalDigits;d=i(Math.abs(this),b,a.CurrencyGroupSizes,a.CurrencyGroupSeparator,a.CurrencyDecimalSeparator);break;case "n":case "N":if(this<0)c=p[a.NumberNegativePattern];else c="n";if(b===-1)b=a.NumberDecimalDigits;d=i(Math.abs(this),b,a.NumberGroupSizes,a.NumberGroupSeparator,a.NumberDecimalSeparator);break;case "p":case "P":if(this<0)c=n[a.PercentNegativePattern];else c=o[a.PercentPositivePattern];if(b===-1)b=a.PercentDecimalDigits;d=i(Math.abs(this)*100,b,a.PercentGroupSizes,a.PercentGroupSeparator,a.PercentDecimalSeparator);break;default:throw Error.format(Sys.Res.formatBadFormatSpecifier)}var k=/n|\$|-|%/g,f="";for(;true;){var q=k.lastIndex,h=k.exec(c);f+=c.slice(q,h?h.index:c.length);if(!h)break;switch(h[0]){case "n":f+=d;break;case "$":f+=a.CurrencySymbol;break;case "-":if(/[1-9]/.test(d))f+=a.NegativeSign;break;case "%":f+=a.PercentSymbol}}return f};Sys.CultureInfo=function(c,b,a){this.name=c;this.numberFormat=b;this.dateTimeFormat=a};Sys.CultureInfo.prototype={_getDateTimeFormats:function(){if(!this._dateTimeFormats){var a=this.dateTimeFormat;this._dateTimeFormats=[a.MonthDayPattern,a.YearMonthPattern,a.ShortDatePattern,a.ShortTimePattern,a.LongDatePattern,a.LongTimePattern,a.FullDateTimePattern,a.RFC1123Pattern,a.SortableDateTimePattern,a.UniversalSortableDateTimePattern]}return this._dateTimeFormats},_getIndex:function(c,d,e){var b=this._toUpper(c),a=Array.indexOf(d,b);if(a===-1)a=Array.indexOf(e,b);return a},_getMonthIndex:function(a){if(!this._upperMonths){this._upperMonths=this._toUpperArray(this.dateTimeFormat.MonthNames);this._upperMonthsGenitive=this._toUpperArray(this.dateTimeFormat.MonthGenitiveNames)}return this._getIndex(a,this._upperMonths,this._upperMonthsGenitive)},_getAbbrMonthIndex:function(a){if(!this._upperAbbrMonths){this._upperAbbrMonths=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthNames);this._upperAbbrMonthsGenitive=this._toUpperArray(this.dateTimeFormat.AbbreviatedMonthGenitiveNames)}return this._getIndex(a,this._upperAbbrMonths,this._upperAbbrMonthsGenitive)},_getDayIndex:function(a){if(!this._upperDays)this._upperDays=this._toUpperArray(this.dateTimeFormat.DayNames);return Array.indexOf(this._upperDays,this._toUpper(a))},_getAbbrDayIndex:function(a){if(!this._upperAbbrDays)this._upperAbbrDays=this._toUpperArray(this.dateTimeFormat.AbbreviatedDayNames);return Array.indexOf(this._upperAbbrDays,this._toUpper(a))},_toUpperArray:function(c){var b=[];for(var a=0,d=c.length;a0&&a.charAt(0)==="#")a=a.substring(1);return a};Sys._Application.prototype.get_enableHistory=function(){return this._enableHistory};Sys._Application.prototype.set_enableHistory=function(a){this._enableHistory=a};Sys._Application.prototype.add_navigate=function(a){this.get_events().addHandler("navigate",a)};Sys._Application.prototype.remove_navigate=function(a){this.get_events().removeHandler("navigate",a)};Sys._Application.prototype.addHistoryPoint=function(c,f){this._ensureHistory();var b=this._state;for(var a in c){var d=c[a];if(d===null){if(typeof b[a]!=="undefined")delete b[a]}else b[a]=d}var e=this._serializeState(b);this._historyPointIsNew=true;this._setState(e,f);this._raiseNavigate()};Sys._Application.prototype.setServerId=function(a,b){this._clientId=a;this._uniqueId=b};Sys._Application.prototype.setServerState=function(a){this._ensureHistory();this._state.__s=a;this._updateHiddenField(a)};Sys._Application.prototype._deserializeState=function(a){var e={};a=a||"";var b=a.indexOf("&&");if(b!==-1&&b+27){var e=document.title;document.title=c;this._setState(a);document.title=e}else this._setState(a);this._raiseNavigate()}else{this._setState(a);this._raiseNavigate()}}};Sys._Application.prototype._raiseNavigate=function(){var d=this._historyPointIsNew,c=this.get_events().getHandler("navigate"),b={};for(var a in this._state)if(a!=="__s")b[a]=this._state[a];var e=new Sys.HistoryEventArgs(b);if(c)c(this,e);if(!d){var f;try{if(Sys.Browser.agent===Sys.Browser.Firefox&&window.location.hash&&(!window.frameElement||window.top.location.hash))Sys.Browser.version<3.5?window.history.go(0):(location.hash=this.get_stateString())}catch(g){}}};Sys._Application.prototype._serializeState=function(d){var b=[];for(var a in d){var e=d[a];if(a==="__s")var c=e;else b[b.length]=a+"="+encodeURIComponent(e)}return b.join("&")+(c?"&&"+c:"")};Sys._Application.prototype._setState=function(a,b){if(this._enableHistory){a=a||"";if(a!==this._currentEntry){if(window.theForm){var d=window.theForm.action,e=d.indexOf("#");window.theForm.action=(e!==-1?d.substring(0,e):d)+"#"+a}if(this._historyFrame&&this._historyPointIsNew){var f=document.createElement("div");f.appendChild(document.createTextNode(b||document.title));var g=f.innerHTML;this._ignoreIFrame=true;var c=this._historyFrame.contentWindow.document;c.open("javascript:''");c.write(""+g+"parent.Sys.Application._onIFrameLoad('+Sys.Serialization.JavaScriptSerializer.serialize(a)+");");c.close()}this._ignoreTimer=false;this._currentEntry=a;if(this._historyFrame||this._historyPointIsNew){var h=this.get_stateString();if(a!==h){window.location.hash=a;this._currentEntry=this.get_stateString();if(typeof b!=="undefined"&&b!==null)document.title=b}}this._historyPointIsNew=false}}};Sys._Application.prototype._updateHiddenField=function(b){if(this._clientId){var a=document.getElementById(this._clientId);if(a)a.value=b}};
diff --git a/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxNetwork.js b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxNetwork.js
new file mode 100644
index 00000000..b5ac8fb0
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxNetwork.js
@@ -0,0 +1,6 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/MicrosoftAjaxNetwork.js
+//----------------------------------------------------------
+// Copyright (C) Microsoft Corporation. All rights reserved.
+//----------------------------------------------------------
+// MicrosoftAjaxNetwork.js
+Type._registerScript("MicrosoftAjaxNetwork.js",["MicrosoftAjaxSerialization.js"]);if(!window.XMLHttpRequest)window.XMLHttpRequest=function(){var b=["Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP"];for(var a=0,c=b.length;a0)this._timer=window.setTimeout(Function.createDelegate(this,this._onTimeout),d);this._xmlHttpRequest.send(c);this._started=true},getResponseHeader:function(b){var a;try{a=this._xmlHttpRequest.getResponseHeader(b)}catch(c){}if(!a)a="";return a},getAllResponseHeaders:function(){return this._xmlHttpRequest.getAllResponseHeaders()},get_responseData:function(){return this._xmlHttpRequest.responseText},get_statusCode:function(){var a=0;try{a=this._xmlHttpRequest.status}catch(b){}return a},get_statusText:function(){return this._xmlHttpRequest.statusText},get_xml:function(){var a=this._xmlHttpRequest.responseXML;if(!a||!a.documentElement){a=Sys.Net.XMLDOM(this._xmlHttpRequest.responseText);if(!a||!a.documentElement)return null}else if(navigator.userAgent.indexOf("MSIE")!==-1&&typeof a.setProperty!="undefined")a.setProperty("SelectionLanguage","XPath");if(a.documentElement.namespaceURI==="http://www.mozilla.org/newlayout/xml/parsererror.xml"&&a.documentElement.tagName==="parsererror")return null;if(a.documentElement.firstChild&&a.documentElement.firstChild.tagName==="parsererror")return null;return a},abort:function(){if(this._aborted||this._responseAvailable||this._timedOut)return;this._aborted=true;this._clearTimer();if(this._xmlHttpRequest&&!this._responseAvailable){this._xmlHttpRequest.onreadystatechange=Function.emptyMethod;this._xmlHttpRequest.abort();this._xmlHttpRequest=null;this._webRequest.completed(Sys.EventArgs.Empty)}}};Sys.Net.XMLHttpExecutor.registerClass("Sys.Net.XMLHttpExecutor",Sys.Net.WebRequestExecutor);Sys.Net._WebRequestManager=function(){this._defaultTimeout=0;this._defaultExecutorType="Sys.Net.XMLHttpExecutor"};Sys.Net._WebRequestManager.prototype={add_invokingRequest:function(a){this._get_eventHandlerList().addHandler("invokingRequest",a)},remove_invokingRequest:function(a){this._get_eventHandlerList().removeHandler("invokingRequest",a)},add_completedRequest:function(a){this._get_eventHandlerList().addHandler("completedRequest",a)},remove_completedRequest:function(a){this._get_eventHandlerList().removeHandler("completedRequest",a)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_defaultTimeout:function(){return this._defaultTimeout},set_defaultTimeout:function(a){this._defaultTimeout=a},get_defaultExecutorType:function(){return this._defaultExecutorType},set_defaultExecutorType:function(a){this._defaultExecutorType=a},executeRequest:function(webRequest){var executor=webRequest.get_executor();if(!executor){var failed=false;try{var executorType=eval(this._defaultExecutorType);executor=new executorType}catch(a){failed=true}webRequest.set_executor(executor)}if(executor.get_aborted())return;var evArgs=new Sys.Net.NetworkRequestEventArgs(webRequest),handler=this._get_eventHandlerList().getHandler("invokingRequest");if(handler)handler(this,evArgs);if(!evArgs.get_cancel())executor.executeRequest()}};Sys.Net._WebRequestManager.registerClass("Sys.Net._WebRequestManager");Sys.Net.WebRequestManager=new Sys.Net._WebRequestManager;Sys.Net.NetworkRequestEventArgs=function(a){Sys.Net.NetworkRequestEventArgs.initializeBase(this);this._webRequest=a};Sys.Net.NetworkRequestEventArgs.prototype={get_webRequest:function(){return this._webRequest}};Sys.Net.NetworkRequestEventArgs.registerClass("Sys.Net.NetworkRequestEventArgs",Sys.CancelEventArgs);Sys.Net.WebRequest=function(){this._url="";this._headers={};this._body=null;this._userContext=null;this._httpVerb=null;this._executor=null;this._invokeCalled=false;this._timeout=0};Sys.Net.WebRequest.prototype={add_completed:function(a){this._get_eventHandlerList().addHandler("completed",a)},remove_completed:function(a){this._get_eventHandlerList().removeHandler("completed",a)},completed:function(b){var a=Sys.Net.WebRequestManager._get_eventHandlerList().getHandler("completedRequest");if(a)a(this._executor,b);a=this._get_eventHandlerList().getHandler("completed");if(a)a(this._executor,b)},_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_url:function(){return this._url},set_url:function(a){this._url=a},get_headers:function(){return this._headers},get_httpVerb:function(){if(this._httpVerb===null){if(this._body===null)return "GET";return "POST"}return this._httpVerb},set_httpVerb:function(a){this._httpVerb=a},get_body:function(){return this._body},set_body:function(a){this._body=a},get_userContext:function(){return this._userContext},set_userContext:function(a){this._userContext=a},get_executor:function(){return this._executor},set_executor:function(a){this._executor=a;this._executor._set_webRequest(this)},get_timeout:function(){if(this._timeout===0)return Sys.Net.WebRequestManager.get_defaultTimeout();return this._timeout},set_timeout:function(a){this._timeout=a},getResolvedUrl:function(){return Sys.Net.WebRequest._resolveUrl(this._url)},invoke:function(){Sys.Net.WebRequestManager.executeRequest(this);this._invokeCalled=true}};Sys.Net.WebRequest._resolveUrl=function(b,a){if(b&&b.indexOf("://")!==-1)return b;if(!a||a.length===0){var d=document.getElementsByTagName("base")[0];if(d&&d.href&&d.href.length>0)a=d.href;else a=document.URL}var c=a.indexOf("?");if(c!==-1)a=a.substr(0,c);c=a.indexOf("#");if(c!==-1)a=a.substr(0,c);a=a.substr(0,a.lastIndexOf("/")+1);if(!b||b.length===0)return a;if(b.charAt(0)==="/"){var e=a.indexOf("://"),g=a.indexOf("/",e+3);return a.substr(0,g)+b}else{var f=a.lastIndexOf("/");return a.substr(0,f+1)+b}};Sys.Net.WebRequest._createQueryString=function(c,b,f){b=b||encodeURIComponent;var h=0,e,g,d,a=new Sys.StringBuilder;if(c)for(d in c){e=c[d];if(typeof e==="function")continue;g=Sys.Serialization.JavaScriptSerializer.serialize(e);if(h++)a.append("&");a.append(d);a.append("=");a.append(b(g))}if(f){if(h)a.append("&");a.append(f)}return a.toString()};Sys.Net.WebRequest._createUrl=function(a,b,c){if(!b&&!c)return a;var d=Sys.Net.WebRequest._createQueryString(b,null,c);return d.length?a+(a&&a.indexOf("?")>=0?"&":"?")+d:a};Sys.Net.WebRequest.registerClass("Sys.Net.WebRequest");Sys._ScriptLoaderTask=function(b,a){this._scriptElement=b;this._completedCallback=a};Sys._ScriptLoaderTask.prototype={get_scriptElement:function(){return this._scriptElement},dispose:function(){if(this._disposed)return;this._disposed=true;this._removeScriptElementHandlers();Sys._ScriptLoaderTask._clearScript(this._scriptElement);this._scriptElement=null},execute:function(){if(this._ensureReadyStateLoaded())this._executeInternal()},_executeInternal:function(){this._addScriptElementHandlers();document.getElementsByTagName("head")[0].appendChild(this._scriptElement)},_ensureReadyStateLoaded:function(){if(this._useReadyState()&&this._scriptElement.readyState!=="loaded"&&this._scriptElement.readyState!=="complete"){this._scriptDownloadDelegate=Function.createDelegate(this,this._executeInternal);$addHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);return false}return true},_addScriptElementHandlers:function(){if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}this._scriptLoadDelegate=Function.createDelegate(this,this._scriptLoadHandler);if(this._useReadyState())$addHandler(this._scriptElement,"readystatechange",this._scriptLoadDelegate);else $addHandler(this._scriptElement,"load",this._scriptLoadDelegate);if(this._scriptElement.addEventListener){this._scriptErrorDelegate=Function.createDelegate(this,this._scriptErrorHandler);this._scriptElement.addEventListener("error",this._scriptErrorDelegate,false)}},_removeScriptElementHandlers:function(){if(this._scriptLoadDelegate){var a=this.get_scriptElement();if(this._scriptDownloadDelegate){$removeHandler(this._scriptElement,"readystatechange",this._scriptDownloadDelegate);this._scriptDownloadDelegate=null}if(this._useReadyState()&&this._scriptLoadDelegate)$removeHandler(a,"readystatechange",this._scriptLoadDelegate);else $removeHandler(a,"load",this._scriptLoadDelegate);if(this._scriptErrorDelegate){this._scriptElement.removeEventListener("error",this._scriptErrorDelegate,false);this._scriptErrorDelegate=null}this._scriptLoadDelegate=null}},_scriptErrorHandler:function(){if(this._disposed)return;this._completedCallback(this.get_scriptElement(),false)},_scriptLoadHandler:function(){if(this._disposed)return;var a=this.get_scriptElement();if(this._useReadyState()&&a.readyState!=="complete")return;this._completedCallback(a,true)},_useReadyState:function(){return Sys.Browser.agent===Sys.Browser.InternetExplorer&&(Sys.Browser.version<9||(document.documentMode||0)<9)}};Sys._ScriptLoaderTask.registerClass("Sys._ScriptLoaderTask",null,Sys.IDisposable);Sys._ScriptLoaderTask._clearScript=function(a){if(!Sys.Debug.isDebug&&a.parentNode)a.parentNode.removeChild(a)};
diff --git a/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxSerialization.js b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxSerialization.js
new file mode 100644
index 00000000..f8f13d84
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/content/Scripts/WebForms/MSAjax/MicrosoftAjaxSerialization.js
@@ -0,0 +1,6 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/MicrosoftAjaxSerialization.js
+//----------------------------------------------------------
+// Copyright (C) Microsoft Corporation. All rights reserved.
+//----------------------------------------------------------
+// MicrosoftAjaxSerialization.js
+Type._registerScript("MicrosoftAjaxSerialization.js",["MicrosoftAjaxCore.js"]);Type.registerNamespace("Sys.Serialization");Sys.Serialization.JavaScriptSerializer=function(){};Sys.Serialization.JavaScriptSerializer.registerClass("Sys.Serialization.JavaScriptSerializer");Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs=[];Sys.Serialization.JavaScriptSerializer._charsToEscape=[];Sys.Serialization.JavaScriptSerializer._dateRegEx=new RegExp('(^|[^\\\\])\\"\\\\/Date\\((-?[0-9]+)(?:[a-zA-Z]|(?:\\+|-)[0-9]{4})?\\)\\\\/\\"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars={};Sys.Serialization.JavaScriptSerializer._escapeRegEx=new RegExp('["\\\\\\x00-\\x1F]',"i");Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal=new RegExp('["\\\\\\x00-\\x1F]',"g");Sys.Serialization.JavaScriptSerializer._jsonRegEx=new RegExp("[^,:{}\\[\\]0-9.\\-+Eaeflnr-u \\n\\r\\t]","g");Sys.Serialization.JavaScriptSerializer._jsonStringRegEx=new RegExp('"(\\\\.|[^"\\\\])*"',"g");Sys.Serialization.JavaScriptSerializer._serverTypeFieldName="__type";Sys.Serialization.JavaScriptSerializer._init=function(){var c=["\\u0000","\\u0001","\\u0002","\\u0003","\\u0004","\\u0005","\\u0006","\\u0007","\\b","\\t","\\n","\\u000b","\\f","\\r","\\u000e","\\u000f","\\u0010","\\u0011","\\u0012","\\u0013","\\u0014","\\u0015","\\u0016","\\u0017","\\u0018","\\u0019","\\u001a","\\u001b","\\u001c","\\u001d","\\u001e","\\u001f"];Sys.Serialization.JavaScriptSerializer._charsToEscape[0]="\\";Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs["\\"]=new RegExp("\\\\","g");Sys.Serialization.JavaScriptSerializer._escapeChars["\\"]="\\\\";Sys.Serialization.JavaScriptSerializer._charsToEscape[1]='"';Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs['"']=new RegExp('"',"g");Sys.Serialization.JavaScriptSerializer._escapeChars['"']='\\"';for(var a=0;a<32;a++){var b=String.fromCharCode(a);Sys.Serialization.JavaScriptSerializer._charsToEscape[a+2]=b;Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b]=new RegExp(b,"g");Sys.Serialization.JavaScriptSerializer._escapeChars[b]=c[a]}};Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder=function(b,a){a.append(b.toString())};Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder=function(a,b){if(isFinite(a))b.append(String(a));else throw Error.invalidOperation(Sys.Res.cannotSerializeNonFiniteNumbers)};Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder=function(a,c){c.append('"');if(Sys.Serialization.JavaScriptSerializer._escapeRegEx.test(a)){if(Sys.Serialization.JavaScriptSerializer._charsToEscape.length===0)Sys.Serialization.JavaScriptSerializer._init();if(a.length<128)a=a.replace(Sys.Serialization.JavaScriptSerializer._escapeRegExGlobal,function(a){return Sys.Serialization.JavaScriptSerializer._escapeChars[a]});else for(var d=0;d<34;d++){var b=Sys.Serialization.JavaScriptSerializer._charsToEscape[d];if(a.indexOf(b)!==-1)if(Sys.Browser.agent===Sys.Browser.Opera||Sys.Browser.agent===Sys.Browser.FireFox)a=a.split(b).join(Sys.Serialization.JavaScriptSerializer._escapeChars[b]);else a=a.replace(Sys.Serialization.JavaScriptSerializer._charsToEscapeRegExs[b],Sys.Serialization.JavaScriptSerializer._escapeChars[b])}}c.append(a);c.append('"')};Sys.Serialization.JavaScriptSerializer._serializeWithBuilder=function(b,a,i,g){var c;switch(typeof b){case "object":if(b)if(Number.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeNumberWithBuilder(b,a);else if(Boolean.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeBooleanWithBuilder(b,a);else if(String.isInstanceOfType(b))Sys.Serialization.JavaScriptSerializer._serializeStringWithBuilder(b,a);else if(Array.isInstanceOfType(b)){a.append("[");for(c=0;c0)a.append(",");Sys.Serialization.JavaScriptSerializer._serializeWithBuilder(b[c],a,false,g)}a.append("]")}else{if(Date.isInstanceOfType(b)){a.append('"\\/Date(');a.append(b.getTime());a.append(')\\/"');break}var d=[],f=0;for(var e in b){if(e.startsWith("$"))continue;if(e===Sys.Serialization.JavaScriptSerializer._serverTypeFieldName&&f!==0){d[f++]=d[0];d[0]=e}else d[f++]=e}if(i)d.sort();a.append("{");var j=false;for(c=0;c0){var b=Array.dequeue(c.scriptsToLoad),f=this._scriptLoadedDelegate;if(b.fallback){var g=b.fallback;delete b.fallback;var d=this;f=function(b,a){a||function(){var a=d._createScriptElement({src:g});d._currentTask=new Sys._ScriptLoaderTask(a,d._scriptLoadedDelegate);d._currentTask.execute()}()}}var a=this._createScriptElement(b);if(a.text&&Sys.Browser.agent===Sys.Browser.Safari){a.innerHTML=a.text;delete a.text}if(typeof b.src==="string"){this._currentTask=new Sys._ScriptLoaderTask(a,f);this._currentTask.execute()}else{document.getElementsByTagName("head")[0].appendChild(a);Sys._ScriptLoaderTask._clearScript(a);this._loadScriptsInternal()}}else{this._stopSession();var e=c.allScriptsLoadedCallback;if(e)e(this);this._nextSession()}},_nextSession:function(){if(this._sessions.length===0){this._loading=false;this._currentSession=null;return}this._loading=true;var a=Array.dequeue(this._sessions);this._currentSession=a;if(a.scriptTimeout>0)this._timeoutCookie=window.setTimeout(Function.createDelegate(this,this._scriptLoadTimeoutHandler),a.scriptTimeout*1000);this._loadScriptsInternal()},_raiseError:function(){var b=this._currentSession.scriptLoadFailedCallback,a=this._currentTask.get_scriptElement();this._stopSession();if(b){b(this,a);this._nextSession()}else{this._loading=false;throw Sys._ScriptLoader._errorScriptLoadFailed(a.src)}},_scriptLoadedHandler:function(a,b){if(b){Array.add(Sys._ScriptLoader._getLoadedScripts(),a.src);this._currentTask.dispose();this._currentTask=null;this._loadScriptsInternal()}else this._raiseError()},_scriptLoadTimeoutHandler:function(){var a=this._currentSession.scriptLoadTimeoutCallback;this._stopSession();if(a)a(this);this._nextSession()},_stopSession:function(){if(this._timeoutCookie){window.clearTimeout(this._timeoutCookie);this._timeoutCookie=null}if(this._currentTask){this._currentTask.dispose();this._currentTask=null}}};Sys._ScriptLoader.registerClass("Sys._ScriptLoader",null,Sys.IDisposable);Sys._ScriptLoader.getInstance=function(){var a=Sys._ScriptLoader._activeInstance;if(!a)a=Sys._ScriptLoader._activeInstance=new Sys._ScriptLoader;return a};Sys._ScriptLoader.isScriptLoaded=function(b){var a=document.createElement("script");a.src=b;return Array.contains(Sys._ScriptLoader._getLoadedScripts(),a.src)};Sys._ScriptLoader.readLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){var c=Sys._ScriptLoader._referencedScripts=[],d=document.getElementsByTagName("script");for(var b=d.length-1;b>=0;b--){var e=d[b],a=e.src;if(a.length)if(!Array.contains(c,a))Array.add(c,a)}}};Sys._ScriptLoader._errorScriptLoadFailed=function(b){var a;a=Sys.Res.scriptLoadFailed;var d="Sys.ScriptLoadFailedException: "+String.format(a,b),c=Error.create(d,{name:"Sys.ScriptLoadFailedException","scriptUrl":b});c.popStackFrame();return c};Sys._ScriptLoader._getLoadedScripts=function(){if(!Sys._ScriptLoader._referencedScripts){Sys._ScriptLoader._referencedScripts=[];Sys._ScriptLoader.readLoadedScripts()}return Sys._ScriptLoader._referencedScripts};Sys.WebForms.PageRequestManager=function(){this._form=null;this._activeDefaultButton=null;this._activeDefaultButtonClicked=false;this._updatePanelIDs=null;this._updatePanelClientIDs=null;this._updatePanelHasChildrenAsTriggers=null;this._asyncPostBackControlIDs=null;this._asyncPostBackControlClientIDs=null;this._postBackControlIDs=null;this._postBackControlClientIDs=null;this._scriptManagerID=null;this._pageLoadedHandler=null;this._additionalInput=null;this._onsubmit=null;this._onSubmitStatements=[];this._originalDoPostBack=null;this._originalDoPostBackWithOptions=null;this._originalFireDefaultButton=null;this._originalDoCallback=null;this._isCrossPost=false;this._postBackSettings=null;this._request=null;this._onFormSubmitHandler=null;this._onFormElementClickHandler=null;this._onWindowUnloadHandler=null;this._asyncPostBackTimeout=null;this._controlIDToFocus=null;this._scrollPosition=null;this._processingRequest=false;this._scriptDisposes={};this._transientFields=["__VIEWSTATEENCRYPTED","__VIEWSTATEFIELDCOUNT"];this._textTypes=/^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i};Sys.WebForms.PageRequestManager.prototype={_get_eventHandlerList:function(){if(!this._events)this._events=new Sys.EventHandlerList;return this._events},get_isInAsyncPostBack:function(){return this._request!==null},add_beginRequest:function(a){this._get_eventHandlerList().addHandler("beginRequest",a)},remove_beginRequest:function(a){this._get_eventHandlerList().removeHandler("beginRequest",a)},add_endRequest:function(a){this._get_eventHandlerList().addHandler("endRequest",a)},remove_endRequest:function(a){this._get_eventHandlerList().removeHandler("endRequest",a)},add_initializeRequest:function(a){this._get_eventHandlerList().addHandler("initializeRequest",a)},remove_initializeRequest:function(a){this._get_eventHandlerList().removeHandler("initializeRequest",a)},add_pageLoaded:function(a){this._get_eventHandlerList().addHandler("pageLoaded",a)},remove_pageLoaded:function(a){this._get_eventHandlerList().removeHandler("pageLoaded",a)},add_pageLoading:function(a){this._get_eventHandlerList().addHandler("pageLoading",a)},remove_pageLoading:function(a){this._get_eventHandlerList().removeHandler("pageLoading",a)},abortPostBack:function(){if(!this._processingRequest&&this._request){this._request.get_executor().abort();this._request=null}},beginAsyncPostBack:function(c,a,f,d,e){if(d&&typeof Page_ClientValidate==="function"&&!Page_ClientValidate(e||null))return;this._postBackSettings=this._createPostBackSettings(true,c,a);var b=this._form;b.__EVENTTARGET.value=a||"";b.__EVENTARGUMENT.value=f||"";this._isCrossPost=false;this._additionalInput=null;this._onFormSubmit()},_cancelPendingCallbacks:function(){for(var a=0,e=window.__pendingCallbacks.length;a";a=b.childNodes[0];a._isContained=true;a.id=a.name=c;a.value=d},_createPageRequestManagerTimeoutError:function(){var b="Sys.WebForms.PageRequestManagerTimeoutException: "+Sys.WebForms.Res.PRM_TimeoutError,a=Error.create(b,{name:"Sys.WebForms.PageRequestManagerTimeoutException"});a.popStackFrame();return a},_createPageRequestManagerServerError:function(a,d){var c="Sys.WebForms.PageRequestManagerServerErrorException: "+(d||String.format(Sys.WebForms.Res.PRM_ServerError,a)),b=Error.create(c,{name:"Sys.WebForms.PageRequestManagerServerErrorException",httpStatusCode:a});b.popStackFrame();return b},_createPageRequestManagerParserError:function(b){var c="Sys.WebForms.PageRequestManagerParserErrorException: "+String.format(Sys.WebForms.Res.PRM_ParserError,b),a=Error.create(c,{name:"Sys.WebForms.PageRequestManagerParserErrorException"});a.popStackFrame();return a},_createPanelID:function(e,b){var c=b.asyncTarget,a=this._ensureUniqueIds(e||b.panelsToUpdate),d=a instanceof Array?a.join(","):a||this._scriptManagerID;if(c)d+="|"+c;return encodeURIComponent(this._scriptManagerID)+"="+encodeURIComponent(d)+"&"},_createPostBackSettings:function(d,a,c,b){return {async:d,asyncTarget:c,panelsToUpdate:a,sourceElement:b}},_convertToClientIDs:function(a,f,e,d){if(a)for(var b=0,h=a.length;b0)theForm.action=a.actionUrl;if(a.trackFocus){var c=theForm.elements["__LASTFOCUS"];if(typeof c!="undefined"&&c!=null)if(typeof document.activeElement=="undefined")c.value=a.eventTarget;else{var b=document.activeElement;if(typeof b!="undefined"&&b!=null)if(typeof b.id!="undefined"&&b.id!=null&&b.id.length>0)c.value=b.id;else if(typeof b.name!="undefined")c.value=b.name}}}if(a.clientSubmit)this._doPostBack(a.eventTarget,a.eventArgument)},_elementContains:function(b,a){while(a){if(a===b)return true;a=a.parentNode}return false},_endPostBack:function(a,d,f){if(this._request===d.get_webRequest()){this._processingRequest=false;this._additionalInput=null;this._request=null}var e=this._get_eventHandlerList().getHandler("endRequest"),b=false;if(e){var c=new Sys.WebForms.EndRequestEventArgs(a,f?f.dataItems:{},d);e(this,c);b=c.get_errorHandled()}if(a&&!b)throw a},_ensureUniqueIds:function(a){if(!a)return a;a=a instanceof Array?a:[a];var c=[];for(var b=0,f=a.length;b-1?this._updatePanelIDs[d]:e)}return c},_findNearestElement:function(a){while(a.length>0){var d=this._uniqueIDToClientID(a),c=document.getElementById(d);if(c)return c;var b=a.lastIndexOf("$");if(b===-1)return null;a=a.substring(0,b)}return null},_findText:function(b,a){var c=Math.max(0,a-20),d=Math.min(b.length,a+20);return b.substring(c,d)},_fireDefaultButton:function(a,d){if(a.keyCode===13){var c=a.srcElement||a.target;if(!c||c.tagName.toLowerCase()!=="textarea"){var b=document.getElementById(d);if(b&&typeof b.click!=="undefined"){this._activeDefaultButton=b;this._activeDefaultButtonClicked=false;try{b.click()}finally{this._activeDefaultButton=null}a.cancelBubble=true;if(typeof a.stopPropagation==="function")a.stopPropagation();return false}}}return true},_getPageLoadedEventArgs:function(n,c){var m=[],l=[],k=c?c.version4:false,d=c?c.updatePanelData:null,e,g,h,b;if(!d){e=this._updatePanelIDs;g=this._updatePanelClientIDs;h=null;b=null}else{e=d.updatePanelIDs;g=d.updatePanelClientIDs;h=d.childUpdatePanelIDs;b=d.panelsToRefreshIDs}var a,f,j,i;if(b)for(a=0,f=b.length;a-1))Array.add(i,document.getElementById(l[a]))}return new Sys.WebForms.PageLoadingEventArgs(j,i,f.dataItems)},_getPostBackSettings:function(a,c){var d=a,b=null;while(a){if(a.id){if(!b&&Array.contains(this._asyncPostBackControlClientIDs,a.id))b=this._createPostBackSettings(true,null,c,d);else if(!b&&Array.contains(this._postBackControlClientIDs,a.id))return this._createPostBackSettings(false);else{var e=Array.indexOf(this._updatePanelClientIDs,a.id);if(e!==-1)if(this._updatePanelHasChildrenAsTriggers[e])return this._createPostBackSettings(true,[this._updatePanelIDs[e]],c,d);else return this._createPostBackSettings(true,null,c,d)}if(!b&&this._matchesParentIDInList(a.id,this._asyncPostBackControlClientIDs))b=this._createPostBackSettings(true,null,c,d);else if(!b&&this._matchesParentIDInList(a.id,this._postBackControlClientIDs))return this._createPostBackSettings(false)}a=a.parentNode}if(!b)return this._createPostBackSettings(false);else return b},_getScrollPosition:function(){var a=document.documentElement;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else{a=document.body;if(a&&(this._validPosition(a.scrollLeft)||this._validPosition(a.scrollTop)))return {x:a.scrollLeft,y:a.scrollTop};else if(this._validPosition(window.pageXOffset)||this._validPosition(window.pageYOffset))return {x:window.pageXOffset,y:window.pageYOffset};else return {x:0,y:0}}},_initializeInternal:function(f,g,a,b,e,c,d){if(this._prmInitialized)throw Error.invalidOperation(Sys.WebForms.Res.PRM_CannotRegisterTwice);this._prmInitialized=true;this._masterPageUniqueID=d;this._scriptManagerID=f;this._form=Sys.UI.DomElement.resolveElement(g);this._onsubmit=this._form.onsubmit;this._form.onsubmit=null;this._onFormSubmitHandler=Function.createDelegate(this,this._onFormSubmit);this._onFormElementClickHandler=Function.createDelegate(this,this._onFormElementClick);this._onWindowUnloadHandler=Function.createDelegate(this,this._onWindowUnload);Sys.UI.DomEvent.addHandler(this._form,"submit",this._onFormSubmitHandler);Sys.UI.DomEvent.addHandler(this._form,"click",this._onFormElementClickHandler);Sys.UI.DomEvent.addHandler(window,"unload",this._onWindowUnloadHandler);this._originalDoPostBack=window.__doPostBack;if(this._originalDoPostBack)window.__doPostBack=Function.createDelegate(this,this._doPostBack);this._originalDoPostBackWithOptions=window.WebForm_DoPostBackWithOptions;if(this._originalDoPostBackWithOptions)window.WebForm_DoPostBackWithOptions=Function.createDelegate(this,this._doPostBackWithOptions);this._originalFireDefaultButton=window.WebForm_FireDefaultButton;if(this._originalFireDefaultButton)window.WebForm_FireDefaultButton=Function.createDelegate(this,this._fireDefaultButton);this._originalDoCallback=window.WebForm_DoCallback;if(this._originalDoCallback)window.WebForm_DoCallback=Function.createDelegate(this,this._doCallback);this._pageLoadedHandler=Function.createDelegate(this,this._pageLoadedInitialLoad);Sys.UI.DomEvent.addHandler(window,"load",this._pageLoadedHandler);if(a)this._updateControls(a,b,e,c,true)},_matchesParentIDInList:function(c,b){for(var a=0,d=b.length;a=c.length){e=this._findText(c,c.length);break}D=c.substr(b,i);b+=i;if(c.charAt(b)!=="|"){e=this._findText(c,b);break}b++;Array.add(k,{type:E,id:F,content:D})}if(e){this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_ParserErrorDetails,e)),h,null);return null}var x=[],w=[],q=[],j=[],t=[],C=[],A=[],z=[],v=[],s=[],m,p,u,n,o,r,y,g;for(var l=0,G=k.length;l=4)a.content=unescape(a.content);if(Sys.Browser.agent===Sys.Browser.InternetExplorer){var f=document.createElement("a");f.style.display="none";f.attachEvent("onclick",B);f.href=a.content;this._form.parentNode.insertBefore(f,this._form);f.click();f.detachEvent("onclick",B);this._form.parentNode.removeChild(f);function B(a){a.cancelBubble=true}}else window.location.href=a.content;return null;case "error":this._endPostBack(this._createPageRequestManagerServerError(Number.parseInvariant(a.id),a.content),h,null);return null;case "pageTitle":document.title=a.content;break;case "focus":this._controlIDToFocus=a.content;break;default:this._endPostBack(this._createPageRequestManagerParserError(String.format(Sys.WebForms.Res.PRM_UnknownToken,a.type)),h,null);return null}}return {version4:g?parseFloat(g.content)>=4:false,executor:h,updatePanelNodes:x,hiddenFieldNodes:w,arrayDeclarationNodes:q,scriptBlockNodes:j,scriptStartupNodes:t,expandoNodes:C,onSubmitNodes:A,dataItemNodes:z,dataItemJsonNodes:v,scriptDisposeNodes:s,asyncPostBackControlIDsNode:m,postBackControlIDsNode:p,updatePanelIDsNode:u,asyncPostBackTimeoutNode:n,childUpdatePanelIDsNode:o,panelsToRefreshNode:r,formActionNode:y}},_processUpdatePanelArrays:function(e,q,r,f){var d,c,b;if(e){var i=e.length,j=f?2:1;d=new Array(i/j);c=new Array(i/j);b=new Array(i/j);for(var g=0,h=0;g0)f=window.setTimeout(v,e);k.execute();return null}var d=new Sys.Net.WebRequest;d.set_url(u);d.get_headers()["Content-Type"]="application/json; charset=utf-8";if(!m){o=Sys.Serialization.JavaScriptSerializer.serialize(l);if(o==="{}")o=""}d.set_body(o);d.add_completed(x);if(e&&e>0)d.set_timeout(e);d.invoke();function x(d){if(d.get_responseAvailable()){var f=d.get_statusCode(),c=null;try{var e=d.getResponseHeader("Content-Type");if(e.startsWith("application/json"))c=d.get_object();else if(e.startsWith("text/xml"))c=d.get_xml();else c=d.get_responseData()}catch(m){}var k=d.getResponseHeader("jsonerror"),h=k==="true";if(h){if(c)c=new Sys.Net.WebServiceError(false,c.Message,c.StackTrace,c.ExceptionType,c)}else if(e.startsWith("application/json"))c=!c||typeof c.d==="undefined"?c:c.d;if(f<200||f>=300||h){if(b){if(!c||!h)c=new Sys.Net.WebServiceError(false,String.format(Sys.Res.webServiceFailedNoMsg,a));c._statusCode=f;b(c,g,a)}}else if(j)j(c,g,a)}else{var i;if(d.get_timedOut())i=String.format(Sys.Res.webServiceTimedOut,a);else i=String.format(Sys.Res.webServiceFailedNoMsg,a);if(b)b(new Sys.Net.WebServiceError(d.get_timedOut(),i,"",""),g,a)}}return d};Sys.Net.WebServiceProxy._generateTypedConstructor=function(a){return function(b){if(b)for(var c in b)this[c]=b[c];this.__type=a}};Sys._jsonp=0;Sys.Net.WebServiceProxy._xdomain=/^\s*([a-zA-Z0-9\+\-\.]+\:)\/\/([^?#\/]+)/;Sys.Net.WebServiceError=function(d,e,c,a,b){this._timedOut=d;this._message=e;this._stackTrace=c;this._exceptionType=a;this._errorObject=b;this._statusCode=-1};Sys.Net.WebServiceError.prototype={get_timedOut:function(){return this._timedOut},get_statusCode:function(){return this._statusCode},get_message:function(){return this._message},get_stackTrace:function(){return this._stackTrace||""},get_exceptionType:function(){return this._exceptionType||""},get_errorObject:function(){return this._errorObject||null}};Sys.Net.WebServiceError.registerClass("Sys.Net.WebServiceError");
diff --git a/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/lib/net45/Microsoft.ScriptManager.MSAjax.dll b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/lib/net45/Microsoft.ScriptManager.MSAjax.dll
new file mode 100644
index 00000000..80c1c163
Binary files /dev/null and b/packages/Microsoft.AspNet.ScriptManager.MSAjax.4.5.6/lib/net45/Microsoft.ScriptManager.MSAjax.dll differ
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/Microsoft.AspNet.ScriptManager.WebForms.4.5.6.nupkg b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/Microsoft.AspNet.ScriptManager.WebForms.4.5.6.nupkg
new file mode 100644
index 00000000..bd2bdabe
Binary files /dev/null and b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/Microsoft.AspNet.ScriptManager.WebForms.4.5.6.nupkg differ
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/DetailsView.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/DetailsView.js
new file mode 100644
index 00000000..a36a4989
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/DetailsView.js
@@ -0,0 +1,34 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/DetailsView.js
+function DetailsView() {
+ this.pageIndex = null;
+ this.dataKeys = null;
+ this.createPropertyString = DetailsView_createPropertyString;
+ this.setStateField = DetailsView_setStateValue;
+ this.getHiddenFieldContents = DetailsView_getHiddenFieldContents;
+ this.stateField = null;
+ this.panelElement = null;
+ this.callback = null;
+}
+function DetailsView_createPropertyString() {
+ return createPropertyStringFromValues_DetailsView(this.pageIndex, this.dataKeys);
+}
+function DetailsView_setStateValue() {
+ this.stateField.value = this.createPropertyString();
+}
+function DetailsView_OnCallback (result, context) {
+ var value = new String(result);
+ var valsArray = value.split("|");
+ var innerHtml = valsArray[2];
+ for (var i = 3; i < valsArray.length; i++) {
+ innerHtml += "|" + valsArray[i];
+ }
+ context.panelElement.innerHTML = innerHtml;
+ context.stateField.value = createPropertyStringFromValues_DetailsView(valsArray[0], valsArray[1]);
+}
+function DetailsView_getHiddenFieldContents(arg) {
+ return arg + "|" + this.stateField.value;
+}
+function createPropertyStringFromValues_DetailsView(pageIndex, dataKeys) {
+ var value = new Array(pageIndex, dataKeys);
+ return value.join("|");
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/Focus.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/Focus.js
new file mode 100644
index 00000000..2de90df6
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/Focus.js
@@ -0,0 +1,93 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/Focus.js
+function WebForm_FindFirstFocusableChild(control) {
+ if (!control || !(control.tagName)) {
+ return null;
+ }
+ var tagName = control.tagName.toLowerCase();
+ if (tagName == "undefined") {
+ return null;
+ }
+ var children = control.childNodes;
+ if (children) {
+ for (var i = 0; i < children.length; i++) {
+ try {
+ if (WebForm_CanFocus(children[i])) {
+ return children[i];
+ }
+ else {
+ var focused = WebForm_FindFirstFocusableChild(children[i]);
+ if (WebForm_CanFocus(focused)) {
+ return focused;
+ }
+ }
+ } catch (e) {
+ }
+ }
+ }
+ return null;
+}
+function WebForm_AutoFocus(focusId) {
+ var targetControl;
+ if (__nonMSDOMBrowser) {
+ targetControl = document.getElementById(focusId);
+ }
+ else {
+ targetControl = document.all[focusId];
+ }
+ var focused = targetControl;
+ if (targetControl && (!WebForm_CanFocus(targetControl)) ) {
+ focused = WebForm_FindFirstFocusableChild(targetControl);
+ }
+ if (focused) {
+ try {
+ focused.focus();
+ if (__nonMSDOMBrowser) {
+ focused.scrollIntoView(false);
+ }
+ if (window.__smartNav) {
+ window.__smartNav.ae = focused.id;
+ }
+ }
+ catch (e) {
+ }
+ }
+}
+function WebForm_CanFocus(element) {
+ if (!element || !(element.tagName)) return false;
+ var tagName = element.tagName.toLowerCase();
+ return (!(element.disabled) &&
+ (!(element.type) || element.type.toLowerCase() != "hidden") &&
+ WebForm_IsFocusableTag(tagName) &&
+ WebForm_IsInVisibleContainer(element)
+ );
+}
+function WebForm_IsFocusableTag(tagName) {
+ return (tagName == "input" ||
+ tagName == "textarea" ||
+ tagName == "select" ||
+ tagName == "button" ||
+ tagName == "a");
+}
+function WebForm_IsInVisibleContainer(ctrl) {
+ var current = ctrl;
+ while((typeof(current) != "undefined") && (current != null)) {
+ if (current.disabled ||
+ ( typeof(current.style) != "undefined" &&
+ ( ( typeof(current.style.display) != "undefined" &&
+ current.style.display == "none") ||
+ ( typeof(current.style.visibility) != "undefined" &&
+ current.style.visibility == "hidden") ) ) ) {
+ return false;
+ }
+ if (typeof(current.parentNode) != "undefined" &&
+ current.parentNode != null &&
+ current.parentNode != current &&
+ current.parentNode.tagName.toLowerCase() != "body") {
+ current = current.parentNode;
+ }
+ else {
+ return true;
+ }
+ }
+ return true;
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/GridView.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/GridView.js
new file mode 100644
index 00000000..e24c2d73
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/GridView.js
@@ -0,0 +1,36 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/GridView.js
+function GridView() {
+ this.pageIndex = null;
+ this.sortExpression = null;
+ this.sortDirection = null;
+ this.dataKeys = null;
+ this.createPropertyString = GridView_createPropertyString;
+ this.setStateField = GridView_setStateValue;
+ this.getHiddenFieldContents = GridView_getHiddenFieldContents;
+ this.stateField = null;
+ this.panelElement = null;
+ this.callback = null;
+}
+function GridView_createPropertyString() {
+ return createPropertyStringFromValues_GridView(this.pageIndex, this.sortDirection, this.sortExpression, this.dataKeys);
+}
+function GridView_setStateValue() {
+ this.stateField.value = this.createPropertyString();
+}
+function GridView_OnCallback (result, context) {
+ var value = new String(result);
+ var valsArray = value.split("|");
+ var innerHtml = valsArray[4];
+ for (var i = 5; i < valsArray.length; i++) {
+ innerHtml += "|" + valsArray[i];
+ }
+ context.panelElement.innerHTML = innerHtml;
+ context.stateField.value = createPropertyStringFromValues_GridView(valsArray[0], valsArray[1], valsArray[2], valsArray[3]);
+}
+function GridView_getHiddenFieldContents(arg) {
+ return arg + "|" + this.stateField.value;
+}
+function createPropertyStringFromValues_GridView(pageIndex, sortDirection, sortExpression, dataKeys) {
+ var value = new Array(pageIndex, sortDirection, sortExpression, dataKeys);
+ return value.join("|");
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/Menu.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/Menu.js
new file mode 100644
index 00000000..27a78fa0
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/Menu.js
@@ -0,0 +1,898 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/Menu.js
+var __rootMenuItem;
+var __menuInterval;
+var __scrollPanel;
+var __disappearAfter = 500;
+function Menu_ClearInterval() {
+ if (__menuInterval) {
+ window.clearInterval(__menuInterval);
+ }
+}
+function Menu_Collapse(item) {
+ Menu_SetRoot(item);
+ if (__rootMenuItem) {
+ Menu_ClearInterval();
+ if (__disappearAfter >= 0) {
+ __menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter);
+ }
+ }
+}
+function Menu_Expand(item, horizontalOffset, verticalOffset, hideScrollers) {
+ Menu_ClearInterval();
+ var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
+ var horizontal = true;
+ if (!tr.id) {
+ horizontal = false;
+ tr = tr.parentNode;
+ }
+ var child = Menu_FindSubMenu(item);
+ if (child) {
+ var data = Menu_GetData(item);
+ if (!data) {
+ return null;
+ }
+ child.rel = tr.id;
+ child.x = horizontalOffset;
+ child.y = verticalOffset;
+ if (horizontal) child.pos = "bottom";
+ PopOut_Show(child.id, hideScrollers, data);
+ }
+ Menu_SetRoot(item);
+ if (child) {
+ if (!document.body.__oldOnClick && document.body.onclick) {
+ document.body.__oldOnClick = document.body.onclick;
+ }
+ if (__rootMenuItem) {
+ document.body.onclick = Menu_HideItems;
+ }
+ }
+ Menu_ResetSiblings(tr);
+ return child;
+}
+function Menu_FindMenu(item) {
+ if (item && item.menu) return item.menu;
+ var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
+ if (!tr.id) {
+ tr = tr.parentNode;
+ }
+ for (var i = tr.id.length - 1; i >= 0; i--) {
+ if (tr.id.charAt(i) < '0' || tr.id.charAt(i) > '9') {
+ var menu = WebForm_GetElementById(tr.id.substr(0, i));
+ if (menu) {
+ item.menu = menu;
+ return menu;
+ }
+ }
+ }
+ return null;
+}
+function Menu_FindNext(item) {
+ var a = WebForm_GetElementByTagName(item, "A");
+ var parent = Menu_FindParentContainer(item);
+ var first = null;
+ if (parent) {
+ var links = WebForm_GetElementsByTagName(parent, "A");
+ var match = false;
+ for (var i = 0; i < links.length; i++) {
+ var link = links[i];
+ if (Menu_IsSelectable(link)) {
+ if (Menu_FindParentContainer(link) == parent) {
+ if (match) {
+ return link;
+ }
+ else if (!first) {
+ first = link;
+ }
+ }
+ if (!match && link == a) {
+ match = true;
+ }
+ }
+ }
+ }
+ return first;
+}
+function Menu_FindParentContainer(item) {
+ if (item.menu_ParentContainerCache) return item.menu_ParentContainerCache;
+ var a = (item.tagName.toLowerCase() == "a") ? item : WebForm_GetElementByTagName(item, "A");
+ var menu = Menu_FindMenu(a);
+ if (menu) {
+ var parent = item;
+ while (parent && parent.tagName &&
+ parent.id != menu.id &&
+ parent.tagName.toLowerCase() != "div") {
+ parent = parent.parentNode;
+ }
+ item.menu_ParentContainerCache = parent;
+ return parent;
+ }
+}
+function Menu_FindParentItem(item) {
+ var parentContainer = Menu_FindParentContainer(item);
+ var parentContainerID = parentContainer.id;
+ var len = parentContainerID.length;
+ if (parentContainerID && parentContainerID.substr(len - 5) == "Items") {
+ var parentItemID = parentContainerID.substr(0, len - 5);
+ return WebForm_GetElementById(parentItemID);
+ }
+ return null;
+}
+function Menu_FindPrevious(item) {
+ var a = WebForm_GetElementByTagName(item, "A");
+ var parent = Menu_FindParentContainer(item);
+ var last = null;
+ if (parent) {
+ var links = WebForm_GetElementsByTagName(parent, "A");
+ for (var i = 0; i < links.length; i++) {
+ var link = links[i];
+ if (Menu_IsSelectable(link)) {
+ if (link == a && last) {
+ return last;
+ }
+ if (Menu_FindParentContainer(link) == parent) {
+ last = link;
+ }
+ }
+ }
+ }
+ return last;
+}
+function Menu_FindSubMenu(item) {
+ var tr = item.parentNode.parentNode.parentNode.parentNode.parentNode;
+ if (!tr.id) {
+ tr=tr.parentNode;
+ }
+ return WebForm_GetElementById(tr.id + "Items");
+}
+function Menu_Focus(item) {
+ if (item && item.focus) {
+ var pos = WebForm_GetElementPosition(item);
+ var parentContainer = Menu_FindParentContainer(item);
+ if (!parentContainer.offset) {
+ parentContainer.offset = 0;
+ }
+ var posParent = WebForm_GetElementPosition(parentContainer);
+ var delta;
+ if (pos.y + pos.height > posParent.y + parentContainer.offset + parentContainer.clippedHeight) {
+ delta = pos.y + pos.height - posParent.y - parentContainer.offset - parentContainer.clippedHeight;
+ PopOut_Scroll(parentContainer, delta);
+ }
+ else if (pos.y < posParent.y + parentContainer.offset) {
+ delta = posParent.y + parentContainer.offset - pos.y;
+ PopOut_Scroll(parentContainer, -delta);
+ }
+ PopOut_HideScrollers(parentContainer);
+ item.focus();
+ }
+}
+function Menu_GetData(item) {
+ if (!item.data) {
+ var a = (item.tagName.toLowerCase() == "a" ? item : WebForm_GetElementByTagName(item, "a"));
+ var menu = Menu_FindMenu(a);
+ try {
+ item.data = eval(menu.id + "_Data");
+ }
+ catch(e) {}
+ }
+ return item.data;
+}
+function Menu_HideItems(items) {
+ if (document.body.__oldOnClick) {
+ document.body.onclick = document.body.__oldOnClick;
+ document.body.__oldOnClick = null;
+ }
+ Menu_ClearInterval();
+ if (!items || ((typeof(items.tagName) == "undefined") && (items instanceof Event))) {
+ items = __rootMenuItem;
+ }
+ var table = items;
+ if ((typeof(table) == "undefined") || (table == null) || !table.tagName || (table.tagName.toLowerCase() != "table")) {
+ table = WebForm_GetElementByTagName(table, "TABLE");
+ }
+ if ((typeof(table) == "undefined") || (table == null) || !table.tagName || (table.tagName.toLowerCase() != "table")) {
+ return;
+ }
+ var rows = table.rows ? table.rows : table.firstChild.rows;
+ var isVertical = false;
+ for (var r = 0; r < rows.length; r++) {
+ if (rows[r].id) {
+ isVertical = true;
+ break;
+ }
+ }
+ var i, child, nextLevel;
+ if (isVertical) {
+ for(i = 0; i < rows.length; i++) {
+ if (rows[i].id) {
+ child = WebForm_GetElementById(rows[i].id + "Items");
+ if (child) {
+ Menu_HideItems(child);
+ }
+ }
+ else if (rows[i].cells[0]) {
+ nextLevel = WebForm_GetElementByTagName(rows[i].cells[0], "TABLE");
+ if (nextLevel) {
+ Menu_HideItems(nextLevel);
+ }
+ }
+ }
+ }
+ else if (rows[0]) {
+ for(i = 0; i < rows[0].cells.length; i++) {
+ if (rows[0].cells[i].id) {
+ child = WebForm_GetElementById(rows[0].cells[i].id + "Items");
+ if (child) {
+ Menu_HideItems(child);
+ }
+ }
+ else {
+ nextLevel = WebForm_GetElementByTagName(rows[0].cells[i], "TABLE");
+ if (nextLevel) {
+ Menu_HideItems(rows[0].cells[i].firstChild);
+ }
+ }
+ }
+ }
+ if (items && items.id) {
+ PopOut_Hide(items.id);
+ }
+}
+function Menu_HoverDisabled(item) {
+ var node = (item.tagName.toLowerCase() == "td") ?
+ item:
+ item.cells[0];
+ var data = Menu_GetData(item);
+ if (!data) return;
+ node = WebForm_GetElementByTagName(node, "table").rows[0].cells[0].childNodes[0];
+ if (data.disappearAfter >= 200) {
+ __disappearAfter = data.disappearAfter;
+ }
+ Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
+}
+function Menu_HoverDynamic(item) {
+ var node = (item.tagName.toLowerCase() == "td") ?
+ item:
+ item.cells[0];
+ var data = Menu_GetData(item);
+ if (!data) return;
+ var nodeTable = WebForm_GetElementByTagName(node, "table");
+ if (data.hoverClass) {
+ nodeTable.hoverClass = data.hoverClass;
+ WebForm_AppendToClassName(nodeTable, data.hoverClass);
+ }
+ node = nodeTable.rows[0].cells[0].childNodes[0];
+ if (data.hoverHyperLinkClass) {
+ node.hoverHyperLinkClass = data.hoverHyperLinkClass;
+ WebForm_AppendToClassName(node, data.hoverHyperLinkClass);
+ }
+ if (data.disappearAfter >= 200) {
+ __disappearAfter = data.disappearAfter;
+ }
+ Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
+}
+function Menu_HoverRoot(item) {
+ var node = (item.tagName.toLowerCase() == "td") ?
+ item:
+ item.cells[0];
+ var data = Menu_GetData(item);
+ if (!data) {
+ return null;
+ }
+ var nodeTable = WebForm_GetElementByTagName(node, "table");
+ if (data.staticHoverClass) {
+ nodeTable.hoverClass = data.staticHoverClass;
+ WebForm_AppendToClassName(nodeTable, data.staticHoverClass);
+ }
+ node = nodeTable.rows[0].cells[0].childNodes[0];
+ if (data.staticHoverHyperLinkClass) {
+ node.hoverHyperLinkClass = data.staticHoverHyperLinkClass;
+ WebForm_AppendToClassName(node, data.staticHoverHyperLinkClass);
+ }
+ return node;
+}
+function Menu_HoverStatic(item) {
+ var node = Menu_HoverRoot(item);
+ var data = Menu_GetData(item);
+ if (!data) return;
+ __disappearAfter = data.disappearAfter;
+ Menu_Expand(node, data.horizontalOffset, data.verticalOffset);
+}
+function Menu_IsHorizontal(item) {
+ if (item) {
+ var a = ((item.tagName && (item.tagName.toLowerCase == "a")) ? item : WebForm_GetElementByTagName(item, "A"));
+ if (!a) {
+ return false;
+ }
+ var td = a.parentNode.parentNode.parentNode.parentNode.parentNode;
+ if (td.id) {
+ return true;
+ }
+ }
+ return false;
+}
+function Menu_IsSelectable(link) {
+ return (link && link.href)
+}
+function Menu_Key(item) {
+ var event;
+ if (window.event) {
+ event = window.event;
+ }
+ else {
+ event = item;
+ item = event.currentTarget;
+ }
+ var key = (event ? event.keyCode : -1);
+ var data = Menu_GetData(item);
+ if (!data) return;
+ var horizontal = Menu_IsHorizontal(item);
+ var a = WebForm_GetElementByTagName(item, "A");
+ var nextItem, parentItem, previousItem;
+ if ((!horizontal && key == 38) || (horizontal && key == 37)) {
+ previousItem = Menu_FindPrevious(item);
+ while (previousItem && previousItem.disabled) {
+ previousItem = Menu_FindPrevious(previousItem);
+ }
+ if (previousItem) {
+ Menu_Focus(previousItem);
+ Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ if ((!horizontal && key == 40) || (horizontal && key == 39)) {
+ if (horizontal) {
+ var subMenu = Menu_FindSubMenu(a);
+ if (subMenu && subMenu.style && subMenu.style.visibility &&
+ subMenu.style.visibility.toLowerCase() == "hidden") {
+ Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ nextItem = Menu_FindNext(item);
+ while (nextItem && nextItem.disabled) {
+ nextItem = Menu_FindNext(nextItem);
+ }
+ if (nextItem) {
+ Menu_Focus(nextItem);
+ Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ if ((!horizontal && key == 39) || (horizontal && key == 40)) {
+ var children = Menu_Expand(a, data.horizontalOffset, data.verticalOffset, true);
+ if (children) {
+ var firstChild;
+ children = WebForm_GetElementsByTagName(children, "A");
+ for (var i = 0; i < children.length; i++) {
+ if (!children[i].disabled && Menu_IsSelectable(children[i])) {
+ firstChild = children[i];
+ break;
+ }
+ }
+ if (firstChild) {
+ Menu_Focus(firstChild);
+ Menu_Expand(firstChild, data.horizontalOffset, data.verticalOffset, true);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ else {
+ parentItem = Menu_FindParentItem(item);
+ while (parentItem && !Menu_IsHorizontal(parentItem)) {
+ parentItem = Menu_FindParentItem(parentItem);
+ }
+ if (parentItem) {
+ nextItem = Menu_FindNext(parentItem);
+ while (nextItem && nextItem.disabled) {
+ nextItem = Menu_FindNext(nextItem);
+ }
+ if (nextItem) {
+ Menu_Focus(nextItem);
+ Menu_Expand(nextItem, data.horizontalOffset, data.verticalOffset, true);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ }
+ }
+ if ((!horizontal && key == 37) || (horizontal && key == 38)) {
+ parentItem = Menu_FindParentItem(item);
+ if (parentItem) {
+ if (Menu_IsHorizontal(parentItem)) {
+ previousItem = Menu_FindPrevious(parentItem);
+ while (previousItem && previousItem.disabled) {
+ previousItem = Menu_FindPrevious(previousItem);
+ }
+ if (previousItem) {
+ Menu_Focus(previousItem);
+ Menu_Expand(previousItem, data.horizontalOffset, data.verticalOffset, true);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ var parentA = WebForm_GetElementByTagName(parentItem, "A");
+ if (parentA) {
+ Menu_Focus(parentA);
+ }
+ Menu_ResetSiblings(parentItem);
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+ }
+ if (key == 27) {
+ Menu_HideItems();
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return;
+ }
+}
+function Menu_ResetSiblings(item) {
+ var table = (item.tagName.toLowerCase() == "td") ?
+ item.parentNode.parentNode.parentNode :
+ item.parentNode.parentNode;
+ var isVertical = false;
+ for (var r = 0; r < table.rows.length; r++) {
+ if (table.rows[r].id) {
+ isVertical = true;
+ break;
+ }
+ }
+ var i, child, childNode;
+ if (isVertical) {
+ for(i = 0; i < table.rows.length; i++) {
+ childNode = table.rows[i];
+ if (childNode != item) {
+ child = WebForm_GetElementById(childNode.id + "Items");
+ if (child) {
+ Menu_HideItems(child);
+ }
+ }
+ }
+ }
+ else {
+ for(i = 0; i < table.rows[0].cells.length; i++) {
+ childNode = table.rows[0].cells[i];
+ if (childNode != item) {
+ child = WebForm_GetElementById(childNode.id + "Items");
+ if (child) {
+ Menu_HideItems(child);
+ }
+ }
+ }
+ }
+ Menu_ResetTopMenus(table, table, 0, true);
+}
+function Menu_ResetTopMenus(table, doNotReset, level, up) {
+ var i, child, childNode;
+ if (up && table.id == "") {
+ var parentTable = table.parentNode.parentNode.parentNode.parentNode;
+ if (parentTable.tagName.toLowerCase() == "table") {
+ Menu_ResetTopMenus(parentTable, doNotReset, level + 1, true);
+ }
+ }
+ else {
+ if (level == 0 && table != doNotReset) {
+ if (table.rows[0].id) {
+ for(i = 0; i < table.rows.length; i++) {
+ childNode = table.rows[i];
+ child = WebForm_GetElementById(childNode.id + "Items");
+ if (child) {
+ Menu_HideItems(child);
+ }
+ }
+ }
+ else {
+ for(i = 0; i < table.rows[0].cells.length; i++) {
+ childNode = table.rows[0].cells[i];
+ child = WebForm_GetElementById(childNode.id + "Items");
+ if (child) {
+ Menu_HideItems(child);
+ }
+ }
+ }
+ }
+ else if (level > 0) {
+ for (i = 0; i < table.rows.length; i++) {
+ for (var j = 0; j < table.rows[i].cells.length; j++) {
+ var subTable = table.rows[i].cells[j].firstChild;
+ if (subTable && subTable.tagName.toLowerCase() == "table") {
+ Menu_ResetTopMenus(subTable, doNotReset, level - 1, false);
+ }
+ }
+ }
+ }
+ }
+}
+function Menu_RestoreInterval() {
+ if (__menuInterval && __rootMenuItem) {
+ Menu_ClearInterval();
+ __menuInterval = window.setInterval("Menu_HideItems()", __disappearAfter);
+ }
+}
+function Menu_SetRoot(item) {
+ var newRoot = Menu_FindMenu(item);
+ if (newRoot) {
+ if (__rootMenuItem && __rootMenuItem != newRoot) {
+ Menu_HideItems();
+ }
+ __rootMenuItem = newRoot;
+ }
+}
+function Menu_Unhover(item) {
+ var node = (item.tagName.toLowerCase() == "td") ?
+ item:
+ item.cells[0];
+ var nodeTable = WebForm_GetElementByTagName(node, "table");
+ if (nodeTable.hoverClass) {
+ WebForm_RemoveClassName(nodeTable, nodeTable.hoverClass);
+ }
+ node = nodeTable.rows[0].cells[0].childNodes[0];
+ if (node.hoverHyperLinkClass) {
+ WebForm_RemoveClassName(node, node.hoverHyperLinkClass);
+ }
+ Menu_Collapse(node);
+}
+function PopOut_Clip(element, y, height) {
+ if (element && element.style) {
+ element.style.clip = "rect(" + y + "px auto " + (y + height) + "px auto)";
+ element.style.overflow = "hidden";
+ }
+}
+function PopOut_Down(scroller) {
+ Menu_ClearInterval();
+ var panel;
+ if (scroller) {
+ panel = scroller.parentNode
+ }
+ else {
+ panel = __scrollPanel;
+ }
+ if (panel && ((panel.offset + panel.clippedHeight) < panel.physicalHeight)) {
+ PopOut_Scroll(panel, 2)
+ __scrollPanel = panel;
+ PopOut_ShowScrollers(panel);
+ PopOut_Stop();
+ __scrollPanel.interval = window.setInterval("PopOut_Down()", 8);
+ }
+ else {
+ PopOut_ShowScrollers(panel);
+ }
+}
+function PopOut_Hide(panelId) {
+ var panel = WebForm_GetElementById(panelId);
+ if (panel && panel.tagName.toLowerCase() == "div") {
+ panel.style.visibility = "hidden";
+ panel.style.display = "none";
+ panel.offset = 0;
+ panel.scrollTop = 0;
+ var table = WebForm_GetElementByTagName(panel, "TABLE");
+ if (table) {
+ WebForm_SetElementY(table, 0);
+ }
+ if (window.navigator && window.navigator.appName == "Microsoft Internet Explorer" &&
+ !window.opera) {
+ var childFrameId = panel.id + "_MenuIFrame";
+ var childFrame = WebForm_GetElementById(childFrameId);
+ if (childFrame) {
+ childFrame.style.display = "none";
+ }
+ }
+ }
+}
+function PopOut_HideScrollers(panel) {
+ if (panel && panel.style) {
+ var up = WebForm_GetElementById(panel.id + "Up");
+ var dn = WebForm_GetElementById(panel.id + "Dn");
+ if (up) {
+ up.style.visibility = "hidden";
+ up.style.display = "none";
+ }
+ if (dn) {
+ dn.style.visibility = "hidden";
+ dn.style.display = "none";
+ }
+ }
+}
+function PopOut_Position(panel, hideScrollers) {
+ if (window.opera) {
+ panel.parentNode.removeChild(panel);
+ document.forms[0].appendChild(panel);
+ }
+ var rel = WebForm_GetElementById(panel.rel);
+ var relTable = WebForm_GetElementByTagName(rel, "TABLE");
+ var relCoordinates = WebForm_GetElementPosition(relTable ? relTable : rel);
+ var panelCoordinates = WebForm_GetElementPosition(panel);
+ var panelHeight = ((typeof(panel.physicalHeight) != "undefined") && (panel.physicalHeight != null)) ?
+ panel.physicalHeight :
+ panelCoordinates.height;
+ panel.physicalHeight = panelHeight;
+ var panelParentCoordinates;
+ if (panel.offsetParent) {
+ panelParentCoordinates = WebForm_GetElementPosition(panel.offsetParent);
+ }
+ else {
+ panelParentCoordinates = new Object();
+ panelParentCoordinates.x = 0;
+ panelParentCoordinates.y = 0;
+ }
+ var overflowElement = WebForm_GetElementById("__overFlowElement");
+ if (!overflowElement) {
+ overflowElement = document.createElement("img");
+ overflowElement.id="__overFlowElement";
+ WebForm_SetElementWidth(overflowElement, 1);
+ document.body.appendChild(overflowElement);
+ }
+ WebForm_SetElementHeight(overflowElement, panelHeight + relCoordinates.y + parseInt(panel.y ? panel.y : 0));
+ overflowElement.style.visibility = "visible";
+ overflowElement.style.display = "inline";
+ var clientHeight = 0;
+ var clientWidth = 0;
+ if (window.innerHeight) {
+ clientHeight = window.innerHeight;
+ clientWidth = window.innerWidth;
+ }
+ else if (document.documentElement && document.documentElement.clientHeight) {
+ clientHeight = document.documentElement.clientHeight;
+ clientWidth = document.documentElement.clientWidth;
+ }
+ else if (document.body && document.body.clientHeight) {
+ clientHeight = document.body.clientHeight;
+ clientWidth = document.body.clientWidth;
+ }
+ var scrollTop = 0;
+ var scrollLeft = 0;
+ if (typeof(window.pageYOffset) != "undefined") {
+ scrollTop = window.pageYOffset;
+ scrollLeft = window.pageXOffset;
+ }
+ else if (document.documentElement && (typeof(document.documentElement.scrollTop) != "undefined")) {
+ scrollTop = document.documentElement.scrollTop;
+ scrollLeft = document.documentElement.scrollLeft;
+ }
+ else if (document.body && (typeof(document.body.scrollTop) != "undefined")) {
+ scrollTop = document.body.scrollTop;
+ scrollLeft = document.body.scrollLeft;
+ }
+ overflowElement.style.visibility = "hidden";
+ overflowElement.style.display = "none";
+ var bottomWindowBorder = clientHeight + scrollTop;
+ var rightWindowBorder = clientWidth + scrollLeft;
+ var position = panel.pos;
+ if ((typeof(position) == "undefined") || (position == null) || (position == "")) {
+ position = (WebForm_GetElementDir(rel) == "rtl" ? "middleleft" : "middleright");
+ }
+ position = position.toLowerCase();
+ var y = relCoordinates.y + parseInt(panel.y ? panel.y : 0) - panelParentCoordinates.y;
+ var borderParent = (rel && rel.parentNode && rel.parentNode.parentNode && rel.parentNode.parentNode.parentNode
+ && rel.parentNode.parentNode.parentNode.tagName.toLowerCase() == "div") ?
+ rel.parentNode.parentNode.parentNode : null;
+ WebForm_SetElementY(panel, y);
+ PopOut_SetPanelHeight(panel, panelHeight, true);
+ var clip = false;
+ var overflow;
+ if (position.indexOf("top") != -1) {
+ y -= panelHeight;
+ WebForm_SetElementY(panel, y);
+ if (y < -panelParentCoordinates.y) {
+ y = -panelParentCoordinates.y;
+ WebForm_SetElementY(panel, y);
+ if (panelHeight > clientHeight - 2) {
+ clip = true;
+ PopOut_SetPanelHeight(panel, clientHeight - 2);
+ }
+ }
+ }
+ else {
+ if (position.indexOf("bottom") != -1) {
+ y += relCoordinates.height;
+ WebForm_SetElementY(panel, y);
+ }
+ overflow = y + panelParentCoordinates.y + panelHeight - bottomWindowBorder;
+ if (overflow > 0) {
+ y -= overflow;
+ WebForm_SetElementY(panel, y);
+ if (y < -panelParentCoordinates.y) {
+ y = 2 - panelParentCoordinates.y + scrollTop;
+ WebForm_SetElementY(panel, y);
+ clip = true;
+ PopOut_SetPanelHeight(panel, clientHeight - 2);
+ }
+ }
+ }
+ if (!clip) {
+ PopOut_SetPanelHeight(panel, panel.clippedHeight, true);
+ }
+ var panelParentOffsetY = 0;
+ if (panel.offsetParent) {
+ panelParentOffsetY = WebForm_GetElementPosition(panel.offsetParent).y;
+ }
+ var panelY = ((typeof(panel.originY) != "undefined") && (panel.originY != null)) ?
+ panel.originY :
+ y - panelParentOffsetY;
+ panel.originY = panelY;
+ if (!hideScrollers) {
+ PopOut_ShowScrollers(panel);
+ }
+ else {
+ PopOut_HideScrollers(panel);
+ }
+ var x = relCoordinates.x + parseInt(panel.x ? panel.x : 0) - panelParentCoordinates.x;
+ if (borderParent && borderParent.clientLeft) {
+ x += 2 * borderParent.clientLeft;
+ }
+ WebForm_SetElementX(panel, x);
+ if (position.indexOf("left") != -1) {
+ x -= panelCoordinates.width;
+ WebForm_SetElementX(panel, x);
+ if (x < -panelParentCoordinates.x) {
+ WebForm_SetElementX(panel, -panelParentCoordinates.x);
+ }
+ }
+ else {
+ if (position.indexOf("right") != -1) {
+ x += relCoordinates.width;
+ WebForm_SetElementX(panel, x);
+ }
+ overflow = x + panelParentCoordinates.x + panelCoordinates.width - rightWindowBorder;
+ if (overflow > 0) {
+ if (position.indexOf("bottom") == -1 && relCoordinates.x > panelCoordinates.width) {
+ x -= relCoordinates.width + panelCoordinates.width;
+ }
+ else {
+ x -= overflow;
+ }
+ WebForm_SetElementX(panel, x);
+ if (x < -panelParentCoordinates.x) {
+ WebForm_SetElementX(panel, -panelParentCoordinates.x);
+ }
+ }
+ }
+}
+function PopOut_Scroll(panel, offsetDelta) {
+ var table = WebForm_GetElementByTagName(panel, "TABLE");
+ if (!table) return;
+ table.style.position = "relative";
+ var tableY = (table.style.top ? parseInt(table.style.top) : 0);
+ panel.offset += offsetDelta;
+ WebForm_SetElementY(table, tableY - offsetDelta);
+}
+function PopOut_SetPanelHeight(element, height, doNotClip) {
+ if (element && element.style) {
+ var size = WebForm_GetElementPosition(element);
+ element.physicalWidth = size.width;
+ element.clippedHeight = height;
+ WebForm_SetElementHeight(element, height - (element.clientTop ? (2 * element.clientTop) : 0));
+ if (doNotClip && element.style) {
+ element.style.clip = "rect(auto auto auto auto)";
+ }
+ else {
+ PopOut_Clip(element, 0, height);
+ }
+ }
+}
+function PopOut_Show(panelId, hideScrollers, data) {
+ var panel = WebForm_GetElementById(panelId);
+ if (panel && panel.tagName.toLowerCase() == "div") {
+ panel.style.visibility = "visible";
+ panel.style.display = "inline";
+ if (!panel.offset || hideScrollers) {
+ panel.scrollTop = 0;
+ panel.offset = 0;
+ var table = WebForm_GetElementByTagName(panel, "TABLE");
+ if (table) {
+ WebForm_SetElementY(table, 0);
+ }
+ }
+ PopOut_Position(panel, hideScrollers);
+ var z = 1;
+ var isIE = window.navigator && window.navigator.appName == "Microsoft Internet Explorer" && !window.opera;
+ if (isIE && data) {
+ var childFrameId = panel.id + "_MenuIFrame";
+ var childFrame = WebForm_GetElementById(childFrameId);
+ var parent = panel.offsetParent;
+ if (!childFrame) {
+ childFrame = document.createElement("iframe");
+ childFrame.id = childFrameId;
+ childFrame.src = (data.iframeUrl ? data.iframeUrl : "about:blank");
+ childFrame.style.position = "absolute";
+ childFrame.style.display = "none";
+ childFrame.scrolling = "no";
+ childFrame.frameBorder = "0";
+ if (parent.tagName.toLowerCase() == "html") {
+ document.body.appendChild(childFrame);
+ }
+ else {
+ parent.appendChild(childFrame);
+ }
+ }
+ var pos = WebForm_GetElementPosition(panel);
+ var parentPos = WebForm_GetElementPosition(parent);
+ WebForm_SetElementX(childFrame, pos.x - parentPos.x);
+ WebForm_SetElementY(childFrame, pos.y - parentPos.y);
+ WebForm_SetElementWidth(childFrame, pos.width);
+ WebForm_SetElementHeight(childFrame, pos.height);
+ childFrame.style.display = "block";
+ if (panel.currentStyle && panel.currentStyle.zIndex && panel.currentStyle.zIndex != "auto") {
+ z = panel.currentStyle.zIndex;
+ }
+ else if (panel.style.zIndex) {
+ z = panel.style.zIndex;
+ }
+ }
+ panel.style.zIndex = z;
+ }
+}
+function PopOut_ShowScrollers(panel) {
+ if (panel && panel.style) {
+ var up = WebForm_GetElementById(panel.id + "Up");
+ var dn = WebForm_GetElementById(panel.id + "Dn");
+ var cnt = 0;
+ if (up && dn) {
+ if (panel.offset && panel.offset > 0) {
+ up.style.visibility = "visible";
+ up.style.display = "inline";
+ cnt++;
+ if (panel.clientWidth) {
+ WebForm_SetElementWidth(up, panel.clientWidth
+ - (up.clientLeft ? (2 * up.clientLeft) : 0));
+ }
+ WebForm_SetElementY(up, 0);
+ }
+ else {
+ up.style.visibility = "hidden";
+ up.style.display = "none";
+ }
+ if (panel.offset + panel.clippedHeight + 2 <= panel.physicalHeight) {
+ dn.style.visibility = "visible";
+ dn.style.display = "inline";
+ cnt++;
+ if (panel.clientWidth) {
+ WebForm_SetElementWidth(dn, panel.clientWidth
+ - (dn.clientLeft ? (2 * dn.clientLeft) : 0));
+ }
+ WebForm_SetElementY(dn, panel.clippedHeight - WebForm_GetElementPosition(dn).height
+ - (panel.clientTop ? (2 * panel.clientTop) : 0));
+ }
+ else {
+ dn.style.visibility = "hidden";
+ dn.style.display = "none";
+ }
+ if (cnt == 0) {
+ panel.style.clip = "rect(auto auto auto auto)";
+ }
+ }
+ }
+}
+function PopOut_Stop() {
+ if (__scrollPanel && __scrollPanel.interval) {
+ window.clearInterval(__scrollPanel.interval);
+ }
+ Menu_RestoreInterval();
+}
+function PopOut_Up(scroller) {
+ Menu_ClearInterval();
+ var panel;
+ if (scroller) {
+ panel = scroller.parentNode
+ }
+ else {
+ panel = __scrollPanel;
+ }
+ if (panel && panel.offset && panel.offset > 0) {
+ PopOut_Scroll(panel, -2);
+ __scrollPanel = panel;
+ PopOut_ShowScrollers(panel);
+ PopOut_Stop();
+ __scrollPanel.interval = window.setInterval("PopOut_Up()", 8);
+ }
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/MenuStandards.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/MenuStandards.js
new file mode 100644
index 00000000..95decdd0
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/MenuStandards.js
@@ -0,0 +1,697 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/MenuStandards.js
+if (!window.Sys) { window.Sys = {}; }
+if (!Sys.WebForms) { Sys.WebForms = {}; }
+Sys.WebForms.Menu = function(options) {
+ this.items = [];
+ this.depth = options.depth || 1;
+ this.parentMenuItem = options.parentMenuItem;
+ this.element = Sys.WebForms.Menu._domHelper.getElement(options.element);
+ if (this.element.tagName === 'DIV') {
+ var containerElement = this.element;
+ this.element = Sys.WebForms.Menu._domHelper.firstChild(containerElement);
+ this.element.tabIndex = options.tabIndex || 0;
+ options.element = containerElement;
+ options.menu = this;
+ this.container = new Sys.WebForms._MenuContainer(options);
+ Sys.WebForms.Menu._domHelper.setFloat(this.element, this.container.rightToLeft ? "right" : "left");
+ }
+ else {
+ this.container = options.container;
+ this.keyMap = options.keyMap;
+ }
+ Sys.WebForms.Menu._elementObjectMapper.map(this.element, this);
+ if (this.parentMenuItem && this.parentMenuItem.parentMenu) {
+ this.parentMenu = this.parentMenuItem.parentMenu;
+ this.rootMenu = this.parentMenu.rootMenu;
+ if (!this.element.id) {
+ this.element.id = (this.container.element.id || 'menu') + ':submenu:' + Sys.WebForms.Menu._elementObjectMapper._computedId;
+ }
+ if (this.depth > this.container.staticDisplayLevels) {
+ this.displayMode = "dynamic";
+ this.element.style.display = "none";
+ this.element.style.position = "absolute";
+ if (this.rootMenu && this.container.orientation === 'horizontal' && this.parentMenu.isStatic()) {
+ this.element.style.top = "100%";
+ if (this.container.rightToLeft) {
+ this.element.style.right = "0px";
+ }
+ else {
+ this.element.style.left = "0px";
+ }
+ }
+ else {
+ this.element.style.top = "0px";
+ if (this.container.rightToLeft) {
+ this.element.style.right = "100%";
+ }
+ else {
+ this.element.style.left = "100%";
+ }
+ }
+ if (this.container.rightToLeft) {
+ this.keyMap = Sys.WebForms.Menu._keyboardMapping.verticalRtl;
+ }
+ else {
+ this.keyMap = Sys.WebForms.Menu._keyboardMapping.vertical;
+ }
+ }
+ else {
+ this.displayMode = "static";
+ this.element.style.display = "block";
+ if (this.container.orientation === 'horizontal') {
+ Sys.WebForms.Menu._domHelper.setFloat(this.element, this.container.rightToLeft ? "right" : "left");
+ }
+ }
+ }
+ Sys.WebForms.Menu._domHelper.appendCssClass(this.element, this.displayMode);
+ var children = this.element.childNodes;
+ var count = children.length;
+ for (var i = 0; i < count; i++) {
+ var node = children[i];
+ if (node.nodeType !== 1) {
+ continue;
+ }
+ var topLevelMenuItem = null;
+ if (this.parentMenuItem) {
+ topLevelMenuItem = this.parentMenuItem.topLevelMenuItem;
+ }
+ var menuItem = new Sys.WebForms.MenuItem(this, node, topLevelMenuItem);
+ var previousMenuItem = this.items[this.items.length - 1];
+ if (previousMenuItem) {
+ menuItem.previousSibling = previousMenuItem;
+ previousMenuItem.nextSibling = menuItem;
+ }
+ this.items[this.items.length] = menuItem;
+ }
+};
+Sys.WebForms.Menu.prototype = {
+ blur: function() { if (this.container) this.container.blur(); },
+ collapse: function() {
+ this.each(function(menuItem) {
+ menuItem.hover(false);
+ menuItem.blur();
+ var childMenu = menuItem.childMenu;
+ if (childMenu) {
+ childMenu.collapse();
+ }
+ });
+ this.hide();
+ },
+ doDispose: function() { this.each(function(item) { item.doDispose(); }); },
+ each: function(fn) {
+ var count = this.items.length;
+ for (var i = 0; i < count; i++) {
+ fn(this.items[i]);
+ }
+ },
+ firstChild: function() { return this.items[0]; },
+ focus: function() { if (this.container) this.container.focus(); },
+ get_displayed: function() { return this.element.style.display !== 'none'; },
+ get_focused: function() {
+ if (this.container) {
+ return this.container.focused;
+ }
+ return false;
+ },
+ handleKeyPress: function(keyCode) {
+ if (this.keyMap.contains(keyCode)) {
+ if (this.container.focusedMenuItem) {
+ this.container.focusedMenuItem.navigate(keyCode);
+ return;
+ }
+ var firstChild = this.firstChild();
+ if (firstChild) {
+ this.container.navigateTo(firstChild);
+ }
+ }
+ },
+ hide: function() {
+ if (!this.get_displayed()) {
+ return;
+ }
+ this.each(function(item) {
+ if (item.childMenu) {
+ item.childMenu.hide();
+ }
+ });
+ if (!this.isRoot()) {
+ if (this.get_focused()) {
+ this.container.navigateTo(this.parentMenuItem);
+ }
+ this.element.style.display = 'none';
+ }
+ },
+ isRoot: function() { return this.rootMenu === this; },
+ isStatic: function() { return this.displayMode === 'static'; },
+ lastChild: function() { return this.items[this.items.length - 1]; },
+ show: function() { this.element.style.display = 'block'; }
+};
+if (Sys.WebForms.Menu.registerClass) {
+ Sys.WebForms.Menu.registerClass('Sys.WebForms.Menu');
+}
+Sys.WebForms.MenuItem = function(parentMenu, listElement, topLevelMenuItem) {
+ this.keyMap = parentMenu.keyMap;
+ this.parentMenu = parentMenu;
+ this.container = parentMenu.container;
+ this.element = listElement;
+ this.topLevelMenuItem = topLevelMenuItem || this;
+ this._anchor = Sys.WebForms.Menu._domHelper.firstChild(listElement);
+ while (this._anchor && this._anchor.tagName !== 'A') {
+ this._anchor = Sys.WebForms.Menu._domHelper.nextSibling(this._anchor);
+ }
+ if (this._anchor) {
+ this._anchor.tabIndex = -1;
+ var subMenu = this._anchor;
+ while (subMenu && subMenu.tagName !== 'UL') {
+ subMenu = Sys.WebForms.Menu._domHelper.nextSibling(subMenu);
+ }
+ if (subMenu) {
+ this.childMenu = new Sys.WebForms.Menu({ element: subMenu, parentMenuItem: this, depth: parentMenu.depth + 1, container: this.container, keyMap: this.keyMap });
+ if (!this.childMenu.isStatic()) {
+ Sys.WebForms.Menu._domHelper.appendCssClass(this.element, 'has-popup');
+ Sys.WebForms.Menu._domHelper.appendAttributeValue(this.element, 'aria-haspopup', this.childMenu.element.id);
+ }
+ }
+ }
+ Sys.WebForms.Menu._elementObjectMapper.map(listElement, this);
+ Sys.WebForms.Menu._domHelper.appendAttributeValue(listElement, 'role', 'menuitem');
+ Sys.WebForms.Menu._domHelper.appendCssClass(listElement, parentMenu.displayMode);
+ if (this._anchor) {
+ Sys.WebForms.Menu._domHelper.appendCssClass(this._anchor, parentMenu.displayMode);
+ }
+ this.element.style.position = "relative";
+ if (this.parentMenu.depth == 1 && this.container.orientation == 'horizontal') {
+ Sys.WebForms.Menu._domHelper.setFloat(this.element, this.container.rightToLeft ? "right" : "left");
+ }
+ if (!this.container.disabled) {
+ Sys.WebForms.Menu._domHelper.addEvent(this.element, 'mouseover', Sys.WebForms.MenuItem._onmouseover);
+ Sys.WebForms.Menu._domHelper.addEvent(this.element, 'mouseout', Sys.WebForms.MenuItem._onmouseout);
+ }
+};
+Sys.WebForms.MenuItem.prototype = {
+ applyUp: function(fn, condition) {
+ condition = condition || function(menuItem) { return menuItem; };
+ var menuItem = this;
+ var lastMenuItem = null;
+ while (condition(menuItem)) {
+ fn(menuItem);
+ lastMenuItem = menuItem;
+ menuItem = menuItem.parentMenu.parentMenuItem;
+ }
+ return lastMenuItem;
+ },
+ blur: function() { this.setTabIndex(-1); },
+ doDispose: function() {
+ Sys.WebForms.Menu._domHelper.removeEvent(this.element, 'mouseover', Sys.WebForms.MenuItem._onmouseover);
+ Sys.WebForms.Menu._domHelper.removeEvent(this.element, 'mouseout', Sys.WebForms.MenuItem._onmouseout);
+ if (this.childMenu) {
+ this.childMenu.doDispose();
+ }
+ },
+ focus: function() {
+ if (!this.parentMenu.get_displayed()) {
+ this.parentMenu.show();
+ }
+ this.setTabIndex(0);
+ this.container.focused = true;
+ this._anchor.focus();
+ },
+ get_highlighted: function() { return /(^|\s)highlighted(\s|$)/.test(this._anchor.className); },
+ getTabIndex: function() { return this._anchor.tabIndex; },
+ highlight: function(highlighting) {
+ if (highlighting) {
+ this.applyUp(function(menuItem) {
+ menuItem.parentMenu.parentMenuItem.highlight(true);
+ },
+ function(menuItem) {
+ return !menuItem.parentMenu.isStatic() && menuItem.parentMenu.parentMenuItem;
+ }
+ );
+ Sys.WebForms.Menu._domHelper.appendCssClass(this._anchor, 'highlighted');
+ }
+ else {
+ Sys.WebForms.Menu._domHelper.removeCssClass(this._anchor, 'highlighted');
+ this.setTabIndex(-1);
+ }
+ },
+ hover: function(hovering) {
+ if (hovering) {
+ var currentHoveredItem = this.container.hoveredMenuItem;
+ if (currentHoveredItem) {
+ currentHoveredItem.hover(false);
+ }
+ var currentFocusedItem = this.container.focusedMenuItem;
+ if (currentFocusedItem && currentFocusedItem !== this) {
+ currentFocusedItem.hover(false);
+ }
+ this.applyUp(function(menuItem) {
+ if (menuItem.childMenu && !menuItem.childMenu.get_displayed()) {
+ menuItem.childMenu.show();
+ }
+ });
+ this.container.hoveredMenuItem = this;
+ this.highlight(true);
+ }
+ else {
+ var menuItem = this;
+ while (menuItem) {
+ menuItem.highlight(false);
+ if (menuItem.childMenu) {
+ if (!menuItem.childMenu.isStatic()) {
+ menuItem.childMenu.hide();
+ }
+ }
+ menuItem = menuItem.parentMenu.parentMenuItem;
+ }
+ }
+ },
+ isSiblingOf: function(menuItem) { return menuItem.parentMenu === this.parentMenu; },
+ mouseout: function() {
+ var menuItem = this,
+ id = this.container.pendingMouseoutId,
+ disappearAfter = this.container.disappearAfter;
+ if (id) {
+ window.clearTimeout(id);
+ }
+ if (disappearAfter > -1) {
+ this.container.pendingMouseoutId =
+ window.setTimeout(function() { menuItem.hover(false); }, disappearAfter);
+ }
+ },
+ mouseover: function() {
+ var id = this.container.pendingMouseoutId;
+ if (id) {
+ window.clearTimeout(id);
+ this.container.pendingMouseoutId = null;
+ }
+ this.hover(true);
+ if (this.container.menu.get_focused()) {
+ this.container.navigateTo(this);
+ }
+ },
+ navigate: function(keyCode) {
+ switch (this.keyMap[keyCode]) {
+ case this.keyMap.next:
+ this.navigateNext();
+ break;
+ case this.keyMap.previous:
+ this.navigatePrevious();
+ break;
+ case this.keyMap.child:
+ this.navigateChild();
+ break;
+ case this.keyMap.parent:
+ this.navigateParent();
+ break;
+ case this.keyMap.tab:
+ this.navigateOut();
+ break;
+ }
+ },
+ navigateChild: function() {
+ var subMenu = this.childMenu;
+ if (subMenu) {
+ var firstChild = subMenu.firstChild();
+ if (firstChild) {
+ this.container.navigateTo(firstChild);
+ }
+ }
+ else {
+ if (this.container.orientation === 'horizontal') {
+ var nextItem = this.topLevelMenuItem.nextSibling || this.topLevelMenuItem.parentMenu.firstChild();
+ if (nextItem == this.topLevelMenuItem) {
+ return;
+ }
+ this.topLevelMenuItem.childMenu.hide();
+ this.container.navigateTo(nextItem);
+ if (nextItem.childMenu) {
+ this.container.navigateTo(nextItem.childMenu.firstChild());
+ }
+ }
+ }
+ },
+ navigateNext: function() {
+ if (this.childMenu) {
+ this.childMenu.hide();
+ }
+ var nextMenuItem = this.nextSibling;
+ if (!nextMenuItem && this.parentMenu.isRoot()) {
+ nextMenuItem = this.parentMenu.parentMenuItem;
+ if (nextMenuItem) {
+ nextMenuItem = nextMenuItem.nextSibling;
+ }
+ }
+ if (!nextMenuItem) {
+ nextMenuItem = this.parentMenu.firstChild();
+ }
+ if (nextMenuItem) {
+ this.container.navigateTo(nextMenuItem);
+ }
+ },
+ navigateOut: function() {
+ this.parentMenu.blur();
+ },
+ navigateParent: function() {
+ var parentMenu = this.parentMenu,
+ horizontal = this.container.orientation === 'horizontal';
+ if (!parentMenu) return;
+ if (horizontal && this.childMenu && parentMenu.isRoot()) {
+ this.navigateChild();
+ return;
+ }
+ if (parentMenu.parentMenuItem && !parentMenu.isRoot()) {
+ if (horizontal && this.parentMenu.depth === 2) {
+ var previousItem = this.parentMenu.parentMenuItem.previousSibling;
+ if (!previousItem) {
+ previousItem = this.parentMenu.rootMenu.lastChild();
+ }
+ this.topLevelMenuItem.childMenu.hide();
+ this.container.navigateTo(previousItem);
+ if (previousItem.childMenu) {
+ this.container.navigateTo(previousItem.childMenu.firstChild());
+ }
+ }
+ else {
+ this.parentMenu.hide();
+ }
+ }
+ },
+ navigatePrevious: function() {
+ if (this.childMenu) {
+ this.childMenu.hide();
+ }
+ var previousMenuItem = this.previousSibling;
+ if (previousMenuItem) {
+ var childMenu = previousMenuItem.childMenu;
+ if (childMenu && childMenu.isRoot()) {
+ previousMenuItem = childMenu.lastChild();
+ }
+ }
+ if (!previousMenuItem && this.parentMenu.isRoot()) {
+ previousMenuItem = this.parentMenu.parentMenuItem;
+ }
+ if (!previousMenuItem) {
+ previousMenuItem = this.parentMenu.lastChild();
+ }
+ if (previousMenuItem) {
+ this.container.navigateTo(previousMenuItem);
+ }
+ },
+ setTabIndex: function(index) { if (this._anchor) this._anchor.tabIndex = index; }
+};
+Sys.WebForms.MenuItem._onmouseout = function(e) {
+ var menuItem = Sys.WebForms.Menu._elementObjectMapper.getMappedObject(this);
+ if (!menuItem) {
+ return;
+ }
+ menuItem.mouseout();
+ Sys.WebForms.Menu._domHelper.cancelEvent(e);
+};
+Sys.WebForms.MenuItem._onmouseover = function(e) {
+ var menuItem = Sys.WebForms.Menu._elementObjectMapper.getMappedObject(this);
+ if (!menuItem) {
+ return;
+ }
+ menuItem.mouseover();
+ Sys.WebForms.Menu._domHelper.cancelEvent(e);
+};
+Sys.WebForms.Menu._domHelper = {
+ addEvent: function(element, eventName, fn, useCapture) {
+ if (element.addEventListener) {
+ element.addEventListener(eventName, fn, !!useCapture);
+ }
+ else {
+ element['on' + eventName] = fn;
+ }
+ },
+ appendAttributeValue: function(element, name, value) {
+ this.updateAttributeValue('append', element, name, value);
+ },
+ appendCssClass: function(element, value) {
+ this.updateClassName('append', element, name, value);
+ },
+ appendString: function(getString, setString, value) {
+ var currentValue = getString();
+ if (!currentValue) {
+ setString(value);
+ return;
+ }
+ var regex = this._regexes.getRegex('(^| )' + value + '($| )');
+ if (regex.test(currentValue)) {
+ return;
+ }
+ setString(currentValue + ' ' + value);
+ },
+ cancelEvent: function(e) {
+ var event = e || window.event;
+ if (event) {
+ event.cancelBubble = true;
+ if (event.stopPropagation) {
+ event.stopPropagation();
+ }
+ }
+ },
+ contains: function(ancestor, descendant) {
+ for (; descendant && (descendant !== ancestor); descendant = descendant.parentNode) { }
+ return !!descendant;
+ },
+ firstChild: function(element) {
+ var child = element.firstChild;
+ if (child && child.nodeType !== 1) {
+ child = this.nextSibling(child);
+ }
+ return child;
+ },
+ getElement: function(elementOrId) { return typeof elementOrId === 'string' ? document.getElementById(elementOrId) : elementOrId; },
+ getElementDirection: function(element) {
+ if (element) {
+ if (element.dir) {
+ return element.dir;
+ }
+ return this.getElementDirection(element.parentNode);
+ }
+ return "ltr";
+ },
+ getKeyCode: function(event) { return event.keyCode || event.charCode || 0; },
+ insertAfter: function(element, elementToInsert) {
+ var next = element.nextSibling;
+ if (next) {
+ element.parentNode.insertBefore(elementToInsert, next);
+ }
+ else if (element.parentNode) {
+ element.parentNode.appendChild(elementToInsert);
+ }
+ },
+ nextSibling: function(element) {
+ var sibling = element.nextSibling;
+ while (sibling) {
+ if (sibling.nodeType === 1) {
+ return sibling;
+ }
+ sibling = sibling.nextSibling;
+ }
+ },
+ removeAttributeValue: function(element, name, value) {
+ this.updateAttributeValue('remove', element, name, value);
+ },
+ removeCssClass: function(element, value) {
+ this.updateClassName('remove', element, name, value);
+ },
+ removeEvent: function(element, eventName, fn, useCapture) {
+ if (element.removeEventListener) {
+ element.removeEventListener(eventName, fn, !!useCapture);
+ }
+ else if (element.detachEvent) {
+ element.detachEvent('on' + eventName, fn)
+ }
+ element['on' + eventName] = null;
+ },
+ removeString: function(getString, setString, valueToRemove) {
+ var currentValue = getString();
+ if (currentValue) {
+ var regex = this._regexes.getRegex('(\\s|\\b)' + valueToRemove + '$|\\b' + valueToRemove + '\\s+');
+ setString(currentValue.replace(regex, ''));
+ }
+ },
+ setFloat: function(element, direction) {
+ element.style.styleFloat = direction;
+ element.style.cssFloat = direction;
+ },
+ updateAttributeValue: function(operation, element, name, value) {
+ this[operation + 'String'](
+ function() {
+ return element.getAttribute(name);
+ },
+ function(newValue) {
+ element.setAttribute(name, newValue);
+ },
+ value
+ );
+ },
+ updateClassName: function(operation, element, name, value) {
+ this[operation + 'String'](
+ function() {
+ return element.className;
+ },
+ function(newValue) {
+ element.className = newValue;
+ },
+ value
+ );
+ },
+ _regexes: {
+ getRegex: function(pattern) {
+ var regex = this[pattern];
+ if (!regex) {
+ this[pattern] = regex = new RegExp(pattern);
+ }
+ return regex;
+ }
+ }
+};
+Sys.WebForms.Menu._elementObjectMapper = {
+ _computedId: 0,
+ _mappings: {},
+ _mappingIdName: 'Sys.WebForms.Menu.Mapping',
+ getMappedObject: function(element) {
+ var id = element[this._mappingIdName];
+ if (id) {
+ return this._mappings[this._mappingIdName + ':' + id];
+ }
+ },
+ map: function(element, theObject) {
+ var mappedObject = element[this._mappingIdName];
+ if (mappedObject === theObject) {
+ return;
+ }
+ var objectId = element[this._mappingIdName] || element.id || '%' + (++this._computedId);
+ element[this._mappingIdName] = objectId;
+ this._mappings[this._mappingIdName + ':' + objectId] = theObject;
+ theObject.mappingId = objectId;
+ }
+};
+Sys.WebForms.Menu._keyboardMapping = new (function() {
+ var LEFT_ARROW = 37;
+ var UP_ARROW = 38;
+ var RIGHT_ARROW = 39;
+ var DOWN_ARROW = 40;
+ var TAB = 9;
+ var ESCAPE = 27;
+ this.vertical = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
+ this.vertical[DOWN_ARROW] = this.vertical.next;
+ this.vertical[UP_ARROW] = this.vertical.previous;
+ this.vertical[RIGHT_ARROW] = this.vertical.child;
+ this.vertical[LEFT_ARROW] = this.vertical.parent;
+ this.vertical[TAB] = this.vertical[ESCAPE] = this.vertical.tab;
+ this.verticalRtl = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
+ this.verticalRtl[DOWN_ARROW] = this.verticalRtl.next;
+ this.verticalRtl[UP_ARROW] = this.verticalRtl.previous;
+ this.verticalRtl[LEFT_ARROW] = this.verticalRtl.child;
+ this.verticalRtl[RIGHT_ARROW] = this.verticalRtl.parent;
+ this.verticalRtl[TAB] = this.verticalRtl[ESCAPE] = this.verticalRtl.tab;
+ this.horizontal = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
+ this.horizontal[RIGHT_ARROW] = this.horizontal.next;
+ this.horizontal[LEFT_ARROW] = this.horizontal.previous;
+ this.horizontal[DOWN_ARROW] = this.horizontal.child;
+ this.horizontal[UP_ARROW] = this.horizontal.parent;
+ this.horizontal[TAB] = this.horizontal[ESCAPE] = this.horizontal.tab;
+ this.horizontalRtl = { next: 0, previous: 1, child: 2, parent: 3, tab: 4 };
+ this.horizontalRtl[RIGHT_ARROW] = this.horizontalRtl.previous;
+ this.horizontalRtl[LEFT_ARROW] = this.horizontalRtl.next;
+ this.horizontalRtl[DOWN_ARROW] = this.horizontalRtl.child;
+ this.horizontalRtl[UP_ARROW] = this.horizontalRtl.parent;
+ this.horizontalRtl[TAB] = this.horizontalRtl[ESCAPE] = this.horizontalRtl.tab;
+ this.horizontal.contains = this.horizontalRtl.contains = this.vertical.contains = this.verticalRtl.contains = function(keycode) {
+ return this[keycode] != null;
+ };
+})();
+Sys.WebForms._MenuContainer = function(options) {
+ this.focused = false;
+ this.disabled = options.disabled;
+ this.staticDisplayLevels = options.staticDisplayLevels || 1;
+ this.element = options.element;
+ this.orientation = options.orientation || 'vertical';
+ this.disappearAfter = options.disappearAfter;
+ this.rightToLeft = Sys.WebForms.Menu._domHelper.getElementDirection(this.element) === 'rtl';
+ Sys.WebForms.Menu._elementObjectMapper.map(this.element, this);
+ this.menu = options.menu;
+ this.menu.rootMenu = this.menu;
+ this.menu.displayMode = 'static';
+ this.menu.element.style.position = 'relative';
+ this.menu.element.style.width = 'auto';
+ if (this.orientation === 'vertical') {
+ Sys.WebForms.Menu._domHelper.appendAttributeValue(this.menu.element, 'role', 'menu');
+ if (this.rightToLeft) {
+ this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.verticalRtl;
+ }
+ else {
+ this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.vertical;
+ }
+ }
+ else {
+ Sys.WebForms.Menu._domHelper.appendAttributeValue(this.menu.element, 'role', 'menubar');
+ if (this.rightToLeft) {
+ this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.horizontalRtl;
+ }
+ else {
+ this.menu.keyMap = Sys.WebForms.Menu._keyboardMapping.horizontal;
+ }
+ }
+ var floatBreak = document.createElement('div');
+ floatBreak.style.clear = this.rightToLeft ? "right" : "left";
+ this.element.appendChild(floatBreak);
+ Sys.WebForms.Menu._domHelper.setFloat(this.element, this.rightToLeft ? "right" : "left");
+ Sys.WebForms.Menu._domHelper.insertAfter(this.element, floatBreak);
+ if (!this.disabled) {
+ Sys.WebForms.Menu._domHelper.addEvent(this.menu.element, 'focus', this._onfocus, true);
+ Sys.WebForms.Menu._domHelper.addEvent(this.menu.element, 'keydown', this._onkeydown);
+ var menuContainer = this;
+ this.element.dispose = function() {
+ if (menuContainer.element.dispose) {
+ menuContainer.element.dispose = null;
+ Sys.WebForms.Menu._domHelper.removeEvent(menuContainer.menu.element, 'focus', menuContainer._onfocus, true);
+ Sys.WebForms.Menu._domHelper.removeEvent(menuContainer.menu.element, 'keydown', menuContainer._onkeydown);
+ menuContainer.menu.doDispose();
+ }
+ };
+ Sys.WebForms.Menu._domHelper.addEvent(window, 'unload', function() {
+ if (menuContainer.element.dispose) {
+ menuContainer.element.dispose();
+ }
+ });
+ }
+};
+Sys.WebForms._MenuContainer.prototype = {
+ blur: function() {
+ this.focused = false;
+ this.isBlurring = false;
+ this.menu.collapse();
+ this.focusedMenuItem = null;
+ },
+ focus: function(e) { this.focused = true; },
+ navigateTo: function(menuItem) {
+ if (this.focusedMenuItem && this.focusedMenuItem !== this) {
+ this.focusedMenuItem.highlight(false);
+ }
+ menuItem.highlight(true);
+ menuItem.focus();
+ this.focusedMenuItem = menuItem;
+ },
+ _onfocus: function(e) {
+ var event = e || window.event;
+ if (event.srcElement && this) {
+ if (Sys.WebForms.Menu._domHelper.contains(this.element, event.srcElement)) {
+ if (!this.focused) {
+ this.focus();
+ }
+ }
+ }
+ },
+ _onkeydown: function(e) {
+ var thisMenu = Sys.WebForms.Menu._elementObjectMapper.getMappedObject(this);
+ var keyCode = Sys.WebForms.Menu._domHelper.getKeyCode(e || window.event);
+ if (thisMenu) {
+ thisMenu.handleKeyPress(keyCode);
+ }
+ }
+};
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/SmartNav.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/SmartNav.js
new file mode 100644
index 00000000..e9e95d2e
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/SmartNav.js
@@ -0,0 +1,280 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/SmartNav.js
+var snSrc;
+if ((typeof(window.__smartNav) == "undefined") || (window.__smartNav == null))
+{
+ window.__smartNav = new Object();
+ window.__smartNav.update = function()
+ {
+ var sn = window.__smartNav;
+ var fd;
+ document.detachEvent("onstop", sn.stopHif);
+ sn.inPost = false;
+ try { fd = frames["__hifSmartNav"].document; } catch (e) {return;}
+ var fdr = fd.getElementsByTagName("asp_smartnav_rdir");
+ if (fdr.length > 0)
+ {
+ if ((typeof(sn.sHif) == "undefined") || (sn.sHif == null))
+ {
+ sn.sHif = document.createElement("IFRAME");
+ sn.sHif.name = "__hifSmartNav";
+ sn.sHif.style.display = "none";
+ sn.sHif.src = snSrc;
+ }
+ try {window.location = fdr[0].url;} catch (e) {};
+ return;
+ }
+ var fdurl = fd.location.href;
+ var index = fdurl.indexOf(snSrc);
+ if ((index != -1 && index == fdurl.length-snSrc.length)
+ || fdurl == "about:blank")
+ return;
+ var fdurlb = fdurl.split("?")[0];
+ if (document.location.href.indexOf(fdurlb) < 0)
+ {
+ document.location.href=fdurl;
+ return;
+ }
+ sn._savedOnLoad = window.onload;
+ window.onload = null;
+ window.__smartNav.updateHelper();
+ }
+ window.__smartNav.updateHelper = function()
+ {
+ if (document.readyState != "complete")
+ {
+ window.setTimeout(window.__smartNav.updateHelper, 25);
+ return;
+ }
+ window.__smartNav.loadNewContent();
+ }
+ window.__smartNav.loadNewContent = function()
+ {
+ var sn = window.__smartNav;
+ var fd;
+ try { fd = frames["__hifSmartNav"].document; } catch (e) {return;}
+ if ((typeof(sn.sHif) != "undefined") && (sn.sHif != null))
+ {
+ sn.sHif.removeNode(true);
+ sn.sHif = null;
+ }
+ var hdm = document.getElementsByTagName("head")[0];
+ var hk = hdm.childNodes;
+ var tt = null;
+ var i;
+ for (i = hk.length - 1; i>= 0; i--)
+ {
+ if (hk[i].tagName == "TITLE")
+ {
+ tt = hk[i].outerHTML;
+ continue;
+ }
+ if (hk[i].tagName != "BASEFONT" || hk[i].innerHTML.length == 0)
+ hdm.removeChild(hdm.childNodes[i]);
+ }
+ var kids = fd.getElementsByTagName("head")[0].childNodes;
+ for (i = 0; i < kids.length; i++)
+ {
+ var tn = kids[i].tagName;
+ var k = document.createElement(tn);
+ k.id = kids[i].id;
+ k.mergeAttributes(kids[i]);
+ switch(tn)
+ {
+ case "TITLE":
+ if (tt == kids[i].outerHTML)
+ continue;
+ k.innerText = kids[i].text;
+ hdm.insertAdjacentElement("afterbegin", k);
+ continue;
+ case "BASEFONT" :
+ if (kids[i].innerHTML.length > 0)
+ continue;
+ break;
+ default:
+ var o = document.createElement("BODY");
+ o.innerHTML = "" + kids[i].outerHTML + "";
+ k = o.firstChild;
+ break;
+ }
+ if((typeof(k) != "undefined") && (k != null))
+ hdm.appendChild(k);
+ }
+ document.body.clearAttributes();
+ document.body.id = fd.body.id;
+ document.body.mergeAttributes(fd.body);
+ var newBodyLoad = fd.body.onload;
+ if ((typeof(newBodyLoad) != "undefined") && (newBodyLoad != null))
+ document.body.onload = newBodyLoad;
+ else
+ document.body.onload = sn._savedOnLoad;
+ var s = "" + fd.body.innerHTML + "";
+ if ((typeof(sn.hif) != "undefined") && (sn.hif != null))
+ {
+ var hifP = sn.hif.parentElement;
+ if ((typeof(hifP) != "undefined") && (hifP != null))
+ sn.sHif=hifP.removeChild(sn.hif);
+ }
+ document.body.innerHTML = s;
+ var sc = document.scripts;
+ for (i = 0; i < sc.length; i++)
+ {
+ sc[i].text = sc[i].text;
+ }
+ sn.hif = document.all("__hifSmartNav");
+ if ((typeof(sn.hif) != "undefined") && (sn.hif != null))
+ {
+ var hif = sn.hif;
+ sn.hifName = "__hifSmartNav" + (new Date()).getTime();
+ frames["__hifSmartNav"].name = sn.hifName;
+ sn.hifDoc = hif.contentWindow.document;
+ if (sn.ie5)
+ hif.parentElement.removeChild(hif);
+ window.setTimeout(sn.restoreFocus,0);
+ }
+ if (typeof(window.onload) == "string")
+ {
+ try { eval(window.onload) } catch (e) {};
+ }
+ else if ((typeof(window.onload) != "undefined") && (window.onload != null))
+ {
+ try { window.onload() } catch (e) {};
+ }
+ sn._savedOnLoad = null;
+ sn.attachForm();
+ };
+ window.__smartNav.restoreFocus = function()
+ {
+ if (window.__smartNav.inPost == true) return;
+ var curAe = document.activeElement;
+ var sAeId = window.__smartNav.ae;
+ if (((typeof(sAeId) == "undefined") || (sAeId == null)) ||
+ (typeof(curAe) != "undefined") && (curAe != null) && (curAe.id == sAeId || curAe.name == sAeId))
+ return;
+ var ae = document.all(sAeId);
+ if ((typeof(ae) == "undefined") || (ae == null)) return;
+ try { ae.focus(); } catch(e){};
+ }
+ window.__smartNav.saveHistory = function()
+ {
+ if ((typeof(window.__smartNav.hif) != "undefined") && (window.__smartNav.hif != null))
+ window.__smartNav.hif.removeNode();
+ if ((typeof(window.__smartNav.sHif) != "undefined") && (window.__smartNav.sHif != null)
+ && (typeof(document.all[window.__smartNav.siHif]) != "undefined")
+ && (document.all[window.__smartNav.siHif] != null)) {
+ document.all[window.__smartNav.siHif].insertAdjacentElement(
+ "BeforeBegin", window.__smartNav.sHif);
+ }
+ }
+ window.__smartNav.stopHif = function()
+ {
+ document.detachEvent("onstop", window.__smartNav.stopHif);
+ var sn = window.__smartNav;
+ if (((typeof(sn.hifDoc) == "undefined") || (sn.hifDoc == null)) &&
+ (typeof(sn.hif) != "undefined") && (sn.hif != null))
+ {
+ try {sn.hifDoc = sn.hif.contentWindow.document;}
+ catch(e){sn.hifDoc=null}
+ }
+ if (sn.hifDoc != null)
+ {
+ try {sn.hifDoc.execCommand("stop");} catch (e){}
+ }
+ }
+ window.__smartNav.init = function()
+ {
+ var sn = window.__smartNav;
+ window.__smartNav.form.__smartNavPostBack.value = 'true';
+ document.detachEvent("onstop", sn.stopHif);
+ document.attachEvent("onstop", sn.stopHif);
+ try { if (window.event.returnValue == false) return; } catch(e) {}
+ sn.inPost = true;
+ if ((typeof(document.activeElement) != "undefined") && (document.activeElement != null))
+ {
+ var ae = document.activeElement.id;
+ if (ae.length == 0)
+ ae = document.activeElement.name;
+ sn.ae = ae;
+ }
+ else
+ sn.ae = null;
+ try {document.selection.empty();} catch (e) {}
+ if ((typeof(sn.hif) == "undefined") || (sn.hif == null))
+ {
+ sn.hif = document.all("__hifSmartNav");
+ sn.hifDoc = sn.hif.contentWindow.document;
+ }
+ if ((typeof(sn.hifDoc) != "undefined") && (sn.hifDoc != null))
+ try {sn.hifDoc.designMode = "On";} catch(e){};
+ if ((typeof(sn.hif.parentElement) == "undefined") || (sn.hif.parentElement == null))
+ document.body.appendChild(sn.hif);
+ var hif = sn.hif;
+ hif.detachEvent("onload", sn.update);
+ hif.attachEvent("onload", sn.update);
+ window.__smartNav.fInit = true;
+ };
+ window.__smartNav.submit = function()
+ {
+ window.__smartNav.fInit = false;
+ try { window.__smartNav.init(); } catch(e) {}
+ if (window.__smartNav.fInit) {
+ window.__smartNav.form._submit();
+ }
+ };
+ window.__smartNav.attachForm = function()
+ {
+ var cf = document.forms;
+ for (var i=0; i");
+ break;
+ }
+ }
+ var snfm = window.__smartNav.form;
+ if ((typeof(snfm) == "undefined") || (snfm == null)) return false;
+ var sft = snfm.target;
+ if (sft.length != 0 && sft.indexOf("__hifSmartNav") != 0) return false;
+ var sfc = snfm.action.split("?")[0];
+ var url = window.location.href.split("?")[0];
+ if (url.charAt(url.length-1) != '/' && url.lastIndexOf(sfc) + sfc.length != url.length) return false;
+ if (snfm.__formAttached == true) return true;
+ snfm.__formAttached = true;
+ snfm.attachEvent("onsubmit", window.__smartNav.init);
+ snfm._submit = snfm.submit;
+ snfm.submit = window.__smartNav.submit;
+ snfm.target = window.__smartNav.hifName;
+ return true;
+ };
+ window.__smartNav.hifName = "__hifSmartNav" + (new Date()).getTime();
+ window.__smartNav.ie5 = navigator.appVersion.indexOf("MSIE 5") > 0;
+ var rc = window.__smartNav.attachForm();
+ var hif = document.all("__hifSmartNav");
+ if ((typeof(snSrc) == "undefined") || (snSrc == null)) {
+ if (typeof(window.dialogHeight) != "undefined") {
+ snSrc = "IEsmartnav1";
+ hif.src = snSrc;
+ } else {
+ snSrc = hif.src;
+ }
+ }
+ if (rc)
+ {
+ var fsn = frames["__hifSmartNav"];
+ fsn.name = window.__smartNav.hifName;
+ window.__smartNav.siHif = hif.sourceIndex;
+ try {
+ if (fsn.document.location != snSrc)
+ {
+ fsn.document.designMode = "On";
+ hif.attachEvent("onload",window.__smartNav.update);
+ window.__smartNav.hif = hif;
+ }
+ }
+ catch (e) { window.__smartNav.hif = hif; }
+ window.attachEvent("onbeforeunload", window.__smartNav.saveHistory);
+ }
+ else
+ window.__smartNav = null;
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/TreeView.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/TreeView.js
new file mode 100644
index 00000000..e49f2604
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/TreeView.js
@@ -0,0 +1,220 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/TreeView.js
+function TreeView_HoverNode(data, node) {
+ if (!data) {
+ return;
+ }
+ node.hoverClass = data.hoverClass;
+ WebForm_AppendToClassName(node, data.hoverClass);
+ if (__nonMSDOMBrowser) {
+ node = node.childNodes[node.childNodes.length - 1];
+ }
+ else {
+ node = node.children[node.children.length - 1];
+ }
+ node.hoverHyperLinkClass = data.hoverHyperLinkClass;
+ WebForm_AppendToClassName(node, data.hoverHyperLinkClass);
+}
+function TreeView_GetNodeText(node) {
+ var trNode = WebForm_GetParentByTagName(node, "TR");
+ var outerNodes;
+ if (trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName) {
+ outerNodes = trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName("A");
+ if (!outerNodes || outerNodes.length == 0) {
+ outerNodes = trNode.childNodes[trNode.childNodes.length - 1].getElementsByTagName("SPAN");
+ }
+ }
+ var textNode = (outerNodes && outerNodes.length > 0) ?
+ outerNodes[0].childNodes[0] :
+ trNode.childNodes[trNode.childNodes.length - 1].childNodes[0];
+ return (textNode && textNode.nodeValue) ? textNode.nodeValue : "";
+}
+function TreeView_PopulateNode(data, index, node, selectNode, selectImageNode, lineType, text, path, databound, datapath, parentIsLast) {
+ if (!data) {
+ return;
+ }
+ var context = new Object();
+ context.data = data;
+ context.node = node;
+ context.selectNode = selectNode;
+ context.selectImageNode = selectImageNode;
+ context.lineType = lineType;
+ context.index = index;
+ context.isChecked = "f";
+ var tr = WebForm_GetParentByTagName(node, "TR");
+ if (tr) {
+ var checkbox = tr.getElementsByTagName("INPUT");
+ if (checkbox && (checkbox.length > 0)) {
+ for (var i = 0; i < checkbox.length; i++) {
+ if (checkbox[i].type.toLowerCase() == "checkbox") {
+ if (checkbox[i].checked) {
+ context.isChecked = "t";
+ }
+ break;
+ }
+ }
+ }
+ }
+ var param = index + "|" + data.lastIndex + "|" + databound + context.isChecked + parentIsLast + "|" +
+ text.length + "|" + text + datapath.length + "|" + datapath + path;
+ TreeView_PopulateNodeDoCallBack(context, param);
+}
+function TreeView_ProcessNodeData(result, context) {
+ var treeNode = context.node;
+ if (result.length > 0) {
+ var ci = result.indexOf("|", 0);
+ context.data.lastIndex = result.substring(0, ci);
+ ci = result.indexOf("|", ci + 1);
+ var newExpandState = result.substring(context.data.lastIndex.length + 1, ci);
+ context.data.expandState.value += newExpandState;
+ var chunk = result.substr(ci + 1);
+ var newChildren, table;
+ if (__nonMSDOMBrowser) {
+ var newDiv = document.createElement("div");
+ newDiv.innerHTML = chunk;
+ table = WebForm_GetParentByTagName(treeNode, "TABLE");
+ newChildren = null;
+ if ((typeof(table.nextSibling) == "undefined") || (table.nextSibling == null)) {
+ table.parentNode.insertBefore(newDiv.firstChild, table.nextSibling);
+ newChildren = table.previousSibling;
+ }
+ else {
+ table = table.nextSibling;
+ table.parentNode.insertBefore(newDiv.firstChild, table);
+ newChildren = table.previousSibling;
+ }
+ newChildren = document.getElementById(treeNode.id + "Nodes");
+ }
+ else {
+ table = WebForm_GetParentByTagName(treeNode, "TABLE");
+ table.insertAdjacentHTML("afterEnd", chunk);
+ newChildren = document.all[treeNode.id + "Nodes"];
+ }
+ if ((typeof(newChildren) != "undefined") && (newChildren != null)) {
+ TreeView_ToggleNode(context.data, context.index, treeNode, context.lineType, newChildren);
+ treeNode.href = document.getElementById ?
+ "javascript:TreeView_ToggleNode(" + context.data.name + "," + context.index + ",document.getElementById('" + treeNode.id + "'),'" + context.lineType + "',document.getElementById('" + newChildren.id + "'))" :
+ "javascript:TreeView_ToggleNode(" + context.data.name + "," + context.index + "," + treeNode.id + ",'" + context.lineType + "'," + newChildren.id + ")";
+ if ((typeof(context.selectNode) != "undefined") && (context.selectNode != null) && context.selectNode.href &&
+ (context.selectNode.href.indexOf("javascript:TreeView_PopulateNode", 0) == 0)) {
+ context.selectNode.href = treeNode.href;
+ }
+ if ((typeof(context.selectImageNode) != "undefined") && (context.selectImageNode != null) && context.selectNode.href &&
+ (context.selectImageNode.href.indexOf("javascript:TreeView_PopulateNode", 0) == 0)) {
+ context.selectImageNode.href = treeNode.href;
+ }
+ }
+ context.data.populateLog.value += context.index + ",";
+ }
+ else {
+ var img = treeNode.childNodes ? treeNode.childNodes[0] : treeNode.children[0];
+ if ((typeof(img) != "undefined") && (img != null)) {
+ var lineType = context.lineType;
+ if (lineType == "l") {
+ img.src = context.data.images[13];
+ }
+ else if (lineType == "t") {
+ img.src = context.data.images[10];
+ }
+ else if (lineType == "-") {
+ img.src = context.data.images[16];
+ }
+ else {
+ img.src = context.data.images[3];
+ }
+ var pe;
+ if (__nonMSDOMBrowser) {
+ pe = treeNode.parentNode;
+ pe.insertBefore(img, treeNode);
+ pe.removeChild(treeNode);
+ }
+ else {
+ pe = treeNode.parentElement;
+ treeNode.style.visibility="hidden";
+ treeNode.style.display="none";
+ pe.insertAdjacentElement("afterBegin", img);
+ }
+ }
+ }
+}
+function TreeView_SelectNode(data, node, nodeId) {
+ if (!data) {
+ return;
+ }
+ if ((typeof(data.selectedClass) != "undefined") && (data.selectedClass != null)) {
+ var id = data.selectedNodeID.value;
+ if (id.length > 0) {
+ var selectedNode = document.getElementById(id);
+ if ((typeof(selectedNode) != "undefined") && (selectedNode != null)) {
+ WebForm_RemoveClassName(selectedNode, data.selectedHyperLinkClass);
+ selectedNode = WebForm_GetParentByTagName(selectedNode, "TD");
+ WebForm_RemoveClassName(selectedNode, data.selectedClass);
+ }
+ }
+ WebForm_AppendToClassName(node, data.selectedHyperLinkClass);
+ node = WebForm_GetParentByTagName(node, "TD");
+ WebForm_AppendToClassName(node, data.selectedClass)
+ }
+ data.selectedNodeID.value = nodeId;
+}
+function TreeView_ToggleNode(data, index, node, lineType, children) {
+ if (!data) {
+ return;
+ }
+ var img = node.childNodes[0];
+ var newExpandState;
+ try {
+ if (children.style.display == "none") {
+ children.style.display = "block";
+ newExpandState = "e";
+ if ((typeof(img) != "undefined") && (img != null)) {
+ if (lineType == "l") {
+ img.src = data.images[15];
+ }
+ else if (lineType == "t") {
+ img.src = data.images[12];
+ }
+ else if (lineType == "-") {
+ img.src = data.images[18];
+ }
+ else {
+ img.src = data.images[5];
+ }
+ img.alt = data.collapseToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
+ }
+ }
+ else {
+ children.style.display = "none";
+ newExpandState = "c";
+ if ((typeof(img) != "undefined") && (img != null)) {
+ if (lineType == "l") {
+ img.src = data.images[14];
+ }
+ else if (lineType == "t") {
+ img.src = data.images[11];
+ }
+ else if (lineType == "-") {
+ img.src = data.images[17];
+ }
+ else {
+ img.src = data.images[4];
+ }
+ img.alt = data.expandToolTip.replace(/\{0\}/, TreeView_GetNodeText(node));
+ }
+ }
+ }
+ catch(e) {}
+ data.expandState.value = data.expandState.value.substring(0, index) + newExpandState + data.expandState.value.slice(index + 1);
+}
+function TreeView_UnhoverNode(node) {
+ if (!node.hoverClass) {
+ return;
+ }
+ WebForm_RemoveClassName(node, node.hoverClass);
+ if (__nonMSDOMBrowser) {
+ node = node.childNodes[node.childNodes.length - 1];
+ }
+ else {
+ node = node.children[node.children.length - 1];
+ }
+ WebForm_RemoveClassName(node, node.hoverHyperLinkClass);
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebForms.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebForms.js
new file mode 100644
index 00000000..69928489
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebForms.js
@@ -0,0 +1,567 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/WebForms.js
+function WebForm_PostBackOptions(eventTarget, eventArgument, validation, validationGroup, actionUrl, trackFocus, clientSubmit) {
+ this.eventTarget = eventTarget;
+ this.eventArgument = eventArgument;
+ this.validation = validation;
+ this.validationGroup = validationGroup;
+ this.actionUrl = actionUrl;
+ this.trackFocus = trackFocus;
+ this.clientSubmit = clientSubmit;
+}
+function WebForm_DoPostBackWithOptions(options) {
+ var validationResult = true;
+ if (options.validation) {
+ if (typeof(Page_ClientValidate) == 'function') {
+ validationResult = Page_ClientValidate(options.validationGroup);
+ }
+ }
+ if (validationResult) {
+ if ((typeof(options.actionUrl) != "undefined") && (options.actionUrl != null) && (options.actionUrl.length > 0)) {
+ theForm.action = options.actionUrl;
+ }
+ if (options.trackFocus) {
+ var lastFocus = theForm.elements["__LASTFOCUS"];
+ if ((typeof(lastFocus) != "undefined") && (lastFocus != null)) {
+ if (typeof(document.activeElement) == "undefined") {
+ lastFocus.value = options.eventTarget;
+ }
+ else {
+ var active = document.activeElement;
+ if ((typeof(active) != "undefined") && (active != null)) {
+ if ((typeof(active.id) != "undefined") && (active.id != null) && (active.id.length > 0)) {
+ lastFocus.value = active.id;
+ }
+ else if (typeof(active.name) != "undefined") {
+ lastFocus.value = active.name;
+ }
+ }
+ }
+ }
+ }
+ }
+ if (options.clientSubmit) {
+ __doPostBack(options.eventTarget, options.eventArgument);
+ }
+}
+var __pendingCallbacks = new Array();
+var __synchronousCallBackIndex = -1;
+function WebForm_DoCallback(eventTarget, eventArgument, eventCallback, context, errorCallback, useAsync) {
+ var postData = __theFormPostData +
+ "__CALLBACKID=" + WebForm_EncodeCallback(eventTarget) +
+ "&__CALLBACKPARAM=" + WebForm_EncodeCallback(eventArgument);
+ if (theForm["__EVENTVALIDATION"]) {
+ postData += "&__EVENTVALIDATION=" + WebForm_EncodeCallback(theForm["__EVENTVALIDATION"].value);
+ }
+ var xmlRequest,e;
+ try {
+ xmlRequest = new XMLHttpRequest();
+ }
+ catch(e) {
+ try {
+ xmlRequest = new ActiveXObject("Microsoft.XMLHTTP");
+ }
+ catch(e) {
+ }
+ }
+ var setRequestHeaderMethodExists = true;
+ try {
+ setRequestHeaderMethodExists = (xmlRequest && xmlRequest.setRequestHeader);
+ }
+ catch(e) {}
+ var callback = new Object();
+ callback.eventCallback = eventCallback;
+ callback.context = context;
+ callback.errorCallback = errorCallback;
+ callback.async = useAsync;
+ var callbackIndex = WebForm_FillFirstAvailableSlot(__pendingCallbacks, callback);
+ if (!useAsync) {
+ if (__synchronousCallBackIndex != -1) {
+ __pendingCallbacks[__synchronousCallBackIndex] = null;
+ }
+ __synchronousCallBackIndex = callbackIndex;
+ }
+ if (setRequestHeaderMethodExists) {
+ xmlRequest.onreadystatechange = WebForm_CallbackComplete;
+ callback.xmlRequest = xmlRequest;
+ // e.g. http:
+ var action = theForm.action || document.location.pathname, fragmentIndex = action.indexOf('#');
+ if (fragmentIndex !== -1) {
+ action = action.substr(0, fragmentIndex);
+ }
+ if (!__nonMSDOMBrowser) {
+ var queryIndex = action.indexOf('?');
+ if (queryIndex !== -1) {
+ var path = action.substr(0, queryIndex);
+ if (path.indexOf("%") === -1) {
+ action = encodeURI(path) + action.substr(queryIndex);
+ }
+ }
+ else if (action.indexOf("%") === -1) {
+ action = encodeURI(action);
+ }
+ }
+ xmlRequest.open("POST", action, true);
+ xmlRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
+ xmlRequest.send(postData);
+ return;
+ }
+ callback.xmlRequest = new Object();
+ var callbackFrameID = "__CALLBACKFRAME" + callbackIndex;
+ var xmlRequestFrame = document.frames[callbackFrameID];
+ if (!xmlRequestFrame) {
+ xmlRequestFrame = document.createElement("IFRAME");
+ xmlRequestFrame.width = "1";
+ xmlRequestFrame.height = "1";
+ xmlRequestFrame.frameBorder = "0";
+ xmlRequestFrame.id = callbackFrameID;
+ xmlRequestFrame.name = callbackFrameID;
+ xmlRequestFrame.style.position = "absolute";
+ xmlRequestFrame.style.top = "-100px"
+ xmlRequestFrame.style.left = "-100px";
+ try {
+ if (callBackFrameUrl) {
+ xmlRequestFrame.src = callBackFrameUrl;
+ }
+ }
+ catch(e) {}
+ document.body.appendChild(xmlRequestFrame);
+ }
+ var interval = window.setInterval(function() {
+ xmlRequestFrame = document.frames[callbackFrameID];
+ if (xmlRequestFrame && xmlRequestFrame.document) {
+ window.clearInterval(interval);
+ xmlRequestFrame.document.write("");
+ xmlRequestFrame.document.close();
+ xmlRequestFrame.document.write('');
+ xmlRequestFrame.document.close();
+ xmlRequestFrame.document.forms[0].action = theForm.action;
+ var count = __theFormPostCollection.length;
+ var element;
+ for (var i = 0; i < count; i++) {
+ element = __theFormPostCollection[i];
+ if (element) {
+ var fieldElement = xmlRequestFrame.document.createElement("INPUT");
+ fieldElement.type = "hidden";
+ fieldElement.name = element.name;
+ fieldElement.value = element.value;
+ xmlRequestFrame.document.forms[0].appendChild(fieldElement);
+ }
+ }
+ var callbackIdFieldElement = xmlRequestFrame.document.createElement("INPUT");
+ callbackIdFieldElement.type = "hidden";
+ callbackIdFieldElement.name = "__CALLBACKID";
+ callbackIdFieldElement.value = eventTarget;
+ xmlRequestFrame.document.forms[0].appendChild(callbackIdFieldElement);
+ var callbackParamFieldElement = xmlRequestFrame.document.createElement("INPUT");
+ callbackParamFieldElement.type = "hidden";
+ callbackParamFieldElement.name = "__CALLBACKPARAM";
+ callbackParamFieldElement.value = eventArgument;
+ xmlRequestFrame.document.forms[0].appendChild(callbackParamFieldElement);
+ if (theForm["__EVENTVALIDATION"]) {
+ var callbackValidationFieldElement = xmlRequestFrame.document.createElement("INPUT");
+ callbackValidationFieldElement.type = "hidden";
+ callbackValidationFieldElement.name = "__EVENTVALIDATION";
+ callbackValidationFieldElement.value = theForm["__EVENTVALIDATION"].value;
+ xmlRequestFrame.document.forms[0].appendChild(callbackValidationFieldElement);
+ }
+ var callbackIndexFieldElement = xmlRequestFrame.document.createElement("INPUT");
+ callbackIndexFieldElement.type = "hidden";
+ callbackIndexFieldElement.name = "__CALLBACKINDEX";
+ callbackIndexFieldElement.value = callbackIndex;
+ xmlRequestFrame.document.forms[0].appendChild(callbackIndexFieldElement);
+ xmlRequestFrame.document.forms[0].submit();
+ }
+ }, 10);
+}
+function WebForm_CallbackComplete() {
+ for (var i = 0; i < __pendingCallbacks.length; i++) {
+ callbackObject = __pendingCallbacks[i];
+ if (callbackObject && callbackObject.xmlRequest && (callbackObject.xmlRequest.readyState == 4)) {
+ if (!__pendingCallbacks[i].async) {
+ __synchronousCallBackIndex = -1;
+ }
+ __pendingCallbacks[i] = null;
+ var callbackFrameID = "__CALLBACKFRAME" + i;
+ var xmlRequestFrame = document.getElementById(callbackFrameID);
+ if (xmlRequestFrame) {
+ xmlRequestFrame.parentNode.removeChild(xmlRequestFrame);
+ }
+ WebForm_ExecuteCallback(callbackObject);
+ }
+ }
+}
+function WebForm_ExecuteCallback(callbackObject) {
+ var response = callbackObject.xmlRequest.responseText;
+ if (response.charAt(0) == "s") {
+ if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
+ callbackObject.eventCallback(response.substring(1), callbackObject.context);
+ }
+ }
+ else if (response.charAt(0) == "e") {
+ if ((typeof(callbackObject.errorCallback) != "undefined") && (callbackObject.errorCallback != null)) {
+ callbackObject.errorCallback(response.substring(1), callbackObject.context);
+ }
+ }
+ else {
+ var separatorIndex = response.indexOf("|");
+ if (separatorIndex != -1) {
+ var validationFieldLength = parseInt(response.substring(0, separatorIndex));
+ if (!isNaN(validationFieldLength)) {
+ var validationField = response.substring(separatorIndex + 1, separatorIndex + validationFieldLength + 1);
+ if (validationField != "") {
+ var validationFieldElement = theForm["__EVENTVALIDATION"];
+ if (!validationFieldElement) {
+ validationFieldElement = document.createElement("INPUT");
+ validationFieldElement.type = "hidden";
+ validationFieldElement.name = "__EVENTVALIDATION";
+ theForm.appendChild(validationFieldElement);
+ }
+ validationFieldElement.value = validationField;
+ }
+ if ((typeof(callbackObject.eventCallback) != "undefined") && (callbackObject.eventCallback != null)) {
+ callbackObject.eventCallback(response.substring(separatorIndex + validationFieldLength + 1), callbackObject.context);
+ }
+ }
+ }
+ }
+}
+function WebForm_FillFirstAvailableSlot(array, element) {
+ var i;
+ for (i = 0; i < array.length; i++) {
+ if (!array[i]) break;
+ }
+ array[i] = element;
+ return i;
+}
+var __nonMSDOMBrowser = (window.navigator.appName.toLowerCase().indexOf('explorer') == -1);
+var __theFormPostData = "";
+var __theFormPostCollection = new Array();
+var __callbackTextTypes = /^(text|password|hidden|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
+function WebForm_InitCallback() {
+ var formElements = theForm.elements,
+ count = formElements.length,
+ element;
+ for (var i = 0; i < count; i++) {
+ element = formElements[i];
+ var tagName = element.tagName.toLowerCase();
+ if (tagName == "input") {
+ var type = element.type;
+ if ((__callbackTextTypes.test(type) || ((type == "checkbox" || type == "radio") && element.checked))
+ && (element.id != "__EVENTVALIDATION")) {
+ WebForm_InitCallbackAddField(element.name, element.value);
+ }
+ }
+ else if (tagName == "select") {
+ var selectCount = element.options.length;
+ for (var j = 0; j < selectCount; j++) {
+ var selectChild = element.options[j];
+ if (selectChild.selected == true) {
+ WebForm_InitCallbackAddField(element.name, element.value);
+ }
+ }
+ }
+ else if (tagName == "textarea") {
+ WebForm_InitCallbackAddField(element.name, element.value);
+ }
+ }
+}
+function WebForm_InitCallbackAddField(name, value) {
+ var nameValue = new Object();
+ nameValue.name = name;
+ nameValue.value = value;
+ __theFormPostCollection[__theFormPostCollection.length] = nameValue;
+ __theFormPostData += WebForm_EncodeCallback(name) + "=" + WebForm_EncodeCallback(value) + "&";
+}
+function WebForm_EncodeCallback(parameter) {
+ if (encodeURIComponent) {
+ return encodeURIComponent(parameter);
+ }
+ else {
+ return escape(parameter);
+ }
+}
+var __disabledControlArray = new Array();
+function WebForm_ReEnableControls() {
+ if (typeof(__enabledControlArray) == 'undefined') {
+ return false;
+ }
+ var disabledIndex = 0;
+ for (var i = 0; i < __enabledControlArray.length; i++) {
+ var c;
+ if (__nonMSDOMBrowser) {
+ c = document.getElementById(__enabledControlArray[i]);
+ }
+ else {
+ c = document.all[__enabledControlArray[i]];
+ }
+ if ((typeof(c) != "undefined") && (c != null) && (c.disabled == true)) {
+ c.disabled = false;
+ __disabledControlArray[disabledIndex++] = c;
+ }
+ }
+ setTimeout("WebForm_ReDisableControls()", 0);
+ return true;
+}
+function WebForm_ReDisableControls() {
+ for (var i = 0; i < __disabledControlArray.length; i++) {
+ __disabledControlArray[i].disabled = true;
+ }
+}
+function WebForm_SimulateClick(element, event) {
+ var clickEvent;
+ if (element) {
+ if (element.click) {
+ element.click();
+ } else {
+ clickEvent = document.createEvent("MouseEvents");
+ clickEvent.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
+ if (!element.dispatchEvent(clickEvent)) {
+ return true;
+ }
+ }
+ event.cancelBubble = true;
+ if (event.stopPropagation) {
+ event.stopPropagation();
+ }
+ return false;
+ }
+ return true;
+}
+function WebForm_FireDefaultButton(event, target) {
+ if (event.keyCode == 13) {
+ var src = event.srcElement || event.target;
+ if (src &&
+ ((src.tagName.toLowerCase() == "input") &&
+ (src.type.toLowerCase() == "submit" || src.type.toLowerCase() == "button")) ||
+ ((src.tagName.toLowerCase() == "a") &&
+ (src.href != null) && (src.href != "")) ||
+ (src.tagName.toLowerCase() == "textarea")) {
+ return true;
+ }
+ var defaultButton;
+ if (__nonMSDOMBrowser) {
+ defaultButton = document.getElementById(target);
+ }
+ else {
+ defaultButton = document.all[target];
+ }
+ if (defaultButton) {
+ return WebForm_SimulateClick(defaultButton, event);
+ }
+ }
+ return true;
+}
+function WebForm_GetScrollX() {
+ if (__nonMSDOMBrowser) {
+ return window.pageXOffset;
+ }
+ else {
+ if (document.documentElement && document.documentElement.scrollLeft) {
+ return document.documentElement.scrollLeft;
+ }
+ else if (document.body) {
+ return document.body.scrollLeft;
+ }
+ }
+ return 0;
+}
+function WebForm_GetScrollY() {
+ if (__nonMSDOMBrowser) {
+ return window.pageYOffset;
+ }
+ else {
+ if (document.documentElement && document.documentElement.scrollTop) {
+ return document.documentElement.scrollTop;
+ }
+ else if (document.body) {
+ return document.body.scrollTop;
+ }
+ }
+ return 0;
+}
+function WebForm_SaveScrollPositionSubmit() {
+ if (__nonMSDOMBrowser) {
+ theForm.elements['__SCROLLPOSITIONY'].value = window.pageYOffset;
+ theForm.elements['__SCROLLPOSITIONX'].value = window.pageXOffset;
+ }
+ else {
+ theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
+ theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
+ }
+ if ((typeof(this.oldSubmit) != "undefined") && (this.oldSubmit != null)) {
+ return this.oldSubmit();
+ }
+ return true;
+}
+function WebForm_SaveScrollPositionOnSubmit() {
+ theForm.__SCROLLPOSITIONX.value = WebForm_GetScrollX();
+ theForm.__SCROLLPOSITIONY.value = WebForm_GetScrollY();
+ if ((typeof(this.oldOnSubmit) != "undefined") && (this.oldOnSubmit != null)) {
+ return this.oldOnSubmit();
+ }
+ return true;
+}
+function WebForm_RestoreScrollPosition() {
+ if (__nonMSDOMBrowser) {
+ window.scrollTo(theForm.elements['__SCROLLPOSITIONX'].value, theForm.elements['__SCROLLPOSITIONY'].value);
+ }
+ else {
+ window.scrollTo(theForm.__SCROLLPOSITIONX.value, theForm.__SCROLLPOSITIONY.value);
+ }
+ if ((typeof(theForm.oldOnLoad) != "undefined") && (theForm.oldOnLoad != null)) {
+ return theForm.oldOnLoad();
+ }
+ return true;
+}
+function WebForm_TextBoxKeyHandler(event) {
+ if (event.keyCode == 13) {
+ var target;
+ if (__nonMSDOMBrowser) {
+ target = event.target;
+ }
+ else {
+ target = event.srcElement;
+ }
+ if ((typeof(target) != "undefined") && (target != null)) {
+ if (typeof(target.onchange) != "undefined") {
+ target.onchange();
+ event.cancelBubble = true;
+ if (event.stopPropagation) event.stopPropagation();
+ return false;
+ }
+ }
+ }
+ return true;
+}
+function WebForm_TrimString(value) {
+ return value.replace(/^\s+|\s+$/g, '')
+}
+function WebForm_AppendToClassName(element, className) {
+ var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
+ className = WebForm_TrimString(className);
+ var index = currentClassName.indexOf(' ' + className + ' ');
+ if (index === -1) {
+ element.className = (element.className === '') ? className : element.className + ' ' + className;
+ }
+}
+function WebForm_RemoveClassName(element, className) {
+ var currentClassName = ' ' + WebForm_TrimString(element.className) + ' ';
+ className = WebForm_TrimString(className);
+ var index = currentClassName.indexOf(' ' + className + ' ');
+ if (index >= 0) {
+ element.className = WebForm_TrimString(currentClassName.substring(0, index) + ' ' +
+ currentClassName.substring(index + className.length + 1, currentClassName.length));
+ }
+}
+function WebForm_GetElementById(elementId) {
+ if (document.getElementById) {
+ return document.getElementById(elementId);
+ }
+ else if (document.all) {
+ return document.all[elementId];
+ }
+ else return null;
+}
+function WebForm_GetElementByTagName(element, tagName) {
+ var elements = WebForm_GetElementsByTagName(element, tagName);
+ if (elements && elements.length > 0) {
+ return elements[0];
+ }
+ else return null;
+}
+function WebForm_GetElementsByTagName(element, tagName) {
+ if (element && tagName) {
+ if (element.getElementsByTagName) {
+ return element.getElementsByTagName(tagName);
+ }
+ if (element.all && element.all.tags) {
+ return element.all.tags(tagName);
+ }
+ }
+ return null;
+}
+function WebForm_GetElementDir(element) {
+ if (element) {
+ if (element.dir) {
+ return element.dir;
+ }
+ return WebForm_GetElementDir(element.parentNode);
+ }
+ return "ltr";
+}
+function WebForm_GetElementPosition(element) {
+ var result = new Object();
+ result.x = 0;
+ result.y = 0;
+ result.width = 0;
+ result.height = 0;
+ if (element.offsetParent) {
+ result.x = element.offsetLeft;
+ result.y = element.offsetTop;
+ var parent = element.offsetParent;
+ while (parent) {
+ result.x += parent.offsetLeft;
+ result.y += parent.offsetTop;
+ var parentTagName = parent.tagName.toLowerCase();
+ if (parentTagName != "table" &&
+ parentTagName != "body" &&
+ parentTagName != "html" &&
+ parentTagName != "div" &&
+ parent.clientTop &&
+ parent.clientLeft) {
+ result.x += parent.clientLeft;
+ result.y += parent.clientTop;
+ }
+ parent = parent.offsetParent;
+ }
+ }
+ else if (element.left && element.top) {
+ result.x = element.left;
+ result.y = element.top;
+ }
+ else {
+ if (element.x) {
+ result.x = element.x;
+ }
+ if (element.y) {
+ result.y = element.y;
+ }
+ }
+ if (element.offsetWidth && element.offsetHeight) {
+ result.width = element.offsetWidth;
+ result.height = element.offsetHeight;
+ }
+ else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
+ result.width = element.style.pixelWidth;
+ result.height = element.style.pixelHeight;
+ }
+ return result;
+}
+function WebForm_GetParentByTagName(element, tagName) {
+ var parent = element.parentNode;
+ var upperTagName = tagName.toUpperCase();
+ while (parent && (parent.tagName.toUpperCase() != upperTagName)) {
+ parent = parent.parentNode ? parent.parentNode : parent.parentElement;
+ }
+ return parent;
+}
+function WebForm_SetElementHeight(element, height) {
+ if (element && element.style) {
+ element.style.height = height + "px";
+ }
+}
+function WebForm_SetElementWidth(element, width) {
+ if (element && element.style) {
+ element.style.width = width + "px";
+ }
+}
+function WebForm_SetElementX(element, x) {
+ if (element && element.style) {
+ element.style.left = x + "px";
+ }
+}
+function WebForm_SetElementY(element, y) {
+ if (element && element.style) {
+ element.style.top = y + "px";
+ }
+}
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebParts.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebParts.js
new file mode 100644
index 00000000..7a8d0aba
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebParts.js
@@ -0,0 +1,647 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/WebParts.js
+var __wpm = null;
+function Point(x, y) {
+ this.x = x;
+ this.y = y;
+}
+function __wpTranslateOffset(x, y, offsetElement, relativeToElement, includeScroll) {
+ while ((typeof(offsetElement) != "undefined") && (offsetElement != null) && (offsetElement != relativeToElement)) {
+ x += offsetElement.offsetLeft;
+ y += offsetElement.offsetTop;
+ var tagName = offsetElement.tagName;
+ if ((tagName != "TABLE") && (tagName != "BODY")) {
+ x += offsetElement.clientLeft;
+ y += offsetElement.clientTop;
+ }
+ if (includeScroll && (tagName != "BODY")) {
+ x -= offsetElement.scrollLeft;
+ y -= offsetElement.scrollTop;
+ }
+ offsetElement = offsetElement.offsetParent;
+ }
+ return new Point(x, y);
+}
+function __wpGetPageEventLocation(event, includeScroll) {
+ if ((typeof(event) == "undefined") || (event == null)) {
+ event = window.event;
+ }
+ return __wpTranslateOffset(event.offsetX, event.offsetY, event.srcElement, null, includeScroll);
+}
+function __wpClearSelection() {
+ document.selection.empty();
+}
+function WebPart(webPartElement, webPartTitleElement, zone, zoneIndex, allowZoneChange) {
+ this.webPartElement = webPartElement;
+ this.allowZoneChange = allowZoneChange;
+ this.zone = zone;
+ this.zoneIndex = zoneIndex;
+ this.title = ((typeof(webPartTitleElement) != "undefined") && (webPartTitleElement != null)) ?
+ webPartTitleElement.innerText : "";
+ webPartElement.__webPart = this;
+ if ((typeof(webPartTitleElement) != "undefined") && (webPartTitleElement != null)) {
+ webPartTitleElement.style.cursor = "move";
+ webPartTitleElement.attachEvent("onmousedown", WebPart_OnMouseDown);
+ webPartElement.attachEvent("ondragstart", WebPart_OnDragStart);
+ webPartElement.attachEvent("ondrag", WebPart_OnDrag);
+ webPartElement.attachEvent("ondragend", WebPart_OnDragEnd);
+ }
+ this.UpdatePosition = WebPart_UpdatePosition;
+ this.Dispose = WebPart_Dispose;
+}
+function WebPart_Dispose() {
+ this.webPartElement.__webPart = null
+}
+function WebPart_OnMouseDown() {
+ var currentEvent = window.event;
+ var draggedWebPart = WebPart_GetParentWebPartElement(currentEvent.srcElement);
+ if ((typeof(draggedWebPart) == "undefined") || (draggedWebPart == null)) {
+ return;
+ }
+ document.selection.empty();
+ try {
+ __wpm.draggedWebPart = draggedWebPart;
+ __wpm.DragDrop();
+ }
+ catch (e) {
+ __wpm.draggedWebPart = draggedWebPart;
+ window.setTimeout("__wpm.DragDrop()", 0);
+ }
+ currentEvent.returnValue = false;
+ currentEvent.cancelBubble = true;
+}
+function WebPart_OnDragStart() {
+ var currentEvent = window.event;
+ var webPartElement = currentEvent.srcElement;
+ if ((typeof(webPartElement.__webPart) == "undefined") || (webPartElement.__webPart == null)) {
+ currentEvent.returnValue = false;
+ currentEvent.cancelBubble = true;
+ return;
+ }
+ var dataObject = currentEvent.dataTransfer;
+ dataObject.effectAllowed = __wpm.InitiateWebPartDragDrop(webPartElement);
+}
+function WebPart_OnDrag() {
+ __wpm.ContinueWebPartDragDrop();
+}
+function WebPart_OnDragEnd() {
+ __wpm.CompleteWebPartDragDrop();
+}
+function WebPart_GetParentWebPartElement(containedElement) {
+ var elem = containedElement;
+ while ((typeof(elem.__webPart) == "undefined") || (elem.__webPart == null)) {
+ elem = elem.parentElement;
+ if ((typeof(elem) == "undefined") || (elem == null)) {
+ break;
+ }
+ }
+ return elem;
+}
+function WebPart_UpdatePosition() {
+ var location = __wpTranslateOffset(0, 0, this.webPartElement, null, false);
+ this.middleX = location.x + this.webPartElement.offsetWidth / 2;
+ this.middleY = location.y + this.webPartElement.offsetHeight / 2;
+}
+function Zone(zoneElement, zoneIndex, uniqueID, isVertical, allowLayoutChange, highlightColor) {
+ var webPartTable = null;
+ if (zoneElement.rows.length == 1) {
+ webPartTableContainer = zoneElement.rows[0].cells[0];
+ }
+ else {
+ webPartTableContainer = zoneElement.rows[1].cells[0];
+ }
+ var i;
+ for (i = 0; i < webPartTableContainer.childNodes.length; i++) {
+ var node = webPartTableContainer.childNodes[i];
+ if (node.tagName == "TABLE") {
+ webPartTable = node;
+ break;
+ }
+ }
+ this.zoneElement = zoneElement;
+ this.zoneIndex = zoneIndex;
+ this.webParts = new Array();
+ this.uniqueID = uniqueID;
+ this.isVertical = isVertical;
+ this.allowLayoutChange = allowLayoutChange;
+ this.allowDrop = false;
+ this.webPartTable = webPartTable;
+ this.highlightColor = highlightColor;
+ this.savedBorderColor = (webPartTable != null) ? webPartTable.style.borderColor : null;
+ this.dropCueElements = new Array();
+ if (webPartTable != null) {
+ if (isVertical) {
+ for (i = 0; i < webPartTable.rows.length; i += 2) {
+ this.dropCueElements[i / 2] = webPartTable.rows[i].cells[0].childNodes[0];
+ }
+ }
+ else {
+ for (i = 0; i < webPartTable.rows[0].cells.length; i += 2) {
+ this.dropCueElements[i / 2] = webPartTable.rows[0].cells[i].childNodes[0];
+ }
+ }
+ }
+ this.AddWebPart = Zone_AddWebPart;
+ this.GetWebPartIndex = Zone_GetWebPartIndex;
+ this.ToggleDropCues = Zone_ToggleDropCues;
+ this.UpdatePosition = Zone_UpdatePosition;
+ this.Dispose = Zone_Dispose;
+ webPartTable.__zone = this;
+ webPartTable.attachEvent("ondragenter", Zone_OnDragEnter);
+ webPartTable.attachEvent("ondrop", Zone_OnDrop);
+}
+function Zone_Dispose() {
+ for (var i = 0; i < this.webParts.length; i++) {
+ this.webParts[i].Dispose();
+ }
+ this.webPartTable.__zone = null;
+}
+function Zone_OnDragEnter() {
+ var handled = __wpm.ProcessWebPartDragEnter();
+ var currentEvent = window.event;
+ if (handled) {
+ currentEvent.returnValue = false;
+ currentEvent.cancelBubble = true;
+ }
+}
+function Zone_OnDragOver() {
+ var handled = __wpm.ProcessWebPartDragOver();
+ var currentEvent = window.event;
+ if (handled) {
+ currentEvent.returnValue = false;
+ currentEvent.cancelBubble = true;
+ }
+}
+function Zone_OnDrop() {
+ var handled = __wpm.ProcessWebPartDrop();
+ var currentEvent = window.event;
+ if (handled) {
+ currentEvent.returnValue = false;
+ currentEvent.cancelBubble = true;
+ }
+}
+function Zone_GetParentZoneElement(containedElement) {
+ var elem = containedElement;
+ while ((typeof(elem.__zone) == "undefined") || (elem.__zone == null)) {
+ elem = elem.parentElement;
+ if ((typeof(elem) == "undefined") || (elem == null)) {
+ break;
+ }
+ }
+ return elem;
+}
+function Zone_AddWebPart(webPartElement, webPartTitleElement, allowZoneChange) {
+ var webPart = null;
+ var zoneIndex = this.webParts.length;
+ if (this.allowLayoutChange && __wpm.IsDragDropEnabled()) {
+ webPart = new WebPart(webPartElement, webPartTitleElement, this, zoneIndex, allowZoneChange);
+ }
+ else {
+ webPart = new WebPart(webPartElement, null, this, zoneIndex, allowZoneChange);
+ }
+ this.webParts[zoneIndex] = webPart;
+ return webPart;
+}
+function Zone_ToggleDropCues(show, index, ignoreOutline) {
+ if (ignoreOutline == false) {
+ this.webPartTable.style.borderColor = (show ? this.highlightColor : this.savedBorderColor);
+ }
+ if (index == -1) {
+ return;
+ }
+ var dropCue = this.dropCueElements[index];
+ if (dropCue && dropCue.style) {
+ if (dropCue.style.height == "100%" && !dropCue.webPartZoneHorizontalCueResized) {
+ var oldParentHeight = dropCue.parentElement.clientHeight;
+ var realHeight = oldParentHeight - 10;
+ dropCue.style.height = realHeight + "px";
+ var dropCueVerticalBar = dropCue.getElementsByTagName("DIV")[0];
+ if (dropCueVerticalBar && dropCueVerticalBar.style) {
+ dropCueVerticalBar.style.height = dropCue.style.height;
+ var heightDiff = (dropCue.parentElement.clientHeight - oldParentHeight);
+ if (heightDiff) {
+ dropCue.style.height = (realHeight - heightDiff) + "px";
+ dropCueVerticalBar.style.height = dropCue.style.height;
+ }
+ }
+ dropCue.webPartZoneHorizontalCueResized = true;
+ }
+ dropCue.style.visibility = (show ? "visible" : "hidden");
+ }
+}
+function Zone_GetWebPartIndex(location) {
+ var x = location.x;
+ var y = location.y;
+ if ((x < this.webPartTableLeft) || (x > this.webPartTableRight) ||
+ (y < this.webPartTableTop) || (y > this.webPartTableBottom)) {
+ return -1;
+ }
+ var vertical = this.isVertical;
+ var webParts = this.webParts;
+ var webPartsCount = webParts.length;
+ for (var i = 0; i < webPartsCount; i++) {
+ var webPart = webParts[i];
+ if (vertical) {
+ if (y < webPart.middleY) {
+ return i;
+ }
+ }
+ else {
+ if (x < webPart.middleX) {
+ return i;
+ }
+ }
+ }
+ return webPartsCount;
+}
+function Zone_UpdatePosition() {
+ var topLeft = __wpTranslateOffset(0, 0, this.webPartTable, null, false);
+ this.webPartTableLeft = topLeft.x;
+ this.webPartTableTop = topLeft.y;
+ this.webPartTableRight = (this.webPartTable != null) ? topLeft.x + this.webPartTable.offsetWidth : topLeft.x;
+ this.webPartTableBottom = (this.webPartTable != null) ? topLeft.y + this.webPartTable.offsetHeight : topLeft.y;
+ for (var i = 0; i < this.webParts.length; i++) {
+ this.webParts[i].UpdatePosition();
+ }
+}
+function WebPartDragState(webPartElement, effect) {
+ this.webPartElement = webPartElement;
+ this.dropZoneElement = null;
+ this.dropIndex = -1;
+ this.effect = effect;
+ this.dropped = false;
+}
+function WebPartMenu(menuLabelElement, menuDropDownElement, menuElement) {
+ this.menuLabelElement = menuLabelElement;
+ this.menuDropDownElement = menuDropDownElement;
+ this.menuElement = menuElement;
+ this.menuLabelElement.__menu = this;
+ this.menuLabelElement.attachEvent('onclick', WebPartMenu_OnClick);
+ this.menuLabelElement.attachEvent('onkeypress', WebPartMenu_OnKeyPress);
+ this.menuLabelElement.attachEvent('onmouseenter', WebPartMenu_OnMouseEnter);
+ this.menuLabelElement.attachEvent('onmouseleave', WebPartMenu_OnMouseLeave);
+ if ((typeof(this.menuDropDownElement) != "undefined") && (this.menuDropDownElement != null)) {
+ this.menuDropDownElement.__menu = this;
+ }
+ this.menuItemStyle = "";
+ this.menuItemHoverStyle = "";
+ this.popup = null;
+ this.hoverClassName = "";
+ this.hoverColor = "";
+ this.oldColor = this.menuLabelElement.style.color;
+ this.oldTextDecoration = this.menuLabelElement.style.textDecoration;
+ this.oldClassName = this.menuLabelElement.className;
+ this.Show = WebPartMenu_Show;
+ this.Hide = WebPartMenu_Hide;
+ this.Hover = WebPartMenu_Hover;
+ this.Unhover = WebPartMenu_Unhover;
+ this.Dispose = WebPartMenu_Dispose;
+ var menu = this;
+ this.disposeDelegate = function() { menu.Dispose(); };
+ window.attachEvent('onunload', this.disposeDelegate);
+}
+function WebPartMenu_Dispose() {
+ this.menuLabelElement.__menu = null;
+ this.menuDropDownElement.__menu = null;
+ window.detachEvent('onunload', this.disposeDelegate);
+}
+function WebPartMenu_Show() {
+ if ((typeof(__wpm.menu) != "undefined") && (__wpm.menu != null)) {
+ __wpm.menu.Hide();
+ }
+ var menuHTML =
+ "" +
+ this.menuElement.innerHTML +
+ "";
+ var width = 16;
+ var height = 16;
+ this.popup = window.createPopup();
+ __wpm.menu = this;
+ var popupDocument = this.popup.document;
+ popupDocument.write(menuHTML);
+ this.popup.show(0, 0, width, height);
+ var popupBody = popupDocument.body;
+ width = popupBody.scrollWidth;
+ height = popupBody.scrollHeight;
+ if (width < this.menuLabelElement.offsetWidth) {
+ width = this.menuLabelElement.offsetWidth + 16;
+ }
+ if (this.menuElement.innerHTML.indexOf("progid:DXImageTransform.Microsoft.Shadow") != -1) {
+ popupBody.style.paddingRight = "4px";
+ }
+ popupBody.__wpm = __wpm;
+ popupBody.__wpmDeleteWarning = __wpmDeleteWarning;
+ popupBody.__wpmCloseProviderWarning = __wpmCloseProviderWarning;
+ popupBody.popup = this.popup;
+ this.popup.hide();
+ this.popup.show(0, this.menuLabelElement.offsetHeight, width, height, this.menuLabelElement);
+}
+function WebPartMenu_Hide() {
+ if (__wpm.menu == this) {
+ __wpm.menu = null;
+ if ((typeof(this.popup) != "undefined") && (this.popup != null)) {
+ this.popup.hide();
+ this.popup = null;
+ }
+ }
+}
+function WebPartMenu_Hover() {
+ if (this.labelHoverClassName != "") {
+ this.menuLabelElement.className = this.menuLabelElement.className + " " + this.labelHoverClassName;
+ }
+ if (this.labelHoverColor != "") {
+ this.menuLabelElement.style.color = this.labelHoverColor;
+ }
+}
+function WebPartMenu_Unhover() {
+ if (this.labelHoverClassName != "") {
+ this.menuLabelElement.style.textDecoration = this.oldTextDecoration;
+ this.menuLabelElement.className = this.oldClassName;
+ }
+ if (this.labelHoverColor != "") {
+ this.menuLabelElement.style.color = this.oldColor;
+ }
+}
+function WebPartMenu_OnClick() {
+ var menu = window.event.srcElement.__menu;
+ if ((typeof(menu) != "undefined") && (menu != null)) {
+ window.event.returnValue = false;
+ window.event.cancelBubble = true;
+ menu.Show();
+ }
+}
+function WebPartMenu_OnKeyPress() {
+ if (window.event.keyCode == 13) {
+ var menu = window.event.srcElement.__menu;
+ if ((typeof(menu) != "undefined") && (menu != null)) {
+ window.event.returnValue = false;
+ window.event.cancelBubble = true;
+ menu.Show();
+ }
+ }
+}
+function WebPartMenu_OnMouseEnter() {
+ var menu = window.event.srcElement.__menu;
+ if ((typeof(menu) != "undefined") && (menu != null)) {
+ menu.Hover();
+ }
+}
+function WebPartMenu_OnMouseLeave() {
+ var menu = window.event.srcElement.__menu;
+ if ((typeof(menu) != "undefined") && (menu != null)) {
+ menu.Unhover();
+ }
+}
+function WebPartManager() {
+ this.overlayContainerElement = null;
+ this.zones = new Array();
+ this.dragState = null;
+ this.menu = null;
+ this.draggedWebPart = null;
+ this.AddZone = WebPartManager_AddZone;
+ this.IsDragDropEnabled = WebPartManager_IsDragDropEnabled;
+ this.DragDrop = WebPartManager_DragDrop;
+ this.InitiateWebPartDragDrop = WebPartManager_InitiateWebPartDragDrop;
+ this.CompleteWebPartDragDrop = WebPartManager_CompleteWebPartDragDrop;
+ this.ContinueWebPartDragDrop = WebPartManager_ContinueWebPartDragDrop;
+ this.ProcessWebPartDragEnter = WebPartManager_ProcessWebPartDragEnter;
+ this.ProcessWebPartDragOver = WebPartManager_ProcessWebPartDragOver;
+ this.ProcessWebPartDrop = WebPartManager_ProcessWebPartDrop;
+ this.ShowHelp = WebPartManager_ShowHelp;
+ this.ExportWebPart = WebPartManager_ExportWebPart;
+ this.Execute = WebPartManager_Execute;
+ this.SubmitPage = WebPartManager_SubmitPage;
+ this.UpdatePositions = WebPartManager_UpdatePositions;
+ window.attachEvent("onunload", WebPartManager_Dispose);
+}
+function WebPartManager_Dispose() {
+ for (var i = 0; i < __wpm.zones.length; i++) {
+ __wpm.zones[i].Dispose();
+ }
+ window.detachEvent("onunload", WebPartManager_Dispose);
+}
+function WebPartManager_AddZone(zoneElement, uniqueID, isVertical, allowLayoutChange, highlightColor) {
+ var zoneIndex = this.zones.length;
+ var zone = new Zone(zoneElement, zoneIndex, uniqueID, isVertical, allowLayoutChange, highlightColor);
+ this.zones[zoneIndex] = zone;
+ return zone;
+}
+function WebPartManager_IsDragDropEnabled() {
+ return ((typeof(this.overlayContainerElement) != "undefined") && (this.overlayContainerElement != null));
+}
+function WebPartManager_DragDrop() {
+ if ((typeof(this.draggedWebPart) != "undefined") && (this.draggedWebPart != null)) {
+ var tempWebPart = this.draggedWebPart;
+ this.draggedWebPart = null;
+ tempWebPart.dragDrop();
+ window.setTimeout("__wpClearSelection()", 0);
+ }
+}
+function WebPartManager_InitiateWebPartDragDrop(webPartElement) {
+ var webPart = webPartElement.__webPart;
+ this.UpdatePositions();
+ this.dragState = new WebPartDragState(webPartElement, "move");
+ var location = __wpGetPageEventLocation(window.event, true);
+ var overlayContainerElement = this.overlayContainerElement;
+ overlayContainerElement.style.left = location.x - webPartElement.offsetWidth / 2;
+ overlayContainerElement.style.top = location.y + 4 + (webPartElement.clientTop ? webPartElement.clientTop : 0);
+ overlayContainerElement.style.display = "block";
+ overlayContainerElement.style.width = webPartElement.offsetWidth;
+ overlayContainerElement.style.height = webPartElement.offsetHeight;
+ overlayContainerElement.appendChild(webPartElement.cloneNode(true));
+ if (webPart.allowZoneChange == false) {
+ webPart.zone.allowDrop = true;
+ }
+ else {
+ for (var i = 0; i < __wpm.zones.length; i++) {
+ var zone = __wpm.zones[i];
+ if (zone.allowLayoutChange) {
+ zone.allowDrop = true;
+ }
+ }
+ }
+ document.body.attachEvent("ondragover", Zone_OnDragOver);
+ return "move";
+}
+function WebPartManager_CompleteWebPartDragDrop() {
+ var dragState = this.dragState;
+ this.dragState = null;
+ if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
+ dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
+ }
+ document.body.detachEvent("ondragover", Zone_OnDragOver);
+ for (var i = 0; i < __wpm.zones.length; i++) {
+ __wpm.zones[i].allowDrop = false;
+ }
+ this.overlayContainerElement.removeChild(this.overlayContainerElement.firstChild);
+ this.overlayContainerElement.style.display = "none";
+ if ((typeof(dragState) != "undefined") && (dragState != null) && (dragState.dropped == true)) {
+ var currentZone = dragState.webPartElement.__webPart.zone;
+ var currentZoneIndex = dragState.webPartElement.__webPart.zoneIndex;
+ if ((currentZone != dragState.dropZoneElement.__zone) ||
+ ((currentZoneIndex != dragState.dropIndex) &&
+ (currentZoneIndex != (dragState.dropIndex - 1)))) {
+ var eventTarget = dragState.dropZoneElement.__zone.uniqueID;
+ var eventArgument = "Drag:" + dragState.webPartElement.id + ":" + dragState.dropIndex;
+ this.SubmitPage(eventTarget, eventArgument);
+ }
+ }
+}
+function WebPartManager_ContinueWebPartDragDrop() {
+ var dragState = this.dragState;
+ if ((typeof(dragState) != "undefined") && (dragState != null)) {
+ var style = this.overlayContainerElement.style;
+ var location = __wpGetPageEventLocation(window.event, true);
+ style.left = location.x - dragState.webPartElement.offsetWidth / 2;
+ style.top = location.y + 4 + (dragState.webPartElement.clientTop ? dragState.webPartElement.clientTop : 0);
+ }
+}
+function WebPartManager_Execute(script) {
+ if (this.menu) {
+ this.menu.Hide();
+ }
+ var scriptReference = new Function(script);
+ return (scriptReference() != false);
+}
+function WebPartManager_ProcessWebPartDragEnter() {
+ var dragState = __wpm.dragState;
+ if ((typeof(dragState) != "undefined") && (dragState != null)) {
+ var currentEvent = window.event;
+ var newDropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
+ if ((typeof(newDropZoneElement.__zone) == "undefined") || (newDropZoneElement.__zone == null) ||
+ (newDropZoneElement.__zone.allowDrop == false)) {
+ newDropZoneElement = null;
+ }
+ var newDropIndex = -1;
+ if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
+ newDropIndex = newDropZoneElement.__zone.GetWebPartIndex(__wpGetPageEventLocation(currentEvent, false));
+ if (newDropIndex == -1) {
+ newDropZoneElement = null;
+ }
+ }
+ if (dragState.dropZoneElement != newDropZoneElement) {
+ if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
+ dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
+ }
+ dragState.dropZoneElement = newDropZoneElement;
+ dragState.dropIndex = newDropIndex;
+ if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
+ newDropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
+ }
+ }
+ else if (dragState.dropIndex != newDropIndex) {
+ if (dragState.dropIndex != -1) {
+ dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, false);
+ }
+ dragState.dropIndex = newDropIndex;
+ if ((typeof(newDropZoneElement) != "undefined") && (newDropZoneElement != null)) {
+ newDropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
+ }
+ }
+ if ((typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
+ currentEvent.dataTransfer.effectAllowed = dragState.effect;
+ }
+ return true;
+ }
+ return false;
+}
+function WebPartManager_ProcessWebPartDragOver() {
+ var dragState = __wpm.dragState;
+ var currentEvent = window.event;
+ var handled = false;
+ if ((typeof(dragState) != "undefined") && (dragState != null) &&
+ (typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
+ var dropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
+ if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dropZoneElement.__zone.allowDrop == false)) {
+ dropZoneElement = null;
+ }
+ if (((typeof(dropZoneElement) == "undefined") || (dropZoneElement == null)) &&
+ (typeof(dragState.dropZoneElement) != "undefined") && (dragState.dropZoneElement != null)) {
+ dragState.dropZoneElement.__zone.ToggleDropCues(false, __wpm.dragState.dropIndex, false);
+ dragState.dropZoneElement = null;
+ dragState.dropIndex = -1;
+ }
+ else if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null)) {
+ var location = __wpGetPageEventLocation(currentEvent, false);
+ var newDropIndex = dropZoneElement.__zone.GetWebPartIndex(location);
+ if (newDropIndex == -1) {
+ dropZoneElement = null;
+ }
+ if (dragState.dropZoneElement != dropZoneElement) {
+ if ((dragState.dropIndex != -1) || (typeof(dropZoneElement) == "undefined") || (dropZoneElement == null)) {
+ dragState.dropZoneElement.__zone.ToggleDropCues(false, __wpm.dragState.dropIndex, false);
+ }
+ dragState.dropZoneElement = dropZoneElement;
+ }
+ else {
+ dragState.dropZoneElement.__zone.ToggleDropCues(false, dragState.dropIndex, true);
+ }
+ dragState.dropIndex = newDropIndex;
+ if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null)) {
+ dropZoneElement.__zone.ToggleDropCues(true, newDropIndex, false);
+ }
+ }
+ handled = true;
+ }
+ if ((typeof(dragState) == "undefined") || (dragState == null) ||
+ (typeof(dragState.dropZoneElement) == "undefined") || (dragState.dropZoneElement == null)) {
+ currentEvent.dataTransfer.effectAllowed = "none";
+ }
+ return handled;
+}
+function WebPartManager_ProcessWebPartDrop() {
+ var dragState = this.dragState;
+ if ((typeof(dragState) != "undefined") && (dragState != null)) {
+ var currentEvent = window.event;
+ var dropZoneElement = Zone_GetParentZoneElement(currentEvent.srcElement);
+ if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dropZoneElement.__zone.allowDrop == false)) {
+ dropZoneElement = null;
+ }
+ if ((typeof(dropZoneElement) != "undefined") && (dropZoneElement != null) && (dragState.dropZoneElement == dropZoneElement)) {
+ dragState.dropped = true;
+ }
+ return true;
+ }
+ return false;
+}
+function WebPartManager_ShowHelp(helpUrl, helpMode) {
+ if ((typeof(this.menu) != "undefined") && (this.menu != null)) {
+ this.menu.Hide();
+ }
+ if (helpMode == 0 || helpMode == 1) {
+ if (helpMode == 0) {
+ var dialogInfo = "edge: Sunken; center: yes; help: no; resizable: yes; status: no";
+ window.showModalDialog(helpUrl, null, dialogInfo);
+ }
+ else {
+ window.open(helpUrl, null, "scrollbars=yes,resizable=yes,status=no,toolbar=no,menubar=no,location=no");
+ }
+ }
+ else if (helpMode == 2) {
+ window.location = helpUrl;
+ }
+}
+function WebPartManager_ExportWebPart(exportUrl, warn, confirmOnly) {
+ if (warn == true && __wpmExportWarning.length > 0 && this.personalizationScopeShared != true) {
+ if (confirm(__wpmExportWarning) == false) {
+ return false;
+ }
+ }
+ if (confirmOnly == false) {
+ window.location = exportUrl;
+ }
+ return true;
+}
+function WebPartManager_UpdatePositions() {
+ for (var i = 0; i < this.zones.length; i++) {
+ this.zones[i].UpdatePosition();
+ }
+}
+function WebPartManager_SubmitPage(eventTarget, eventArgument) {
+ if ((typeof(this.menu) != "undefined") && (this.menu != null)) {
+ this.menu.Hide();
+ }
+ __doPostBack(eventTarget, eventArgument);
+}
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebUIValidation.js b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebUIValidation.js
new file mode 100644
index 00000000..a160ee8d
--- /dev/null
+++ b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/content/Scripts/WebForms/WebUIValidation.js
@@ -0,0 +1,684 @@
+//CdnPath=http://ajax.aspnetcdn.com/ajax/4.5/6/WebUIValidation.js
+var Page_ValidationVer = "125";
+var Page_IsValid = true;
+var Page_BlockSubmit = false;
+var Page_InvalidControlToBeFocused = null;
+var Page_TextTypes = /^(text|password|file|search|tel|url|email|number|range|color|datetime|date|month|week|time|datetime-local)$/i;
+function ValidatorUpdateDisplay(val) {
+ if (typeof(val.display) == "string") {
+ if (val.display == "None") {
+ return;
+ }
+ if (val.display == "Dynamic") {
+ val.style.display = val.isvalid ? "none" : "inline";
+ return;
+ }
+ }
+ if ((navigator.userAgent.indexOf("Mac") > -1) &&
+ (navigator.userAgent.indexOf("MSIE") > -1)) {
+ val.style.display = "inline";
+ }
+ val.style.visibility = val.isvalid ? "hidden" : "visible";
+}
+function ValidatorUpdateIsValid() {
+ Page_IsValid = AllValidatorsValid(Page_Validators);
+}
+function AllValidatorsValid(validators) {
+ if ((typeof(validators) != "undefined") && (validators != null)) {
+ var i;
+ for (i = 0; i < validators.length; i++) {
+ if (!validators[i].isvalid) {
+ return false;
+ }
+ }
+ }
+ return true;
+}
+function ValidatorHookupControlID(controlID, val) {
+ if (typeof(controlID) != "string") {
+ return;
+ }
+ var ctrl = document.getElementById(controlID);
+ if ((typeof(ctrl) != "undefined") && (ctrl != null)) {
+ ValidatorHookupControl(ctrl, val);
+ }
+ else {
+ val.isvalid = true;
+ val.enabled = false;
+ }
+}
+function ValidatorHookupControl(control, val) {
+ if (typeof(control.tagName) != "string") {
+ return;
+ }
+ if (control.tagName != "INPUT" && control.tagName != "TEXTAREA" && control.tagName != "SELECT") {
+ var i;
+ for (i = 0; i < control.childNodes.length; i++) {
+ ValidatorHookupControl(control.childNodes[i], val);
+ }
+ return;
+ }
+ else {
+ if (typeof(control.Validators) == "undefined") {
+ control.Validators = new Array;
+ var eventType;
+ if (control.type == "radio") {
+ eventType = "onclick";
+ } else {
+ eventType = "onchange";
+ if (typeof(val.focusOnError) == "string" && val.focusOnError == "t") {
+ ValidatorHookupEvent(control, "onblur", "ValidatedControlOnBlur(event); ");
+ }
+ }
+ ValidatorHookupEvent(control, eventType, "ValidatorOnChange(event); ");
+ if (Page_TextTypes.test(control.type)) {
+ ValidatorHookupEvent(control, "onkeypress",
+ "event = event || window.event; if (!ValidatedTextBoxOnKeyPress(event)) { event.cancelBubble = true; if (event.stopPropagation) event.stopPropagation(); return false; } ");
+ }
+ }
+ control.Validators[control.Validators.length] = val;
+ }
+}
+function ValidatorHookupEvent(control, eventType, functionPrefix) {
+ var ev = control[eventType];
+ if (typeof(ev) == "function") {
+ ev = ev.toString();
+ ev = ev.substring(ev.indexOf("{") + 1, ev.lastIndexOf("}"));
+ }
+ else {
+ ev = "";
+ }
+ control[eventType] = new Function("event", functionPrefix + " " + ev);
+}
+function ValidatorGetValue(id) {
+ var control;
+ control = document.getElementById(id);
+ if (typeof(control.value) == "string") {
+ return control.value;
+ }
+ return ValidatorGetValueRecursive(control);
+}
+function ValidatorGetValueRecursive(control)
+{
+ if (typeof(control.value) == "string" && (control.type != "radio" || control.checked == true)) {
+ return control.value;
+ }
+ var i, val;
+ for (i = 0; i twoDigitCutoffYear) ? (cutoffYearCentury - 100 + year) : (cutoffYearCentury + year));
+ }
+ var num, cleanInput, m, exp;
+ if (dataType == "Integer") {
+ exp = /^\s*[-\+]?\d+\s*$/;
+ if (op.match(exp) == null)
+ return null;
+ num = parseInt(op, 10);
+ return (isNaN(num) ? null : num);
+ }
+ else if(dataType == "Double") {
+ exp = new RegExp("^\\s*([-\\+])?(\\d*)\\" + val.decimalchar + "?(\\d*)\\s*$");
+ m = op.match(exp);
+ if (m == null)
+ return null;
+ if (m[2].length == 0 && m[3].length == 0)
+ return null;
+ cleanInput = (m[1] != null ? m[1] : "") + (m[2].length>0 ? m[2] : "0") + (m[3].length>0 ? "." + m[3] : "");
+ num = parseFloat(cleanInput);
+ return (isNaN(num) ? null : num);
+ }
+ else if (dataType == "Currency") {
+ var hasDigits = (val.digits > 0);
+ var beginGroupSize, subsequentGroupSize;
+ var groupSizeNum = parseInt(val.groupsize, 10);
+ if (!isNaN(groupSizeNum) && groupSizeNum > 0) {
+ beginGroupSize = "{1," + groupSizeNum + "}";
+ subsequentGroupSize = "{" + groupSizeNum + "}";
+ }
+ else {
+ beginGroupSize = subsequentGroupSize = "+";
+ }
+ exp = new RegExp("^\\s*([-\\+])?((\\d" + beginGroupSize + "(\\" + val.groupchar + "\\d" + subsequentGroupSize + ")+)|\\d*)"
+ + (hasDigits ? "\\" + val.decimalchar + "?(\\d{0," + val.digits + "})" : "")
+ + "\\s*$");
+ m = op.match(exp);
+ if (m == null)
+ return null;
+ if (m[2].length == 0 && hasDigits && m[5].length == 0)
+ return null;
+ cleanInput = (m[1] != null ? m[1] : "") + m[2].replace(new RegExp("(\\" + val.groupchar + ")", "g"), "") + ((hasDigits && m[5].length > 0) ? "." + m[5] : "");
+ num = parseFloat(cleanInput);
+ return (isNaN(num) ? null : num);
+ }
+ else if (dataType == "Date") {
+ var yearFirstExp = new RegExp("^\\s*((\\d{4})|(\\d{2}))([-/]|\\. ?)(\\d{1,2})\\4(\\d{1,2})\\.?\\s*$");
+ m = op.match(yearFirstExp);
+ var day, month, year;
+ if (m != null && (((typeof(m[2]) != "undefined") && (m[2].length == 4)) || val.dateorder == "ymd")) {
+ day = m[6];
+ month = m[5];
+ year = (m[2].length == 4) ? m[2] : GetFullYear(parseInt(m[3], 10));
+ }
+ else {
+ if (val.dateorder == "ymd"){
+ return null;
+ }
+ var yearLastExp = new RegExp("^\\s*(\\d{1,2})([-/]|\\. ?)(\\d{1,2})(?:\\s|\\2)((\\d{4})|(\\d{2}))(?:\\s\u0433\\.|\\.)?\\s*$");
+ m = op.match(yearLastExp);
+ if (m == null) {
+ return null;
+ }
+ if (val.dateorder == "mdy") {
+ day = m[3];
+ month = m[1];
+ }
+ else {
+ day = m[1];
+ month = m[3];
+ }
+ year = ((typeof(m[5]) != "undefined") && (m[5].length == 4)) ? m[5] : GetFullYear(parseInt(m[6], 10));
+ }
+ month -= 1;
+ var date = new Date(year, month, day);
+ if (year < 100) {
+ date.setFullYear(year);
+ }
+ return (typeof(date) == "object" && year == date.getFullYear() && month == date.getMonth() && day == date.getDate()) ? date.valueOf() : null;
+ }
+ else {
+ return op.toString();
+ }
+}
+function ValidatorCompare(operand1, operand2, operator, val) {
+ var dataType = val.type;
+ var op1, op2;
+ if ((op1 = ValidatorConvert(operand1, dataType, val)) == null)
+ return false;
+ if (operator == "DataTypeCheck")
+ return true;
+ if ((op2 = ValidatorConvert(operand2, dataType, val)) == null)
+ return true;
+ switch (operator) {
+ case "NotEqual":
+ return (op1 != op2);
+ case "GreaterThan":
+ return (op1 > op2);
+ case "GreaterThanEqual":
+ return (op1 >= op2);
+ case "LessThan":
+ return (op1 < op2);
+ case "LessThanEqual":
+ return (op1 <= op2);
+ default:
+ return (op1 == op2);
+ }
+}
+function CompareValidatorEvaluateIsValid(val) {
+ var value = ValidatorGetValue(val.controltovalidate);
+ if (ValidatorTrim(value).length == 0)
+ return true;
+ var compareTo = "";
+ if ((typeof(val.controltocompare) != "string") ||
+ (typeof(document.getElementById(val.controltocompare)) == "undefined") ||
+ (null == document.getElementById(val.controltocompare))) {
+ if (typeof(val.valuetocompare) == "string") {
+ compareTo = val.valuetocompare;
+ }
+ }
+ else {
+ compareTo = ValidatorGetValue(val.controltocompare);
+ }
+ var operator = "Equal";
+ if (typeof(val.operator) == "string") {
+ operator = val.operator;
+ }
+ return ValidatorCompare(value, compareTo, operator, val);
+}
+function CustomValidatorEvaluateIsValid(val) {
+ var value = "";
+ if (typeof(val.controltovalidate) == "string") {
+ value = ValidatorGetValue(val.controltovalidate);
+ if ((ValidatorTrim(value).length == 0) &&
+ ((typeof(val.validateemptytext) != "string") || (val.validateemptytext != "true"))) {
+ return true;
+ }
+ }
+ var args = { Value:value, IsValid:true };
+ if (typeof(val.clientvalidationfunction) == "string") {
+ eval(val.clientvalidationfunction + "(val, args) ;");
+ }
+ return args.IsValid;
+}
+function RegularExpressionValidatorEvaluateIsValid(val) {
+ var value = ValidatorGetValue(val.controltovalidate);
+ if (ValidatorTrim(value).length == 0)
+ return true;
+ var rx = new RegExp(val.validationexpression);
+ var matches = rx.exec(value);
+ return (matches != null && value == matches[0]);
+}
+function ValidatorTrim(s) {
+ var m = s.match(/^\s*(\S+(\s+\S+)*)\s*$/);
+ return (m == null) ? "" : m[1];
+}
+function RequiredFieldValidatorEvaluateIsValid(val) {
+ return (ValidatorTrim(ValidatorGetValue(val.controltovalidate)) != ValidatorTrim(val.initialvalue))
+}
+function RangeValidatorEvaluateIsValid(val) {
+ var value = ValidatorGetValue(val.controltovalidate);
+ if (ValidatorTrim(value).length == 0)
+ return true;
+ return (ValidatorCompare(value, val.minimumvalue, "GreaterThanEqual", val) &&
+ ValidatorCompare(value, val.maximumvalue, "LessThanEqual", val));
+}
+function ValidationSummaryOnSubmit(validationGroup) {
+ if (typeof(Page_ValidationSummaries) == "undefined")
+ return;
+ var summary, sums, s;
+ var headerSep, first, pre, post, end;
+ for (sums = 0; sums < Page_ValidationSummaries.length; sums++) {
+ summary = Page_ValidationSummaries[sums];
+ if (!summary) continue;
+ summary.style.display = "none";
+ if (!Page_IsValid && IsValidationGroupMatch(summary, validationGroup)) {
+ var i;
+ if (summary.showsummary != "False") {
+ summary.style.display = "";
+ if (typeof(summary.displaymode) != "string") {
+ summary.displaymode = "BulletList";
+ }
+ switch (summary.displaymode) {
+ case "List":
+ headerSep = " ";
+ first = "";
+ pre = "";
+ post = " ";
+ end = "";
+ break;
+ case "BulletList":
+ default:
+ headerSep = "";
+ first = "
";
+ pre = "
";
+ post = "
";
+ end = "
";
+ break;
+ case "SingleParagraph":
+ headerSep = " ";
+ first = "";
+ pre = "";
+ post = " ";
+ end = " ";
+ break;
+ }
+ s = "";
+ if (typeof(summary.headertext) == "string") {
+ s += summary.headertext + headerSep;
+ }
+ s += first;
+ for (i=0; i= 0) {
+ Page_Validators.splice(index, 1);
+ }
+ }
+ function addNormalizedAttribute(name, normalizedName) {
+ normalizedAttributes[name.toLowerCase()] = normalizedName;
+ }
+ function parseSpecificAttribute(selector, attribute, validatorsArray) {
+ return $(selector).find("[" + attribute + "='true']").each(function (index, element) {
+ addValidationExpando(element);
+ element.dispose = function () { dispose(element); element.dispose = null; };
+ if ($.inArray(element, validatorsArray) === -1) {
+ validatorsArray.push(element);
+ }
+ }).length;
+ }
+ function parse(selector) {
+ var length = parseSpecificAttribute(selector, dataValidationAttribute, Page_Validators);
+ length += parseSpecificAttribute(selector, dataValidationSummaryAttribute, Page_ValidationSummaries);
+ return length;
+ }
+ function loadValidators() {
+ if (typeof (ValidatorOnLoad) === "function") {
+ ValidatorOnLoad();
+ }
+ if (typeof (ValidatorOnSubmit) === "undefined") {
+ window.ValidatorOnSubmit = function () {
+ return Page_ValidationActive ? ValidatorCommonOnSubmit() : true;
+ };
+ }
+ }
+ function registerUpdatePanel() {
+ if (window.Sys && Sys.WebForms && Sys.WebForms.PageRequestManager) {
+ var prm = Sys.WebForms.PageRequestManager.getInstance(),
+ postBackElement, endRequestHandler;
+ if (prm.get_isInAsyncPostBack()) {
+ endRequestHandler = function (sender, args) {
+ if (parse(document)) {
+ loadValidators();
+ }
+ prm.remove_endRequest(endRequestHandler);
+ endRequestHandler = null;
+ };
+ prm.add_endRequest(endRequestHandler);
+ }
+ prm.add_beginRequest(function (sender, args) {
+ postBackElement = args.get_postBackElement();
+ });
+ prm.add_pageLoaded(function (sender, args) {
+ var i, panels, valFound = 0;
+ if (typeof (postBackElement) === "undefined") {
+ return;
+ }
+ panels = args.get_panelsUpdated();
+ for (i = 0; i < panels.length; i++) {
+ valFound += parse(panels[i]);
+ }
+ panels = args.get_panelsCreated();
+ for (i = 0; i < panels.length; i++) {
+ valFound += parse(panels[i]);
+ }
+ if (valFound) {
+ loadValidators();
+ }
+ });
+ }
+ }
+ $(function () {
+ if (typeof (Page_Validators) === "undefined") {
+ window.Page_Validators = [];
+ }
+ if (typeof (Page_ValidationSummaries) === "undefined") {
+ window.Page_ValidationSummaries = [];
+ }
+ if (typeof (Page_ValidationActive) === "undefined") {
+ window.Page_ValidationActive = false;
+ }
+ $.WebFormValidator = {
+ addNormalizedAttribute: addNormalizedAttribute,
+ parse: parse
+ };
+ if (parse(document)) {
+ loadValidators();
+ }
+ registerUpdatePanel();
+ });
+ } (jQuery));
+}
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/lib/net45/Microsoft.ScriptManager.WebForms.dll b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/lib/net45/Microsoft.ScriptManager.WebForms.dll
new file mode 100644
index 00000000..02f7fce1
Binary files /dev/null and b/packages/Microsoft.AspNet.ScriptManager.WebForms.4.5.6/lib/net45/Microsoft.ScriptManager.WebForms.dll differ
diff --git a/packages/Microsoft.AspNet.Web.Optimization.1.1.1/Microsoft.AspNet.Web.Optimization.1.1.1.nupkg b/packages/Microsoft.AspNet.Web.Optimization.1.1.1/Microsoft.AspNet.Web.Optimization.1.1.1.nupkg
new file mode 100644
index 00000000..30732b1e
Binary files /dev/null and b/packages/Microsoft.AspNet.Web.Optimization.1.1.1/Microsoft.AspNet.Web.Optimization.1.1.1.nupkg differ
diff --git a/packages/Microsoft.AspNet.Web.Optimization.1.1.1/lib/net40/System.Web.Optimization.dll b/packages/Microsoft.AspNet.Web.Optimization.1.1.1/lib/net40/System.Web.Optimization.dll
new file mode 100644
index 00000000..53186c37
Binary files /dev/null and b/packages/Microsoft.AspNet.Web.Optimization.1.1.1/lib/net40/System.Web.Optimization.dll differ
diff --git a/packages/Microsoft.AspNet.Web.Optimization.1.1.1/lib/net40/system.web.optimization.xml b/packages/Microsoft.AspNet.Web.Optimization.1.1.1/lib/net40/system.web.optimization.xml
new file mode 100644
index 00000000..1bfd64c8
--- /dev/null
+++ b/packages/Microsoft.AspNet.Web.Optimization.1.1.1/lib/net40/system.web.optimization.xml
@@ -0,0 +1,666 @@
+
+
+
+ System.Web.Optimization
+
+
+
+ Represents a list of file references to be bundled together as a single resource.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class.
+ The virtual path used to reference the from within a view or Web page.
+
+
+ Initializes a new instance of the class.
+ The virtual path used to reference the from within a view or Web page.
+ An alternate url for the bundle when it is stored in a content delivery network.
+
+
+ Initializes a new instance of the class.
+ The virtual path used to reference the from within a view or Web page.
+ An alternate url for the bundle when it is stored in a content delivery network.
+ A list of objects which process the contents of the bundle in the order which they are added.
+
+
+ Initializes a new instance of the class.
+ The virtual path used to reference the from within a view or Web page.
+ A list of objects which process the contents of the bundle in the order which they are added.
+
+
+
+ Builds the bundle content from the individual files included in the object.
+ The object used to build the bundle content.
+
+
+ Overrides this to implement own caching logic.
+ A bundle response.
+ The bundle context.
+
+
+ Script expression rendered by the helper class to reference the local bundle file if the CDN is unavailable.
+ The script expression rendered by the helper class to reference the local bundle file if the CDN is unavailable.
+
+
+ Gets or sets an alternate url for the bundle when it is stored in a content delivery network.
+ An alternate url for the bundle when it is stored in a content delivery network.
+
+
+ The token inserted between bundled files to ensure that the final bundle content is valid.
+ By default, if is not specified, the Web optimization framework inserts a new line.
+
+
+ Specifies whether to use the .
+ true if the is used; otherwise, false.
+
+
+ Generates an enumeration of objects that represent the contents of the bundle.
+ An enumeration of objects that represent the contents of the bundle.
+ The object that contains state for both the framework configuration and the HTTP request.
+
+
+ Processes the bundle request to generate the response.
+ A object containing the processed bundle contents.
+ The object that contains state for both the framework configuration and the HTTP request.
+
+
+
+
+ Specifies a set of files to be included in the .
+ The object itself for use in subsequent method chaining.
+ The virtual path of the file or file pattern to be included in the bundle.
+
+
+ Includes all files in a directory that match a search pattern.
+ The object itself for use in subsequent method chaining.
+ The virtual path to the directory from which to search for files.
+ The search pattern to use in selecting files to add to the bundle.
+
+
+ Includes all files in a directory that match a search pattern.
+ The object itself for use in subsequent method chaining.
+ The virtual path to the directory from which to search for files.
+ The search pattern to use in selecting files to add to the bundle.
+ Specifies whether to recursively search subdirectories of .
+
+
+ Determines the order of files in a bundle.
+ The order of files in a bundle.
+
+
+ Virtual path used to reference the from within a view or Web page.
+ The virtual path.
+
+
+ Transforms the contents of a bundle.
+ The list of transforms for the bundle.
+
+
+
+ Contains and manages the set of registered objects in an ASP.NET application.
+
+
+ Initializes a new instance of the class.
+
+
+ Adds a bundle to the collection.
+ The bundle to add.
+
+
+ Adds the default file extension replacements for common conventions.
+ The list to populate with default values.
+
+
+ Adds default file order specifications to use with bundles in the collection.
+ The list to populate with default values.
+
+
+ Adds the default file ignore patterns.
+ The ignore list to populate with default values.
+
+
+ Removes all bundles from the collection.
+
+
+ Gets the count of registered bundles in the collection.
+ The number of bundles.
+
+
+ Gets a list of file patterns which are ignored when including files using wildcards or substitution tokens.
+ A list of file patterns.
+
+
+ Gets the file extension replacement list.
+ The file extension replacement list.
+
+
+ Gets a list that specifies default file orderings to use for files in the registered bundles.
+ The list of file orderings.
+
+
+ Returns a bundle in the collection using the specified virtual path.
+ The bundle for the virtual path or null if no bundle exists at the path.
+ The virtual path of the bundle to return.
+
+
+ Returns the bundle enumerator.
+ The bundle enumerator.
+
+
+ Returns the collection of all registered bundles.
+ The collection of registered bundles.
+
+
+ Gets the list of files to ignore.
+ The list of files to ignore.
+
+
+ Removes a bundle from the collection.
+ true if the bundle was removed; otherwise, false.
+ The bundle to remove.
+
+
+ Clears the bundles and resets all the defaults.
+
+
+ Returns the bundle URL for the specified virtual path.
+ The bundle URL or null if the bundle cannot be found.
+ The bundle virtual path.
+
+
+ Returns the bundle URL for the specified virtual path, including a content hash if requested.
+ The bundle URL or null if the bundle cannot be found.
+ The virtual path of the bundle.
+ true to include a hash code for the content; otherwise, false. The default is true.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An that can be used to iterate through the collection.
+
+
+ Returns an enumerator that can be used to iterate through the collection.
+ An that can be used to iterate through the collection.
+
+
+ Gets or sets whether the collection will try to use if specified.
+ true if the collection will try to use Bundle.CdnPath if specified; Otherwise, false.
+
+
+ Encapsulates the info needed to process a bundle request
+
+
+ Initializes a new instance of the class.
+ The context.
+ The collection of bundles.
+ The virtual path of the bundles.
+
+
+ Gets or sets the collection of bundles.
+ The collection of bundles.
+
+
+ Gets or sets the virtual path for the bundle request
+ The virtual path for the bundle request.
+
+
+ Gets or sets whether the instrumentation output is requested.
+ true if instrumentation output is requested; otherwise, false.
+
+
+ Gets or sets whether optimizations are enabled via .
+ true if optimizations are enabled via ; otherwise, false.
+
+
+ Gets or sets the HTTP context associated with the bundle context.
+ The HTTP context associated with the bundle context.
+
+
+ Gets or sets whether the bindle context will store the bundle response in the HttpContext.Cache.
+ true if the bindle context will store the bundle response in the cache; Otherwise, false.
+
+
+ Represents a bundle definition as specified by the bundle manifest.
+
+
+ Initializes a new instance of the class.
+
+
+ Gets or sets the CDN fallback expression for the bundle.
+ The CDN fallback expression for the bundle.
+
+
+ Gets or sets the CDN path for the bundle.
+ The CDN path for the bundle.
+
+
+ Gets the files included in the bundle.
+ The files included in the bundle.
+
+
+ Gets or sets the virtual path for the bundle.
+ The virtual path for the bundle.
+
+
+
+
+
+
+
+
+
+ Encapsulates a named set of files with relative orderings, for example jquery or modernizer.
+
+
+ Initializes a new instance of the class.
+ The name used to help identify the file ordering.
+
+
+ Gets or sets the ordered list of file name patterns (allows one prefix/suffix wildcard '*') that determines the relative ordering of these files in the bundle. For example, ["z.js", "b*", "*a", "a.js"].
+ The ordered list of file name patterns that determines the relative ordering of these files in the bundle.
+
+
+ Gets or sets the name used to help identify the file ordering, for example, jquery.
+ The name used to help identify the file ordering.
+
+
+ Represents the XML configuration to configure the bundle collection.
+
+
+ Gets or sets the path to the bundle manifest file that sets up the .
+ The path to the bundle manifest file that sets up the .
+
+
+ Reads the bundle manifest using the default bundle configuration.
+ The bundle manifest.
+
+
+ Reads the bundle manifest from a given stream.
+ The bundle manifest.
+ The bundle stream to read from.
+
+
+ Gets the objects specified by the manifest file.
+ The objects specified by the manifest file.
+
+
+ Gets or sets the registered style bundles.
+ The registered style bundles.
+
+
+ Represents a module that enables bundling to intercept requests to bundle URLs.
+
+
+ Initializes a new instance of the class.
+
+
+ Disposes any resources used by the class.
+
+
+ Hooks the OnApplicationPostResolveRequestCache event to remap to the bundle handler.
+ The application that will receive the registration of the event.
+
+
+ Calls the Dispose() method.
+
+
+ Calls the Init method.
+ The application that will receive the registration of the event.
+
+
+ Represents a class that determine if a script reference is a bundle, and what it contains to prevent duplicate script references.
+
+
+ Initializes a new instance of the class.
+
+
+ Initializes a new instance of the class with the specified bundle.
+ The bundles of objects.
+
+
+ Initializes a new instance of the class with the specified bundle and context.
+ The bundles of object.
+ The HttpContextBase.
+
+
+ Gets or sets the ScriptManager that reflects against .
+ The ScriptManager that reflects against .
+
+
+ Returns an enumeration of actual file paths to the contents of the bundle.
+ The actual file paths to the contents of the bundle.
+ The virtual file path.
+
+
+ Gets the versioned url for the bundle or returns the virtualPath unchanged if it does not point to a bundle.
+ The versioned url for the bundle.
+ The virtual file path.
+
+
+ Determines if the virtualPath is to a bundle.
+ The virtualPath.
+ The virtual file path.
+
+
+ Encapsulates the response data that will be sent for a bundle request.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Gets or sets a value that is used to set the Cache-Control HTTP header.
+ A value that is used to set the Cache-Control HTTP header.
+
+
+ Gets or sets the content of the bundle which is sent as the response body.
+ The content of the bundle.
+
+
+ Gets or sets the media type that is sent in the HTTP content/type header.
+ The media type that is sent in the HTTP content/type header.
+
+
+ Gets or sets the list of files in the bundle.
+ The list of files in the bundle.
+
+
+ Static holder class for the default bundle collection.
+
+
+ Gets the default bundle collection.
+ The default bundle collection.
+
+
+ Gets or sets whether bundling and minification of bundle references is enabled.
+ true if bundling and minification of bundle references is enabled; otherwise, false.
+
+
+ Gets or sets the provider to be used in resolving bundle files.
+ The provider to be used in resolving bundle files.
+
+
+ Represents a that does CSS minification.
+
+
+ Initializes a new instance of the class.
+
+
+ Transforms the bundle contents by applying CSS minification.
+ The bundle context.
+ The bundle response object
+
+
+
+
+
+ Represents the default logic which combines files in the bundle.
+
+
+ Initializes a new instance of the class.
+
+
+
+ Default which orders files in a bundled using .
+
+
+ Initializes a new instance of the class.
+
+
+
+ Represents a object that ASP.NET creates from a folder that contains files of the same type.
+
+
+ Initializes a new instance of the class.
+ The path suffix.
+ The search pattern.
+
+
+ Initializes a new instance of the class.
+ The path suffix.
+ The search pattern.
+ The search subdirectories.
+
+
+ Initializes a new instance of the class.
+ The path suffix.
+ The search pattern.
+ The search subdirectories.
+ The transform parameter.
+
+
+ Initializes a new instance of the class.
+ The path suffix.
+ The search pattern.
+ The transform parameter.
+
+
+ Gets or set the path of a Content Delivery Network (CDN) that contains the folder bundle.
+ The path of a Content Delivery Network (CDN)
+
+
+ Returns all the base methods files and any dynamic files found in the requested directory.
+ All the base methods files and any dynamic files found in the requested directory.
+ The bundle context.
+
+
+ Gets or sets the search pattern for the folder bundle.
+ The search pattern for the folder bundle.
+
+
+ Gets or sets whether the search pattern is applied to subdirectories.
+ true if the search pattern is applied to subdirectories; otherwise, false.
+
+
+ A set of file extensions that will be used to select different files based on the .
+
+
+ Initializes a new instance of the class.
+
+
+ Adds a file extension which will be applied regardless of .
+ File extension string.
+
+
+ Add a file extension for a specified .
+ File extension string.
+
+ in which to apply the file extension replacement.
+
+
+ Clears file extension replacements.
+
+
+
+ Specifies the building of the bundle from the individual file contents.
+
+
+
+ Defines methods for ordering files within a .
+
+
+
+ Represents an interface used to query the BundleCollection for metadata.
+
+
+ Returns a list of all the virtualPaths of the contents of the bundle.
+ The list of virtual path.
+ The virtual path for the bundle.
+
+
+ Returns the versioned URL of the bundle.
+ The versioned URL of the bundle.
+ The virtual path.
+
+
+ Specifies whether the virtual path is to a bundle.
+ true if the virtual path is to a bundle; Otherwise, false.
+ The virtual path.
+
+
+ Defines a method that transforms the files in a object.
+
+
+ Transforms the content in the object.
+ The bundle context.
+ The bundle response.
+
+
+ A list of filename patterns to be ignored and thereby excluded from bundles.
+
+
+ Initializes a new instance of the class.
+
+
+ Clears entire ignore list.
+
+
+
+ Ignores the specified pattern regardless of the value set in .
+ The ignore pattern.
+
+
+ Ignores the specified pattern when in the appropriate .
+ The ignore pattern.
+ The in which to apply the ignore pattern.
+
+
+ Determines whether a file should be ignored based on the ignore list.
+ true if the filename matches a pattern in the ; otherwise, false.
+ The object that contains state for both the framework configuration and the HTTP request.
+ The name of the file to compare with the ignore list.
+
+
+
+
+ Represents a BundleTransform that does CSS Minification.
+
+
+ Initializes a new instance of the class.
+
+
+ Transforms the bundle contents by applying javascript minification.
+ The context associated with the bundle.
+ The .
+
+
+ OptimizationMode used by IgnoreList and FileExtensionReplacement.
+
+
+ Always: Always ignore
+
+
+ WhenDisabled: Only when BundleTable.EnableOptimization = false
+
+
+ WhenEnabled: Only when BundleTable.EnableOptimization = true
+
+
+ Configuration settings used by the class to generate bundle responses outside of ASP.NET applications.
+
+
+ Initializes a new instance of the class.
+
+
+ The physical file path to resolve the ‘~’ token in virtual paths.
+ The physical file path.
+
+
+ The path to the bundle manifest file that sets up the .
+ The path to the bundle manifest file that sets up the .
+
+
+ Gets or sets a callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection.
+ A callback function which is invoked after the bundle manifest is loaded to allow further customization of the bundle collection.
+
+
+
+ Represents a standalone class for generating bundle responses outside of ASP.NET
+
+
+
+ Builds a object from the declarations found in a bundle manifest file.
+ The bundle response for specified .
+ The path to the bundle being requested.
+ An object containing configuration settings for optimization.
+
+
+ Hooks up the BundleModule
+
+
+ Hooks up the BundleModule
+
+
+ Represents a bundle that does Js Minification.
+
+
+ Initializes a new instance of the class that takes a virtual path for the bundle.
+ The virtual path for the bundle.
+
+
+ Initializes a new instance of the class that takes virtual path and cdnPath for the bundle.
+ The virtual path for the bundle.
+ The path of a Content Delivery Network (CDN).
+
+
+ Represents a type that allows queuing and rendering script elements.
+
+
+ Gets or sets the default format string for defining how script tags are rendered.
+ The default format string for defining how script tags are rendered.
+
+
+ Renders script tags for the following paths.
+ The HTML string containing the script tag or tags for the bundle.
+ Set of virtual paths for which to generate script tags.
+
+
+ Renders script tags for a set of paths based on a format string.
+ The HTML string containing the script tag or tags for the bundle.
+ The format string for defining the rendered script tags.
+ Set of virtual paths for which to generate script tags.
+
+
+ Returns a fingerprinted URL if the is to a bundle, otherwise returns the resolve URL.
+ A that represents the URL.
+ The virtual path.
+
+
+ Represents a bundle that does CSS minification.
+
+
+ Initializes a new instance of the class with a virtual path for the bundle.
+ A virtual path for the bundle.
+
+
+ Initializes a new instance of the class with virtual path and CDN path for the bundle.
+ A virtual path for the bundle.
+ A CDN path for the bundle.
+
+
+ Represents a helper class for rendering link elements.
+
+
+ Gets or sets the default format string for defining how link tags are rendered.
+ The default format string for defining how link tags are rendered.
+
+
+ Renders link tags for a set of paths.
+ A HTML string containing the link tag or tags for the bundle.
+ Set of virtual paths for which to generate link tags.
+
+
+ Renders link tags for a set of paths based on a format string.
+ A HTML string containing the link tag or tags for the bundle.
+ Format string for defining the rendered link tags.
+ Set of virtual paths for which to generate link tags.
+
+
+ Generates a version-stamped URL for a bundle.
+ A fingerprinted URL.
+ The virtual file path.
+
+
+
\ No newline at end of file
diff --git a/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1.nupkg b/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1.nupkg
new file mode 100644
index 00000000..6f01d737
Binary files /dev/null and b/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1.nupkg differ
diff --git a/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/content/web.config.transform b/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/content/web.config.transform
new file mode 100644
index 00000000..87f138c5
--- /dev/null
+++ b/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/content/web.config.transform
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
diff --git a/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/lib/net45/Microsoft.AspNet.Web.Optimization.WebForms.dll b/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/lib/net45/Microsoft.AspNet.Web.Optimization.WebForms.dll
new file mode 100644
index 00000000..549be085
Binary files /dev/null and b/packages/Microsoft.AspNet.Web.Optimization.WebForms.1.1.1/lib/net45/Microsoft.AspNet.Web.Optimization.WebForms.dll differ
diff --git a/packages/Microsoft.ScriptManager.MSAjax.1.0.1/Microsoft.ScriptManager.MSAjax.1.0.1.nupkg b/packages/Microsoft.ScriptManager.MSAjax.1.0.1/Microsoft.ScriptManager.MSAjax.1.0.1.nupkg
new file mode 100644
index 00000000..4c3a4daf
Binary files /dev/null and b/packages/Microsoft.ScriptManager.MSAjax.1.0.1/Microsoft.ScriptManager.MSAjax.1.0.1.nupkg differ
diff --git a/packages/Modernizr.2.6.2/Content/Scripts/modernizr-2.6.2.js b/packages/Modernizr.2.6.2/Content/Scripts/modernizr-2.6.2.js
new file mode 100644
index 00000000..56a00220
--- /dev/null
+++ b/packages/Modernizr.2.6.2/Content/Scripts/modernizr-2.6.2.js
@@ -0,0 +1,1393 @@
+/*!
+ * Modernizr v2.6.2
+ * www.modernizr.com
+ *
+ * Copyright (c) Faruk Ates, Paul Irish, Alex Sexton
+ * Available under the BSD and MIT licenses: www.modernizr.com/license/
+ */
+
+/*
+ * Modernizr tests which native CSS3 and HTML5 features are available in
+ * the current UA and makes the results available to you in two ways:
+ * as properties on a global Modernizr object, and as classes on the
+ * element. This information allows you to progressively enhance
+ * your pages with a granular level of control over the experience.
+ *
+ * Modernizr has an optional (not included) conditional resource loader
+ * called Modernizr.load(), based on Yepnope.js (yepnopejs.com).
+ * To get a build that includes Modernizr.load(), as well as choosing
+ * which tests to include, go to www.modernizr.com/download/
+ *
+ * Authors Faruk Ates, Paul Irish, Alex Sexton
+ * Contributors Ryan Seddon, Ben Alman
+ */
+
+window.Modernizr = (function( window, document, undefined ) {
+
+ var version = '2.6.2',
+
+ Modernizr = {},
+
+ /*>>cssclasses*/
+ // option for enabling the HTML classes to be added
+ enableClasses = true,
+ /*>>cssclasses*/
+
+ docElement = document.documentElement,
+
+ /**
+ * Create our "modernizr" element that we do most feature tests on.
+ */
+ mod = 'modernizr',
+ modElem = document.createElement(mod),
+ mStyle = modElem.style,
+
+ /**
+ * Create the input element for various Web Forms feature tests.
+ */
+ inputElem /*>>inputelem*/ = document.createElement('input') /*>>inputelem*/ ,
+
+ /*>>smile*/
+ smile = ':)',
+ /*>>smile*/
+
+ toString = {}.toString,
+
+ // TODO :: make the prefixes more granular
+ /*>>prefixes*/
+ // List of property values to set for css tests. See ticket #21
+ prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
+ /*>>prefixes*/
+
+ /*>>domprefixes*/
+ // Following spec is to expose vendor-specific style properties as:
+ // elem.style.WebkitBorderRadius
+ // and the following would be incorrect:
+ // elem.style.webkitBorderRadius
+
+ // Webkit ghosts their properties in lowercase but Opera & Moz do not.
+ // Microsoft uses a lowercase `ms` instead of the correct `Ms` in IE8+
+ // erik.eae.net/archives/2008/03/10/21.48.10/
+
+ // More here: github.com/Modernizr/Modernizr/issues/issue/21
+ omPrefixes = 'Webkit Moz O ms',
+
+ cssomPrefixes = omPrefixes.split(' '),
+
+ domPrefixes = omPrefixes.toLowerCase().split(' '),
+ /*>>domprefixes*/
+
+ /*>>ns*/
+ ns = {'svg': 'http://www.w3.org/2000/svg'},
+ /*>>ns*/
+
+ tests = {},
+ inputs = {},
+ attrs = {},
+
+ classes = [],
+
+ slice = classes.slice,
+
+ featureName, // used in testing loop
+
+
+ /*>>teststyles*/
+ // Inject element with style element and some CSS rules
+ injectElementWithStyles = function( rule, callback, nodes, testnames ) {
+
+ var style, ret, node, docOverflow,
+ div = document.createElement('div'),
+ // After page load injecting a fake body doesn't work so check if body exists
+ body = document.body,
+ // IE6 and 7 won't return offsetWidth or offsetHeight unless it's in the body element, so we fake it.
+ fakeBody = body || document.createElement('body');
+
+ if ( parseInt(nodes, 10) ) {
+ // In order not to give false positives we create a node for each test
+ // This also allows the method to scale for unspecified uses
+ while ( nodes-- ) {
+ node = document.createElement('div');
+ node.id = testnames ? testnames[nodes] : mod + (nodes + 1);
+ div.appendChild(node);
+ }
+ }
+
+ // '].join('');
+ div.id = mod;
+ // IE6 will false positive on some tests due to the style element inside the test div somehow interfering offsetHeight, so insert it into body or fakebody.
+ // Opera will act all quirky when injecting elements in documentElement when page is served as xml, needs fakebody too. #270
+ (body ? div : fakeBody).innerHTML += style;
+ fakeBody.appendChild(div);
+ if ( !body ) {
+ //avoid crashing IE8, if background image is used
+ fakeBody.style.background = '';
+ //Safari 5.13/5.1.4 OSX stops loading if ::-webkit-scrollbar is used and scrollbars are visible
+ fakeBody.style.overflow = 'hidden';
+ docOverflow = docElement.style.overflow;
+ docElement.style.overflow = 'hidden';
+ docElement.appendChild(fakeBody);
+ }
+
+ ret = callback(div, rule);
+ // If this is done after page load we don't want to remove the body so check if body exists
+ if ( !body ) {
+ fakeBody.parentNode.removeChild(fakeBody);
+ docElement.style.overflow = docOverflow;
+ } else {
+ div.parentNode.removeChild(div);
+ }
+
+ return !!ret;
+
+ },
+ /*>>teststyles*/
+
+ /*>>mq*/
+ // adapted from matchMedia polyfill
+ // by Scott Jehl and Paul Irish
+ // gist.github.com/786768
+ testMediaQuery = function( mq ) {
+
+ var matchMedia = window.matchMedia || window.msMatchMedia;
+ if ( matchMedia ) {
+ return matchMedia(mq).matches;
+ }
+
+ var bool;
+
+ injectElementWithStyles('@media ' + mq + ' { #' + mod + ' { position: absolute; } }', function( node ) {
+ bool = (window.getComputedStyle ?
+ getComputedStyle(node, null) :
+ node.currentStyle)['position'] == 'absolute';
+ });
+
+ return bool;
+
+ },
+ /*>>mq*/
+
+
+ /*>>hasevent*/
+ //
+ // isEventSupported determines if a given element supports the given event
+ // kangax.github.com/iseventsupported/
+ //
+ // The following results are known incorrects:
+ // Modernizr.hasEvent("webkitTransitionEnd", elem) // false negative
+ // Modernizr.hasEvent("textInput") // in Webkit. github.com/Modernizr/Modernizr/issues/333
+ // ...
+ isEventSupported = (function() {
+
+ var TAGNAMES = {
+ 'select': 'input', 'change': 'input',
+ 'submit': 'form', 'reset': 'form',
+ 'error': 'img', 'load': 'img', 'abort': 'img'
+ };
+
+ function isEventSupported( eventName, element ) {
+
+ element = element || document.createElement(TAGNAMES[eventName] || 'div');
+ eventName = 'on' + eventName;
+
+ // When using `setAttribute`, IE skips "unload", WebKit skips "unload" and "resize", whereas `in` "catches" those
+ var isSupported = eventName in element;
+
+ if ( !isSupported ) {
+ // If it has no `setAttribute` (i.e. doesn't implement Node interface), try generic element
+ if ( !element.setAttribute ) {
+ element = document.createElement('div');
+ }
+ if ( element.setAttribute && element.removeAttribute ) {
+ element.setAttribute(eventName, '');
+ isSupported = is(element[eventName], 'function');
+
+ // If property was created, "remove it" (by setting value to `undefined`)
+ if ( !is(element[eventName], 'undefined') ) {
+ element[eventName] = undefined;
+ }
+ element.removeAttribute(eventName);
+ }
+ }
+
+ element = null;
+ return isSupported;
+ }
+ return isEventSupported;
+ })(),
+ /*>>hasevent*/
+
+ // TODO :: Add flag for hasownprop ? didn't last time
+
+ // hasOwnProperty shim by kangax needed for Safari 2.0 support
+ _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
+
+ if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
+ hasOwnProp = function (object, property) {
+ return _hasOwnProperty.call(object, property);
+ };
+ }
+ else {
+ hasOwnProp = function (object, property) { /* yes, this can give false positives/negatives, but most of the time we don't care about those */
+ return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
+ };
+ }
+
+ // Adapted from ES5-shim https://github.com/kriskowal/es5-shim/blob/master/es5-shim.js
+ // es5.github.com/#x15.3.4.5
+
+ if (!Function.prototype.bind) {
+ Function.prototype.bind = function bind(that) {
+
+ var target = this;
+
+ if (typeof target != "function") {
+ throw new TypeError();
+ }
+
+ var args = slice.call(arguments, 1),
+ bound = function () {
+
+ if (this instanceof bound) {
+
+ var F = function(){};
+ F.prototype = target.prototype;
+ var self = new F();
+
+ var result = target.apply(
+ self,
+ args.concat(slice.call(arguments))
+ );
+ if (Object(result) === result) {
+ return result;
+ }
+ return self;
+
+ } else {
+
+ return target.apply(
+ that,
+ args.concat(slice.call(arguments))
+ );
+
+ }
+
+ };
+
+ return bound;
+ };
+ }
+
+ /**
+ * setCss applies given styles to the Modernizr DOM node.
+ */
+ function setCss( str ) {
+ mStyle.cssText = str;
+ }
+
+ /**
+ * setCssAll extrapolates all vendor-specific css strings.
+ */
+ function setCssAll( str1, str2 ) {
+ return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
+ }
+
+ /**
+ * is returns a boolean for if typeof obj is exactly type.
+ */
+ function is( obj, type ) {
+ return typeof obj === type;
+ }
+
+ /**
+ * contains returns a boolean for if substr is found within str.
+ */
+ function contains( str, substr ) {
+ return !!~('' + str).indexOf(substr);
+ }
+
+ /*>>testprop*/
+
+ // testProps is a generic CSS / DOM property test.
+
+ // In testing support for a given CSS property, it's legit to test:
+ // `elem.style[styleName] !== undefined`
+ // If the property is supported it will return an empty string,
+ // if unsupported it will return undefined.
+
+ // We'll take advantage of this quick test and skip setting a style
+ // on our modernizr element, but instead just testing undefined vs
+ // empty string.
+
+ // Because the testing of the CSS property names (with "-", as
+ // opposed to the camelCase DOM properties) is non-portable and
+ // non-standard but works in WebKit and IE (but not Gecko or Opera),
+ // we explicitly reject properties with dashes so that authors
+ // developing in WebKit or IE first don't end up with
+ // browser-specific content by accident.
+
+ function testProps( props, prefixed ) {
+ for ( var i in props ) {
+ var prop = props[i];
+ if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
+ return prefixed == 'pfx' ? prop : true;
+ }
+ }
+ return false;
+ }
+ /*>>testprop*/
+
+ // TODO :: add testDOMProps
+ /**
+ * testDOMProps is a generic DOM property test; if a browser supports
+ * a certain property, it won't return undefined for it.
+ */
+ function testDOMProps( props, obj, elem ) {
+ for ( var i in props ) {
+ var item = obj[props[i]];
+ if ( item !== undefined) {
+
+ // return the property name as a string
+ if (elem === false) return props[i];
+
+ // let's bind a function
+ if (is(item, 'function')){
+ // default to autobind unless override
+ return item.bind(elem || obj);
+ }
+
+ // return the unbound function or obj or value
+ return item;
+ }
+ }
+ return false;
+ }
+
+ /*>>testallprops*/
+ /**
+ * testPropsAll tests a list of DOM properties we want to check against.
+ * We specify literally ALL possible (known and/or likely) properties on
+ * the element including the non-vendor prefixed one, for forward-
+ * compatibility.
+ */
+ function testPropsAll( prop, prefixed, elem ) {
+
+ var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
+ props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
+
+ // did they call .prefixed('boxSizing') or are we just testing a prop?
+ if(is(prefixed, "string") || is(prefixed, "undefined")) {
+ return testProps(props, prefixed);
+
+ // otherwise, they called .prefixed('requestAnimationFrame', window[, elem])
+ } else {
+ props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
+ return testDOMProps(props, prefixed, elem);
+ }
+ }
+ /*>>testallprops*/
+
+
+ /**
+ * Tests
+ * -----
+ */
+
+ // The *new* flexbox
+ // dev.w3.org/csswg/css3-flexbox
+
+ tests['flexbox'] = function() {
+ return testPropsAll('flexWrap');
+ };
+
+ // The *old* flexbox
+ // www.w3.org/TR/2009/WD-css3-flexbox-20090723/
+
+ tests['flexboxlegacy'] = function() {
+ return testPropsAll('boxDirection');
+ };
+
+ // On the S60 and BB Storm, getContext exists, but always returns undefined
+ // so we actually have to call getContext() to verify
+ // github.com/Modernizr/Modernizr/issues/issue/97/
+
+ tests['canvas'] = function() {
+ var elem = document.createElement('canvas');
+ return !!(elem.getContext && elem.getContext('2d'));
+ };
+
+ tests['canvastext'] = function() {
+ return !!(Modernizr['canvas'] && is(document.createElement('canvas').getContext('2d').fillText, 'function'));
+ };
+
+ // webk.it/70117 is tracking a legit WebGL feature detect proposal
+
+ // We do a soft detect which may false positive in order to avoid
+ // an expensive context creation: bugzil.la/732441
+
+ tests['webgl'] = function() {
+ return !!window.WebGLRenderingContext;
+ };
+
+ /*
+ * The Modernizr.touch test only indicates if the browser supports
+ * touch events, which does not necessarily reflect a touchscreen
+ * device, as evidenced by tablets running Windows 7 or, alas,
+ * the Palm Pre / WebOS (touch) phones.
+ *
+ * Additionally, Chrome (desktop) used to lie about its support on this,
+ * but that has since been rectified: crbug.com/36415
+ *
+ * We also test for Firefox 4 Multitouch Support.
+ *
+ * For more info, see: modernizr.github.com/Modernizr/touch.html
+ */
+
+ tests['touch'] = function() {
+ var bool;
+
+ if(('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch) {
+ bool = true;
+ } else {
+ injectElementWithStyles(['@media (',prefixes.join('touch-enabled),('),mod,')','{#modernizr{top:9px;position:absolute}}'].join(''), function( node ) {
+ bool = node.offsetTop === 9;
+ });
+ }
+
+ return bool;
+ };
+
+
+ // geolocation is often considered a trivial feature detect...
+ // Turns out, it's quite tricky to get right:
+ //
+ // Using !!navigator.geolocation does two things we don't want. It:
+ // 1. Leaks memory in IE9: github.com/Modernizr/Modernizr/issues/513
+ // 2. Disables page caching in WebKit: webk.it/43956
+ //
+ // Meanwhile, in Firefox < 8, an about:config setting could expose
+ // a false positive that would throw an exception: bugzil.la/688158
+
+ tests['geolocation'] = function() {
+ return 'geolocation' in navigator;
+ };
+
+
+ tests['postmessage'] = function() {
+ return !!window.postMessage;
+ };
+
+
+ // Chrome incognito mode used to throw an exception when using openDatabase
+ // It doesn't anymore.
+ tests['websqldatabase'] = function() {
+ return !!window.openDatabase;
+ };
+
+ // Vendors had inconsistent prefixing with the experimental Indexed DB:
+ // - Webkit's implementation is accessible through webkitIndexedDB
+ // - Firefox shipped moz_indexedDB before FF4b9, but since then has been mozIndexedDB
+ // For speed, we don't test the legacy (and beta-only) indexedDB
+ tests['indexedDB'] = function() {
+ return !!testPropsAll("indexedDB", window);
+ };
+
+ // documentMode logic from YUI to filter out IE8 Compat Mode
+ // which false positives.
+ tests['hashchange'] = function() {
+ return isEventSupported('hashchange', window) && (document.documentMode === undefined || document.documentMode > 7);
+ };
+
+ // Per 1.6:
+ // This used to be Modernizr.historymanagement but the longer
+ // name has been deprecated in favor of a shorter and property-matching one.
+ // The old API is still available in 1.6, but as of 2.0 will throw a warning,
+ // and in the first release thereafter disappear entirely.
+ tests['history'] = function() {
+ return !!(window.history && history.pushState);
+ };
+
+ tests['draganddrop'] = function() {
+ var div = document.createElement('div');
+ return ('draggable' in div) || ('ondragstart' in div && 'ondrop' in div);
+ };
+
+ // FF3.6 was EOL'ed on 4/24/12, but the ESR version of FF10
+ // will be supported until FF19 (2/12/13), at which time, ESR becomes FF17.
+ // FF10 still uses prefixes, so check for it until then.
+ // for more ESR info, see: mozilla.org/en-US/firefox/organizations/faq/
+ tests['websockets'] = function() {
+ return 'WebSocket' in window || 'MozWebSocket' in window;
+ };
+
+
+ // css-tricks.com/rgba-browser-support/
+ tests['rgba'] = function() {
+ // Set an rgba() color and check the returned value
+
+ setCss('background-color:rgba(150,255,150,.5)');
+
+ return contains(mStyle.backgroundColor, 'rgba');
+ };
+
+ tests['hsla'] = function() {
+ // Same as rgba(), in fact, browsers re-map hsla() to rgba() internally,
+ // except IE9 who retains it as hsla
+
+ setCss('background-color:hsla(120,40%,100%,.5)');
+
+ return contains(mStyle.backgroundColor, 'rgba') || contains(mStyle.backgroundColor, 'hsla');
+ };
+
+ tests['multiplebgs'] = function() {
+ // Setting multiple images AND a color on the background shorthand property
+ // and then querying the style.background property value for the number of
+ // occurrences of "url(" is a reliable method for detecting ACTUAL support for this!
+
+ setCss('background:url(https://),url(https://),red url(https://)');
+
+ // If the UA supports multiple backgrounds, there should be three occurrences
+ // of the string "url(" in the return value for elemStyle.background
+
+ return (/(url\s*\(.*?){3}/).test(mStyle.background);
+ };
+
+
+
+ // this will false positive in Opera Mini
+ // github.com/Modernizr/Modernizr/issues/396
+
+ tests['backgroundsize'] = function() {
+ return testPropsAll('backgroundSize');
+ };
+
+ tests['borderimage'] = function() {
+ return testPropsAll('borderImage');
+ };
+
+
+ // Super comprehensive table about all the unique implementations of
+ // border-radius: muddledramblings.com/table-of-css3-border-radius-compliance
+
+ tests['borderradius'] = function() {
+ return testPropsAll('borderRadius');
+ };
+
+ // WebOS unfortunately false positives on this test.
+ tests['boxshadow'] = function() {
+ return testPropsAll('boxShadow');
+ };
+
+ // FF3.0 will false positive on this test
+ tests['textshadow'] = function() {
+ return document.createElement('div').style.textShadow === '';
+ };
+
+
+ tests['opacity'] = function() {
+ // Browsers that actually have CSS Opacity implemented have done so
+ // according to spec, which means their return values are within the
+ // range of [0.0,1.0] - including the leading zero.
+
+ setCssAll('opacity:.55');
+
+ // The non-literal . in this regex is intentional:
+ // German Chrome returns this value as 0,55
+ // github.com/Modernizr/Modernizr/issues/#issue/59/comment/516632
+ return (/^0.55$/).test(mStyle.opacity);
+ };
+
+
+ // Note, Android < 4 will pass this test, but can only animate
+ // a single property at a time
+ // daneden.me/2011/12/putting-up-with-androids-bullshit/
+ tests['cssanimations'] = function() {
+ return testPropsAll('animationName');
+ };
+
+
+ tests['csscolumns'] = function() {
+ return testPropsAll('columnCount');
+ };
+
+
+ tests['cssgradients'] = function() {
+ /**
+ * For CSS Gradients syntax, please see:
+ * webkit.org/blog/175/introducing-css-gradients/
+ * developer.mozilla.org/en/CSS/-moz-linear-gradient
+ * developer.mozilla.org/en/CSS/-moz-radial-gradient
+ * dev.w3.org/csswg/css3-images/#gradients-
+ */
+
+ var str1 = 'background-image:',
+ str2 = 'gradient(linear,left top,right bottom,from(#9f9),to(white));',
+ str3 = 'linear-gradient(left top,#9f9, white);';
+
+ setCss(
+ // legacy webkit syntax (FIXME: remove when syntax not in use anymore)
+ (str1 + '-webkit- '.split(' ').join(str2 + str1) +
+ // standard syntax // trailing 'background-image:'
+ prefixes.join(str3 + str1)).slice(0, -str1.length)
+ );
+
+ return contains(mStyle.backgroundImage, 'gradient');
+ };
+
+
+ tests['cssreflections'] = function() {
+ return testPropsAll('boxReflect');
+ };
+
+
+ tests['csstransforms'] = function() {
+ return !!testPropsAll('transform');
+ };
+
+
+ tests['csstransforms3d'] = function() {
+
+ var ret = !!testPropsAll('perspective');
+
+ // Webkit's 3D transforms are passed off to the browser's own graphics renderer.
+ // It works fine in Safari on Leopard and Snow Leopard, but not in Chrome in
+ // some conditions. As a result, Webkit typically recognizes the syntax but
+ // will sometimes throw a false positive, thus we must do a more thorough check:
+ if ( ret && 'webkitPerspective' in docElement.style ) {
+
+ // Webkit allows this media query to succeed only if the feature is enabled.
+ // `@media (transform-3d),(-webkit-transform-3d){ ... }`
+ injectElementWithStyles('@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}', function( node, rule ) {
+ ret = node.offsetLeft === 9 && node.offsetHeight === 3;
+ });
+ }
+ return ret;
+ };
+
+
+ tests['csstransitions'] = function() {
+ return testPropsAll('transition');
+ };
+
+
+ /*>>fontface*/
+ // @font-face detection routine by Diego Perini
+ // javascript.nwbox.com/CSSSupport/
+
+ // false positives:
+ // WebOS github.com/Modernizr/Modernizr/issues/342
+ // WP7 github.com/Modernizr/Modernizr/issues/538
+ tests['fontface'] = function() {
+ var bool;
+
+ injectElementWithStyles('@font-face {font-family:"font";src:url("https://")}', function( node, rule ) {
+ var style = document.getElementById('smodernizr'),
+ sheet = style.sheet || style.styleSheet,
+ cssText = sheet ? (sheet.cssRules && sheet.cssRules[0] ? sheet.cssRules[0].cssText : sheet.cssText || '') : '';
+
+ bool = /src/i.test(cssText) && cssText.indexOf(rule.split(' ')[0]) === 0;
+ });
+
+ return bool;
+ };
+ /*>>fontface*/
+
+ // CSS generated content detection
+ tests['generatedcontent'] = function() {
+ var bool;
+
+ injectElementWithStyles(['#',mod,'{font:0/0 a}#',mod,':after{content:"',smile,'";visibility:hidden;font:3px/1 a}'].join(''), function( node ) {
+ bool = node.offsetHeight >= 3;
+ });
+
+ return bool;
+ };
+
+
+
+ // These tests evaluate support of the video/audio elements, as well as
+ // testing what types of content they support.
+ //
+ // We're using the Boolean constructor here, so that we can extend the value
+ // e.g. Modernizr.video // true
+ // Modernizr.video.ogg // 'probably'
+ //
+ // Codec values from : github.com/NielsLeenheer/html5test/blob/9106a8/index.html#L845
+ // thx to NielsLeenheer and zcorpan
+
+ // Note: in some older browsers, "no" was a return value instead of empty string.
+ // It was live in FF3.5.0 and 3.5.1, but fixed in 3.5.2
+ // It was also live in Safari 4.0.0 - 4.0.4, but fixed in 4.0.5
+
+ tests['video'] = function() {
+ var elem = document.createElement('video'),
+ bool = false;
+
+ // IE9 Running on Windows Server SKU can cause an exception to be thrown, bug #224
+ try {
+ if ( bool = !!elem.canPlayType ) {
+ bool = new Boolean(bool);
+ bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
+
+ // Without QuickTime, this value will be `undefined`. github.com/Modernizr/Modernizr/issues/546
+ bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
+
+ bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
+ }
+
+ } catch(e) { }
+
+ return bool;
+ };
+
+ tests['audio'] = function() {
+ var elem = document.createElement('audio'),
+ bool = false;
+
+ try {
+ if ( bool = !!elem.canPlayType ) {
+ bool = new Boolean(bool);
+ bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
+ bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
+
+ // Mimetypes accepted:
+ // developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements
+ // bit.ly/iphoneoscodecs
+ bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,'');
+ bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||
+ elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
+ }
+ } catch(e) { }
+
+ return bool;
+ };
+
+
+ // In FF4, if disabled, window.localStorage should === null.
+
+ // Normally, we could not test that directly and need to do a
+ // `('localStorage' in window) && ` test first because otherwise Firefox will
+ // throw bugzil.la/365772 if cookies are disabled
+
+ // Also in iOS5 Private Browsing mode, attempting to use localStorage.setItem
+ // will throw the exception:
+ // QUOTA_EXCEEDED_ERRROR DOM Exception 22.
+ // Peculiarly, getItem and removeItem calls do not throw.
+
+ // Because we are forced to try/catch this, we'll go aggressive.
+
+ // Just FWIW: IE8 Compat mode supports these features completely:
+ // www.quirksmode.org/dom/html5.html
+ // But IE8 doesn't support either with local files
+
+ tests['localstorage'] = function() {
+ try {
+ localStorage.setItem(mod, mod);
+ localStorage.removeItem(mod);
+ return true;
+ } catch(e) {
+ return false;
+ }
+ };
+
+ tests['sessionstorage'] = function() {
+ try {
+ sessionStorage.setItem(mod, mod);
+ sessionStorage.removeItem(mod);
+ return true;
+ } catch(e) {
+ return false;
+ }
+ };
+
+
+ tests['webworkers'] = function() {
+ return !!window.Worker;
+ };
+
+
+ tests['applicationcache'] = function() {
+ return !!window.applicationCache;
+ };
+
+
+ // Thanks to Erik Dahlstrom
+ tests['svg'] = function() {
+ return !!document.createElementNS && !!document.createElementNS(ns.svg, 'svg').createSVGRect;
+ };
+
+ // specifically for SVG inline in HTML, not within XHTML
+ // test page: paulirish.com/demo/inline-svg
+ tests['inlinesvg'] = function() {
+ var div = document.createElement('div');
+ div.innerHTML = '';
+ return (div.firstChild && div.firstChild.namespaceURI) == ns.svg;
+ };
+
+ // SVG SMIL animation
+ tests['smil'] = function() {
+ return !!document.createElementNS && /SVGAnimate/.test(toString.call(document.createElementNS(ns.svg, 'animate')));
+ };
+
+ // This test is only for clip paths in SVG proper, not clip paths on HTML content
+ // demo: srufaculty.sru.edu/david.dailey/svg/newstuff/clipPath4.svg
+
+ // However read the comments to dig into applying SVG clippaths to HTML content here:
+ // github.com/Modernizr/Modernizr/issues/213#issuecomment-1149491
+ tests['svgclippaths'] = function() {
+ return !!document.createElementNS && /SVGClipPath/.test(toString.call(document.createElementNS(ns.svg, 'clipPath')));
+ };
+
+ /*>>webforms*/
+ // input features and input types go directly onto the ret object, bypassing the tests loop.
+ // Hold this guy to execute in a moment.
+ function webforms() {
+ /*>>input*/
+ // Run through HTML5's new input attributes to see if the UA understands any.
+ // We're using f which is the element created early on
+ // Mike Taylr has created a comprehensive resource for testing these attributes
+ // when applied to all input types:
+ // miketaylr.com/code/input-type-attr.html
+ // spec: www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary
+
+ // Only input placeholder is tested while textarea's placeholder is not.
+ // Currently Safari 4 and Opera 11 have support only for the input placeholder
+ // Both tests are available in feature-detects/forms-placeholder.js
+ Modernizr['input'] = (function( props ) {
+ for ( var i = 0, len = props.length; i < len; i++ ) {
+ attrs[ props[i] ] = !!(props[i] in inputElem);
+ }
+ if (attrs.list){
+ // safari false positive's on datalist: webk.it/74252
+ // see also github.com/Modernizr/Modernizr/issues/146
+ attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
+ }
+ return attrs;
+ })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
+ /*>>input*/
+
+ /*>>inputtypes*/
+ // Run through HTML5's new input types to see if the UA understands any.
+ // This is put behind the tests runloop because it doesn't return a
+ // true/false like all the other tests; instead, it returns an object
+ // containing each input type with its corresponding true/false value
+
+ // Big thanks to @miketaylr for the html5 forms expertise. miketaylr.com/
+ Modernizr['inputtypes'] = (function(props) {
+
+ for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
+
+ inputElem.setAttribute('type', inputElemType = props[i]);
+ bool = inputElem.type !== 'text';
+
+ // We first check to see if the type we give it sticks..
+ // If the type does, we feed it a textual value, which shouldn't be valid.
+ // If the value doesn't stick, we know there's input sanitization which infers a custom UI
+ if ( bool ) {
+
+ inputElem.value = smile;
+ inputElem.style.cssText = 'position:absolute;visibility:hidden;';
+
+ if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
+
+ docElement.appendChild(inputElem);
+ defaultView = document.defaultView;
+
+ // Safari 2-4 allows the smiley as a value, despite making a slider
+ bool = defaultView.getComputedStyle &&
+ defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
+ // Mobile android web browser has false positive, so must
+ // check the height to see if the widget is actually there.
+ (inputElem.offsetHeight !== 0);
+
+ docElement.removeChild(inputElem);
+
+ } else if ( /^(search|tel)$/.test(inputElemType) ){
+ // Spec doesn't define any special parsing or detectable UI
+ // behaviors so we pass these through as true
+
+ // Interestingly, opera fails the earlier test, so it doesn't
+ // even make it here.
+
+ } else if ( /^(url|email)$/.test(inputElemType) ) {
+ // Real url and email support comes with prebaked validation.
+ bool = inputElem.checkValidity && inputElem.checkValidity() === false;
+
+ } else {
+ // If the upgraded input compontent rejects the :) text, we got a winner
+ bool = inputElem.value != smile;
+ }
+ }
+
+ inputs[ props[i] ] = !!bool;
+ }
+ return inputs;
+ })('search tel url email datetime date month week time datetime-local number range color'.split(' '));
+ /*>>inputtypes*/
+ }
+ /*>>webforms*/
+
+
+ // End of test definitions
+ // -----------------------
+
+
+
+ // Run through all tests and detect their support in the current UA.
+ // todo: hypothetically we could be doing an array of tests and use a basic loop here.
+ for ( var feature in tests ) {
+ if ( hasOwnProp(tests, feature) ) {
+ // run the test, throw the return value into the Modernizr,
+ // then based on that boolean, define an appropriate className
+ // and push it into an array of classes we'll join later.
+ featureName = feature.toLowerCase();
+ Modernizr[featureName] = tests[feature]();
+
+ classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
+ }
+ }
+
+ /*>>webforms*/
+ // input tests need to run.
+ Modernizr.input || webforms();
+ /*>>webforms*/
+
+
+ /**
+ * addTest allows the user to define their own feature tests
+ * the result will be added onto the Modernizr object,
+ * as well as an appropriate className set on the html element
+ *
+ * @param feature - String naming the feature
+ * @param test - Function returning true if feature is supported, false if not
+ */
+ Modernizr.addTest = function ( feature, test ) {
+ if ( typeof feature == 'object' ) {
+ for ( var key in feature ) {
+ if ( hasOwnProp( feature, key ) ) {
+ Modernizr.addTest( key, feature[ key ] );
+ }
+ }
+ } else {
+
+ feature = feature.toLowerCase();
+
+ if ( Modernizr[feature] !== undefined ) {
+ // we're going to quit if you're trying to overwrite an existing test
+ // if we were to allow it, we'd do this:
+ // var re = new RegExp("\\b(no-)?" + feature + "\\b");
+ // docElement.className = docElement.className.replace( re, '' );
+ // but, no rly, stuff 'em.
+ return Modernizr;
+ }
+
+ test = typeof test == 'function' ? test() : test;
+
+ if (typeof enableClasses !== "undefined" && enableClasses) {
+ docElement.className += ' ' + (test ? '' : 'no-') + feature;
+ }
+ Modernizr[feature] = test;
+
+ }
+
+ return Modernizr; // allow chaining.
+ };
+
+
+ // Reset modElem.cssText to nothing to reduce memory footprint.
+ setCss('');
+ modElem = inputElem = null;
+
+ /*>>shiv*/
+ /*! HTML5 Shiv v3.6.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
+ ;(function(window, document) {
+ /*jshint evil:true */
+ /** Preset options */
+ var options = window.html5 || {};
+
+ /** Used to skip problem elements */
+ var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
+
+ /** Not all elements can be cloned in IE **/
+ var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
+
+ /** Detect whether the browser supports default html5 styles */
+ var supportsHtml5Styles;
+
+ /** Name of the expando, to work with multiple documents or to re-shiv one document */
+ var expando = '_html5shiv';
+
+ /** The id for the the documents expando */
+ var expanID = 0;
+
+ /** Cached data for each document */
+ var expandoData = {};
+
+ /** Detect whether the browser supports unknown elements */
+ var supportsUnknownElements;
+
+ (function() {
+ try {
+ var a = document.createElement('a');
+ a.innerHTML = '';
+ //if the hidden property is implemented we can assume, that the browser supports basic HTML5 Styles
+ supportsHtml5Styles = ('hidden' in a);
+
+ supportsUnknownElements = a.childNodes.length == 1 || (function() {
+ // assign a false positive if unable to shiv
+ (document.createElement)('a');
+ var frag = document.createDocumentFragment();
+ return (
+ typeof frag.cloneNode == 'undefined' ||
+ typeof frag.createDocumentFragment == 'undefined' ||
+ typeof frag.createElement == 'undefined'
+ );
+ }());
+ } catch(e) {
+ supportsHtml5Styles = true;
+ supportsUnknownElements = true;
+ }
+
+ }());
+
+ /*--------------------------------------------------------------------------*/
+
+ /**
+ * Creates a style sheet with the given CSS text and adds it to the document.
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @param {String} cssText The CSS text.
+ * @returns {StyleSheet} The style element.
+ */
+ function addStyleSheet(ownerDocument, cssText) {
+ var p = ownerDocument.createElement('p'),
+ parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
+
+ p.innerHTML = 'x';
+ return parent.insertBefore(p.lastChild, parent.firstChild);
+ }
+
+ /**
+ * Returns the value of `html5.elements` as an array.
+ * @private
+ * @returns {Array} An array of shived element node names.
+ */
+ function getElements() {
+ var elements = html5.elements;
+ return typeof elements == 'string' ? elements.split(' ') : elements;
+ }
+
+ /**
+ * Returns the data associated to the given document
+ * @private
+ * @param {Document} ownerDocument The document.
+ * @returns {Object} An object of data.
+ */
+ function getExpandoData(ownerDocument) {
+ var data = expandoData[ownerDocument[expando]];
+ if (!data) {
+ data = {};
+ expanID++;
+ ownerDocument[expando] = expanID;
+ expandoData[expanID] = data;
+ }
+ return data;
+ }
+
+ /**
+ * returns a shived element for the given nodeName and document
+ * @memberOf html5
+ * @param {String} nodeName name of the element
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived element.
+ */
+ function createElement(nodeName, ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createElement(nodeName);
+ }
+ if (!data) {
+ data = getExpandoData(ownerDocument);
+ }
+ var node;
+
+ if (data.cache[nodeName]) {
+ node = data.cache[nodeName].cloneNode();
+ } else if (saveClones.test(nodeName)) {
+ node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
+ } else {
+ node = data.createElem(nodeName);
+ }
+
+ // Avoid adding some elements to fragments in IE < 9 because
+ // * Attributes like `name` or `type` cannot be set/changed once an element
+ // is inserted into a document/fragment
+ // * Link elements with `src` attributes that are inaccessible, as with
+ // a 403 response, will cause the tab/window to crash
+ // * Script elements appended to fragments will execute when their `src`
+ // or `text` property is set
+ return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node;
+ }
+
+ /**
+ * returns a shived DocumentFragment for the given document
+ * @memberOf html5
+ * @param {Document} ownerDocument The context document.
+ * @returns {Object} The shived DocumentFragment.
+ */
+ function createDocumentFragment(ownerDocument, data){
+ if (!ownerDocument) {
+ ownerDocument = document;
+ }
+ if(supportsUnknownElements){
+ return ownerDocument.createDocumentFragment();
+ }
+ data = data || getExpandoData(ownerDocument);
+ var clone = data.frag.cloneNode(),
+ i = 0,
+ elems = getElements(),
+ l = elems.length;
+ for(;i>shiv*/
+
+ // Assign private properties to the return object with prefix
+ Modernizr._version = version;
+
+ // expose these for the plugin API. Look in the source for how to join() them against your input
+ /*>>prefixes*/
+ Modernizr._prefixes = prefixes;
+ /*>>prefixes*/
+ /*>>domprefixes*/
+ Modernizr._domPrefixes = domPrefixes;
+ Modernizr._cssomPrefixes = cssomPrefixes;
+ /*>>domprefixes*/
+
+ /*>>mq*/
+ // Modernizr.mq tests a given media query, live against the current state of the window
+ // A few important notes:
+ // * If a browser does not support media queries at all (eg. oldIE) the mq() will always return false
+ // * A max-width or orientation query will be evaluated against the current state, which may change later.
+ // * You must specify values. Eg. If you are testing support for the min-width media query use:
+ // Modernizr.mq('(min-width:0)')
+ // usage:
+ // Modernizr.mq('only screen and (max-width:768)')
+ Modernizr.mq = testMediaQuery;
+ /*>>mq*/
+
+ /*>>hasevent*/
+ // Modernizr.hasEvent() detects support for a given event, with an optional element to test on
+ // Modernizr.hasEvent('gesturestart', elem)
+ Modernizr.hasEvent = isEventSupported;
+ /*>>hasevent*/
+
+ /*>>testprop*/
+ // Modernizr.testProp() investigates whether a given style property is recognized
+ // Note that the property names must be provided in the camelCase variant.
+ // Modernizr.testProp('pointerEvents')
+ Modernizr.testProp = function(prop){
+ return testProps([prop]);
+ };
+ /*>>testprop*/
+
+ /*>>testallprops*/
+ // Modernizr.testAllProps() investigates whether a given style property,
+ // or any of its vendor-prefixed variants, is recognized
+ // Note that the property names must be provided in the camelCase variant.
+ // Modernizr.testAllProps('boxSizing')
+ Modernizr.testAllProps = testPropsAll;
+ /*>>testallprops*/
+
+
+ /*>>teststyles*/
+ // Modernizr.testStyles() allows you to add custom styles to the document and test an element afterwards
+ // Modernizr.testStyles('#modernizr { position:absolute }', function(elem, rule){ ... })
+ Modernizr.testStyles = injectElementWithStyles;
+ /*>>teststyles*/
+
+
+ /*>>prefixed*/
+ // Modernizr.prefixed() returns the prefixed or nonprefixed property name variant of your input
+ // Modernizr.prefixed('boxSizing') // 'MozBoxSizing'
+
+ // Properties must be passed as dom-style camelcase, rather than `box-sizing` hypentated style.
+ // Return values will also be the camelCase variant, if you need to translate that to hypenated style use:
+ //
+ // str.replace(/([A-Z])/g, function(str,m1){ return '-' + m1.toLowerCase(); }).replace(/^ms-/,'-ms-');
+
+ // If you're trying to ascertain which transition end event to bind to, you might do something like...
+ //
+ // var transEndEventNames = {
+ // 'WebkitTransition' : 'webkitTransitionEnd',
+ // 'MozTransition' : 'transitionend',
+ // 'OTransition' : 'oTransitionEnd',
+ // 'msTransition' : 'MSTransitionEnd',
+ // 'transition' : 'transitionend'
+ // },
+ // transEndEventName = transEndEventNames[ Modernizr.prefixed('transition') ];
+
+ Modernizr.prefixed = function(prop, obj, elem){
+ if(!obj) {
+ return testPropsAll(prop, 'pfx');
+ } else {
+ // Testing DOM property e.g. Modernizr.prefixed('requestAnimationFrame', window) // 'mozRequestAnimationFrame'
+ return testPropsAll(prop, obj, elem);
+ }
+ };
+ /*>>prefixed*/
+
+
+ /*>>cssclasses*/
+ // Remove "no-js" class from element, if it exists:
+ docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
+
+ // Add the new classes to the element.
+ (enableClasses ? ' js ' + classes.join(' ') : '');
+ /*>>cssclasses*/
+
+ return Modernizr;
+
+})(this, this.document);
diff --git a/packages/Modernizr.2.6.2/Modernizr.2.6.2.nupkg b/packages/Modernizr.2.6.2/Modernizr.2.6.2.nupkg
new file mode 100644
index 00000000..df20288d
Binary files /dev/null and b/packages/Modernizr.2.6.2/Modernizr.2.6.2.nupkg differ
diff --git a/packages/Modernizr.2.6.2/Tools/common.ps1 b/packages/Modernizr.2.6.2/Tools/common.ps1
new file mode 100644
index 00000000..b061c65d
--- /dev/null
+++ b/packages/Modernizr.2.6.2/Tools/common.ps1
@@ -0,0 +1,75 @@
+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
+ }
+}
+
+# Extract the version number from the file in the package's content\scripts folder
+$packageScriptsFolder = Join-Path $installPath Content\Scripts
+$modernizrFileName = Join-Path $packageScriptsFolder "modernizr-*.js" | Get-ChildItem -Exclude "*.min.js","*-vsdoc.js" | Split-Path -Leaf
+$modernizrFileNameRegEx = "modernizr-((?:\d+\.)?(?:\d+\.)?(?:\d+\.)?(?:\d+)).js"
+$modernizrFileName -match $modernizrFileNameRegEx
+$ver = $matches[1]
+
+# 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/Modernizr.2.6.2/Tools/install.ps1 b/packages/Modernizr.2.6.2/Tools/install.ps1
new file mode 100644
index 00000000..8a71107d
--- /dev/null
+++ b/packages/Modernizr.2.6.2/Tools/install.ps1
@@ -0,0 +1,12 @@
+param($installPath, $toolsPath, $package, $project)
+
+. (Join-Path $toolsPath common.ps1)
+
+if ($scriptsFolderProjectItem -eq $null) {
+ # No Scripts folder
+ Write-Host "No Scripts folder found"
+ exit
+}
+
+# Update the _references.js file
+AddOrUpdate-Reference $scriptsFolderProjectItem $modernizrFileNameRegEx $modernizrFileName
\ No newline at end of file
diff --git a/packages/Modernizr.2.6.2/Tools/uninstall.ps1 b/packages/Modernizr.2.6.2/Tools/uninstall.ps1
new file mode 100644
index 00000000..13c5c164
--- /dev/null
+++ b/packages/Modernizr.2.6.2/Tools/uninstall.ps1
@@ -0,0 +1,6 @@
+param($installPath, $toolsPath, $package, $project)
+
+. (Join-Path $toolsPath common.ps1)
+
+# Update the _references.js file
+Remove-Reference $scriptsFolderProjectItem $modernizrFileNameRegEx
\ No newline at end of file
diff --git a/packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg b/packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg
new file mode 100644
index 00000000..9f9b265a
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/Newtonsoft.Json.5.0.8.nupkg differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll
new file mode 100644
index 00000000..2024b03b
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.xml
new file mode 100644
index 00000000..284b5aa6
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/net20/Newtonsoft.Json.xml
@@ -0,0 +1,8968 @@
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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).
+
+
+
+ Instructs the to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+
+
+
+
+ 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).
+
+
+
+ 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.
+
+
+
+
+
+ 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using .
+
+ 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 using formatting.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ A JSON string of the XmlNode.
+
+
+
+ Serializes the XML node to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/lib/net35/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.dll
new file mode 100644
index 00000000..a7dfbe06
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.xml
new file mode 100644
index 00000000..de91ecdb
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/net35/Newtonsoft.Json.xml
@@ -0,0 +1,8105 @@
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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).
+
+
+
+ Instructs the to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+
+
+
+
+ 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).
+
+
+
+ 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.
+
+
+
+
+
+ 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using .
+
+ 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 using formatting.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ A JSON string of the XmlNode.
+
+
+
+ Serializes the XML node to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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 using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output is formatted.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/lib/net40/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.dll
new file mode 100644
index 00000000..0a159151
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.xml
new file mode 100644
index 00000000..a324ed36
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/net40/Newtonsoft.Json.xml
@@ -0,0 +1,8380 @@
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 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.
+
+
+
+
+ Instructs the to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+
+ 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).
+
+
+
+ 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.
+
+
+
+
+
+ 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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.
+
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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.
+ Serialization will happen on a new thread.
+
+ 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 formatting.
+ Serialization will happen on a new thread.
+
+ 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 formatting and a collection of .
+ Serialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+ 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 using formatting.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ A JSON string of the XmlNode.
+
+
+
+ Serializes the XML node to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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 using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output is formatted.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/lib/net45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.dll
new file mode 100644
index 00000000..52306fdb
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.xml
new file mode 100644
index 00000000..a414d08a
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/net45/Newtonsoft.Json.xml
@@ -0,0 +1,8380 @@
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 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.
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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.
+ Serialization will happen on a new thread.
+
+ 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 formatting.
+ Serialization will happen on a new thread.
+
+ 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 formatting and a collection of .
+ Serialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+ 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 using formatting.
+
+ The node to serialize.
+ Indicates how the output is formatted.
+ A JSON string of the XmlNode.
+
+
+
+ Serializes the XML node to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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 using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output is formatted.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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 to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 child 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Get and set values for a using dynamic methods.
+
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/lib/netcore45/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.dll
new file mode 100644
index 00000000..b278f27f
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.xml
new file mode 100644
index 00000000..5638e0c4
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/netcore45/Newtonsoft.Json.xml
@@ -0,0 +1,7936 @@
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+
+ 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.
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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.
+ Serialization will happen on a new thread.
+
+ 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 formatting.
+ Serialization will happen on a new thread.
+
+ 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 formatting and a collection of .
+ Serialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+ 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 using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output is formatted.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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 to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 explicit conversion 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 child 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll
new file mode 100644
index 00000000..2156ff18
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml
new file mode 100644
index 00000000..07bb6dcb
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/portable-net40+sl4+wp7+win8/Newtonsoft.Json.xml
@@ -0,0 +1,7532 @@
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using .
+
+ 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.
+
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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 to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 explicit conversion 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 child 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll b/packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll
new file mode 100644
index 00000000..c0168188
Binary files /dev/null and b/packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.dll differ
diff --git a/packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml b/packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml
new file mode 100644
index 00000000..e1687d9c
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/lib/portable-net45+wp80+win8/Newtonsoft.Json.xml
@@ -0,0 +1,7904 @@
+
+
+
+ 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.
+
+
+
+ Sets the state of the JsonWriter,
+
+ The JsonToken being written.
+ The value being written.
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 using formatting.
+
+ 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 formatting and 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 .
+
+ 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 formatting and .
+
+ 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 type, formatting and .
+
+ 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.
+ Serialization will happen on a new thread.
+
+ 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 formatting.
+ Serialization will happen on a new thread.
+
+ 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 formatting and a collection of .
+ Serialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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 using a collection of .
+
+ 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 using .
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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.
+ Deserialization will happen on a new thread.
+
+ 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 using .
+ Deserialization will happen on a new thread.
+
+ 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 using .
+
+ 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 using .
+
+ 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 using formatting.
+
+ The node to convert to JSON.
+ Indicates how the output is formatted.
+ A JSON string of the XNode.
+
+
+
+ Serializes the to a JSON string using formatting and omits the root object if is true.
+
+ 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 specified by .
+
+ 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 specified by
+ and writes a .NET array attribute for collections.
+
+ 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
+
+
+
+ Gets or sets a function that creates default .
+ Default settings are automatically used by serialization methods on ,
+ and and on .
+ To serialize without using any default settings create a with
+ .
+
+
+
+
+ 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 to deserialize properties with no matching class member into the specified collection
+ and write values during serialization.
+
+
+
+
+ Initializes a new instance of the class.
+
+
+
+
+ Gets or sets a value that indicates whether to write extension data when serializing the object.
+
+
+ true to write extension data when serializing the object; otherwise, false. The default is true.
+
+
+
+
+ Gets or sets a value that indicates whether to read extension data when deserializing the object.
+
+
+ true to read extension data when deserializing the object; otherwise, false. The default is true.
+
+
+
+
+ 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.
+ The will not use default settings.
+
+
+ A new instance.
+ The will not use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will not use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will not use default settings.
+
+
+
+
+ Creates a new instance.
+ The will use default settings.
+
+
+ A new instance.
+ The will use default settings.
+
+
+
+
+ Creates a new instance using the specified .
+ The will use default settings.
+
+ The settings to be applied to the .
+
+ A new instance using the specified .
+ The will use default settings.
+
+
+
+
+ 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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 explicit conversion 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.
+
+
+
+ Performs an implicit conversion from to .
+
+ The value to create a from.
+ 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 child 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 child 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.
+
+
+
+ Returns an enumerator that iterates through the collection.
+
+
+ A that can be used to iterate through the collection.
+
+
+
+
+ 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.
+
+
+
+
+ Copies to.
+
+ The array.
+ Index of the array.
+
+
+
+ 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.
+
+
+
+
+
+ Gets a value indicating whether the is read-only.
+
+ true if the is read-only; otherwise, false.
+
+
+
+ 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 child 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 value.
+ An error will raised if the value cannot be written as a single JSON token.
+
+ The value to write.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ 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.
+
+
+
+ Sets extension data for an object during deserialization.
+
+ The object to set extension data on.
+ The extension data key.
+ The extension data value.
+
+
+
+ Gets extension data for an object during serialization.
+
+ The object to set extension data on.
+
+
+
+ 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.
+
+
+
+ Gets or sets the extension data setter.
+
+
+
+
+ Gets or sets the extension data getter.
+
+
+
+
+ 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.8/tools/install.ps1 b/packages/Newtonsoft.Json.5.0.8/tools/install.ps1
new file mode 100644
index 00000000..dfc78f05
--- /dev/null
+++ b/packages/Newtonsoft.Json.5.0.8/tools/install.ps1
@@ -0,0 +1,93 @@
+param($installPath, $toolsPath, $package, $project)
+
+# open json.net splash page on package install
+# don't open if json.net is installed as a dependency
+
+try
+{
+ $url = "http://james.newtonking.com/json"
+ $dte2 = Get-Interface $dte ([EnvDTE80.DTE2])
+
+ if ($dte2.ActiveWindow.Caption -eq "Package Manager Console")
+ {
+ # user is installing from VS NuGet console
+ # get reference to the window, the console host and the input history
+ # show webpage if "install-package newtonsoft.json" was last input
+
+ $consoleWindow = $(Get-VSComponentModel).GetService([NuGetConsole.IPowerConsoleWindow])
+
+ $props = $consoleWindow.GetType().GetProperties([System.Reflection.BindingFlags]::Instance -bor `
+ [System.Reflection.BindingFlags]::NonPublic)
+
+ $prop = $props | ? { $_.Name -eq "ActiveHostInfo" } | select -first 1
+ if ($prop -eq $null) { return }
+
+ $hostInfo = $prop.GetValue($consoleWindow)
+ if ($hostInfo -eq $null) { return }
+
+ $history = $hostInfo.WpfConsole.InputHistory.History
+
+ $lastCommand = $history | select -last 1
+
+ if ($lastCommand)
+ {
+ $lastCommand = $lastCommand.Trim().ToLower()
+ if ($lastCommand.StartsWith("install-package") -and $lastCommand.Contains("newtonsoft.json"))
+ {
+ $dte2.ItemOperations.Navigate($url) | Out-Null
+ }
+ }
+ }
+ else
+ {
+ # user is installing from VS NuGet dialog
+ # get reference to the window, then smart output console provider
+ # show webpage if messages in buffered console contains "installing...newtonsoft.json" in last operation
+
+ $instanceField = [NuGet.Dialog.PackageManagerWindow].GetField("CurrentInstance", [System.Reflection.BindingFlags]::Static -bor `
+ [System.Reflection.BindingFlags]::NonPublic)
+ $consoleField = [NuGet.Dialog.PackageManagerWindow].GetField("_smartOutputConsoleProvider", [System.Reflection.BindingFlags]::Instance -bor `
+ [System.Reflection.BindingFlags]::NonPublic)
+ if ($instanceField -eq $null -or $consoleField -eq $null) { return }
+
+ $instance = $instanceField.GetValue($null)
+ if ($instance -eq $null) { return }
+
+ $consoleProvider = $consoleField.GetValue($instance)
+ if ($consoleProvider -eq $null) { return }
+
+ $console = $consoleProvider.CreateOutputConsole($false)
+
+ $messagesField = $console.GetType().GetField("_messages", [System.Reflection.BindingFlags]::Instance -bor `
+ [System.Reflection.BindingFlags]::NonPublic)
+ if ($messagesField -eq $null) { return }
+
+ $messages = $messagesField.GetValue($console)
+ if ($messages -eq $null) { return }
+
+ $operations = $messages -split "=============================="
+
+ $lastOperation = $operations | select -last 1
+
+ if ($lastOperation)
+ {
+ $lastOperation = $lastOperation.ToLower()
+
+ $lines = $lastOperation -split "`r`n"
+
+ $installMatch = $lines | ? { $_.StartsWith("------- installing...newtonsoft.json ") } | select -first 1
+
+ if ($installMatch)
+ {
+ $dte2.ItemOperations.Navigate($url) | Out-Null
+ }
+ }
+ }
+}
+catch
+{
+ # stop potential errors from bubbling up
+ # worst case the splash page won't open
+}
+
+# yolo
\ No newline at end of file
diff --git a/packages/WebGrease.1.5.2/WebGrease.1.5.2.nupkg b/packages/WebGrease.1.5.2/WebGrease.1.5.2.nupkg
new file mode 100644
index 00000000..ce50bd5e
Binary files /dev/null and b/packages/WebGrease.1.5.2/WebGrease.1.5.2.nupkg differ
diff --git a/packages/WebGrease.1.5.2/lib/WebGrease.dll b/packages/WebGrease.1.5.2/lib/WebGrease.dll
new file mode 100644
index 00000000..1d308f8e
Binary files /dev/null and b/packages/WebGrease.1.5.2/lib/WebGrease.dll differ
diff --git a/packages/WebGrease.1.5.2/tools/WG.exe b/packages/WebGrease.1.5.2/tools/WG.exe
new file mode 100644
index 00000000..c6120a99
Binary files /dev/null and b/packages/WebGrease.1.5.2/tools/WG.exe differ
diff --git a/packages/WebGrease.1.5.2/tools/install.ps1 b/packages/WebGrease.1.5.2/tools/install.ps1
new file mode 100644
index 00000000..df7a527a
--- /dev/null
+++ b/packages/WebGrease.1.5.2/tools/install.ps1
@@ -0,0 +1,90 @@
+param($installPath, $toolsPath, $package, $project)
+
+# Return a relative path with reference to root as Uri object
+# $rootPath - root path
+# $relativePath - relative path
+# $appendToRelativePath - Optional parameter. If provided will be appended to relative Path using Path.Combine()
+Function GetRelativeUri($rootPath, $relativePath, $appendToRelativePath)
+{
+ if($rootPath -eq $null)
+ {
+ return $null
+ }
+
+ if($relativePath -eq $null)
+ {
+ return $null
+ }
+
+ $rootUri = new-object system.Uri($rootPath)
+ $targetPath = $relativePath
+
+ # If appendToRelativePath is provided then use it
+ if($appendToRelativePath -ne $null)
+ {
+ $targetPath = [io.path]::Combine($relativePath, $appendToRelativePath)
+ }
+
+ $targetUri = new-object system.Uri($targetPath)
+ $relativeUri = $rootUri.MakeRelativeUri($targetUri)
+
+ return $relativeUri
+}
+
+# Visual Studio execution done via NuGet Package Manager
+Function VSExecution($installPath, $package, $project)
+{
+ #$project.DTE.ExecuteCommand("File.SaveAll", [system.string]::Empty)
+
+ # Get the msbuild version of the project and add the import
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+
+ # add a property for us to be able to reference the path where the package was installed
+ $relativePackageUri = GetRelativeUri $project.FullName $installPath"\lib"
+
+ $msbuild.Xml.AddProperty("WebGreaseLibPath", $relativePackageUri.ToString().Replace([System.IO.Path]::AltDirectorySeparatorChar, [System.IO.Path]::DirectorySeparatorChar))
+
+ # save the project
+ $project.Save()
+}
+
+# Command line execution done by any external tool (For example, NuGetUpdater)
+# $package - package id
+# $project - parameter value is path to Project file in this case.
+Function CommandLineExecution($installPath, $package, $project)
+{
+ [Reflection.Assembly]::LoadWithPartialName("Microsoft.Build")
+ [Reflection.Assembly]::LoadWithPartialName("System.Xml")
+ [Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq")
+
+ # Get the msbuild version of the project and add the import
+ $projXDoc = [System.Xml.Linq.XDocument]::Load($project)
+
+ $defaultNameSpace = $projXDoc.Root.GetDefaultNamespace()
+
+ $propertyGroup = [System.Xml.Linq.XName]::Get("PropertyGroup", $defaultNameSpace.NamespaceName)
+ $webGreaseBuildLocation = [System.Xml.Linq.XName]::Get("WebGreaseLibPath", $defaultNameSpace.NamespaceName)
+
+ # add a property for us to be able to reference the path where the package was installed
+ $relativePackageUri = GetRelativeUri $project.FullName $installPath"\lib"
+
+ $propGroupElement = $projXDoc.Root.Elements($propertyGroup) | Select-Object -First 1
+ IF ($propGroupElement -ne $null)
+ {
+ $newElement = new-object System.Xml.Linq.XElement($webGreaseBuildLocation, $relativePackageUri.ToString().Replace([System.IO.Path]::AltDirectorySeparatorChar, [System.IO.Path]::DirectorySeparatorChar))
+ $propGroupElement.Add($newElement)
+ }
+
+ # save the project
+ $projXDoc.Save($project)
+}
+
+
+IF ($project -is [system.string])
+{
+ CommandLineExecution $installPath $package $project
+}
+ELSE
+{
+ VSExecution $installPath $package $project
+}
diff --git a/packages/WebGrease.1.5.2/tools/uninstall.ps1 b/packages/WebGrease.1.5.2/tools/uninstall.ps1
new file mode 100644
index 00000000..99dec621
--- /dev/null
+++ b/packages/WebGrease.1.5.2/tools/uninstall.ps1
@@ -0,0 +1,63 @@
+param($installPath, $toolsPath, $package, $project)
+
+# Visual Studio execution done via NuGet Package Manager
+Function VSExecution($toolsPath, $project)
+{
+
+
+ $project.DTE.ExecuteCommand("File.SaveAll", [system.string]::Empty)
+
+ # Get the msbuild version of the project and add the import
+ $msbuild = [Microsoft.Build.Evaluation.ProjectCollection]::GlobalProjectCollection.GetLoadedProjects($project.FullName) | Select-Object -First 1
+
+ # now remove our property that points to this package path, "WebGreaseLibPath"
+ foreach ($property in $msbuild.Properties)
+ {
+ if ($property.Name -eq "WebGreaseLibPath")
+ {
+ $propertyToRemove = $property
+ }
+ }
+
+ if ($propertyToRemove -ne $null)
+ {
+ $propertyToRemove.Project.RemoveProperty($propertyToRemove)
+ $project.Save()
+ }
+
+ $project.DTE.ExecuteCommand("File.SaveAll", [system.string]::Empty)
+}
+
+# Command line execution done by any external tool (For example, NuGetUpdater)
+# $project - parameter value is path to Project file in this case.
+Function CommandLineExecution($toolsPath, $project)
+{
+ [Reflection.Assembly]::LoadWithPartialName("System.Xml")
+ [Reflection.Assembly]::LoadWithPartialName("System.Xml.Linq")
+
+
+
+ $projXDoc = [System.Xml.Linq.XDocument]::Load($project)
+ $defaultNameSpace = $projXDoc.Root.GetDefaultNamespace()
+ $xmlReader = $projXDoc.CreateReader()
+ $namespaceManager = new-object System.Xml.XmlNamespaceManager($xmlReader.NameTable)
+ $namespaceManager.AddNamespace("my", $defaultNameSpace.NamespaceName)
+
+ $msnRfPackageElement = [System.Xml.XPath.Extensions]::XPathSelectElement($projXDoc.Root, "//my:WebGreaseLibPath", $namespaceManager)
+ if($msnRfPackageElement -ne $null)
+ {
+ $msnRfPackageElement.Remove()
+ }
+
+ # save the project
+ $projXDoc.Save($project)
+}
+
+IF ($project -is [system.string])
+{
+ CommandLineExecution $toolsPath $project
+}
+ELSE
+{
+ VSExecution $toolsPath $project
+}
diff --git a/packages/jQuery.2.0.3/Content/Scripts/jquery-2.0.3-vsdoc.js b/packages/jQuery.2.0.3/Content/Scripts/jquery-2.0.3-vsdoc.js
new file mode 100644
index 00000000..48caca16
--- /dev/null
+++ b/packages/jQuery.2.0.3/Content/Scripts/jquery-2.0.3-vsdoc.js
@@ -0,0 +1,6632 @@
+/*
+* This file has been generated to support Visual Studio IntelliSense.
+* You should not use this file at runtime inside the browser--it is only
+* intended to be used only for design-time IntelliSense. Please use the
+* standard jQuery library for all runtime use.
+*
+* Comment version: 2.0.3
+*/
+
+/*!
+* jQuery JavaScript Library v2.0.3
+* http://jquery.com/
+*
+* Includes Sizzle.js
+* http://sizzlejs.com/
+*
+* Copyright 2005, 2012 jQuery Foundation, Inc. and other contributors
+* Released under the MIT license
+* http://jquery.org/license
+*
+*/
+
+(function (window, undefined) {
+ var jQuery = function (selector, context) {
+ ///
+ /// 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 - $(elementArray)
+ ///
1.4 - $(object)
+ ///
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, attributes)
+ ///
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,
+ stopped,
+ index = 0,
+ length = animationPrefilters.length,
+ deferred = jQuery.Deferred().always(function () {
+ // don't match elem in the :animated selector
+ delete tick.elem;
+ }),
+ tick = function () {
+ if (stopped) {
+ return false;
+ }
+ var currentTime = fxNow || createFxNow(),
+ remaining = Math.max(0, animation.startTime + animation.duration - currentTime),
+ // archaic crash bug won't allow us to use 1 - ( 0.5 || 0 ) (#12497)
+ temp = remaining / animation.duration || 0,
+ percent = 1 - temp,
+ 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) {
+ 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;
+ if (stopped) {
+ return this;
+ }
+ stopped = true;
+ 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, {
+ elem: elem,
+ anim: animation,
+ queue: animation.opts.queue
+ })
+ );
+
+ // 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") {
+ if (!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;
+ },
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function (fn) {
+ return fn ? jQuery.inArray(fn, list) > -1 : !!(list && list.length);
+ },
+ // Remove all callbacks from the list
+ empty: function () {
+ list = [];
+ firingLength = 0;
+ 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) {
+ ///
+ /// A constructor function that returns a chainable utility object with methods to register multiple callbacks into callback queues, invoke callback queues, and relay the success or failure state of any synchronous or asynchronous function.
+ ///
+ ///
+ /// A function that is called just before the constructor returns.
+ ///
+ ///
+
+ 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 = jQuery.isFunction(fns[i]) && fns[i];
+ // deferred[ done | fail | progress ] for forwarding actions to newDefer
+ deferred[tuple[1]](function () {
+ var returned = fn && 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 === promise ? newDefer.promise() : this, fn ? [returned] : arguments);
+ }
+ });
+ });
+ 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 ]
+ deferred[tuple[0]] = function () {
+ deferred[tuple[0] + "With"](this === deferred ? promise : this, arguments);
+ return this;
+ };
+ 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.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 data_priv.access(elem, name, data);
+ };
+ jQuery._evalUrl = function (url) {
+
+ return jQuery.ajax({
+ url: url,
+ type: "GET",
+ dataType: "text",
+ async: false,
+ global: false,
+ success: jQuery.globalEval
+ });
+ };
+ jQuery._queueHooks = function (elem, type) {
+
+ var key = type + "queueHooks";
+ return data_priv.get(elem, key) || data_priv.access(elem, key, {
+ empty: jQuery.Callbacks("once memory").add(function () {
+ data_priv.remove(elem, [type + "queue", key]);
+ })
+ });
+ };
+ jQuery._removeData = function (elem, name) {
+
+ data_priv.remove(elem, name);
+ };
+ jQuery.acceptData = function (owner) {
+
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType ?
+ owner.nodeType === 1 || owner.nodeType === 9 : true;
+ };
+ jQuery.access = function (elems, fn, key, value, chainable, emptyGet, raw) {
+
+ var i = 0,
+ length = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if (jQuery.type(key) === "object") {
+ chainable = true;
+ for (i in key) {
+ jQuery.access(elems, fn, i, key[i], true, emptyGet, raw);
+ }
+
+ // Sets one value
+ } else if (value !== undefined) {
+ chainable = true;
+
+ if (!jQuery.isFunction(value)) {
+ raw = true;
+ }
+
+ if (bulk) {
+ // Bulk operations run against the entire set
+ if (raw) {
+ fn.call(elems, value);
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function (elem, key, value) {
+ return bulk.call(jQuery(elem), value);
+ };
+ }
+ }
+
+ if (fn) {
+ for (; i < length; i++) {
+ fn(elems[i], key, raw ? value : value.call(elems[i], i, fn(elems[i], key)));
+ }
+ }
+ }
+
+ 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 transport,
+ // URL without anti-cache param
+ cacheURL,
+ // Response headers
+ responseHeadersString,
+ responseHeaders,
+ // 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 is callbackContext if it is a DOM node or jQuery collection
+ globalEventContext = s.context && (callbackContext.nodeType || callbackContext.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,
+
+ // 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 == null ? null : match;
+ },
+
+ // Raw string
+ getAllResponseHeaders: function () {
+ return state === 2 ? responseHeadersString : null;
+ },
+
+ // Caches the header
+ setRequestHeader: function (name, value) {
+ var lname = name.toLowerCase();
+ if (!state) {
+ name = requestHeadersNames[lname] = requestHeadersNames[lname] || name;
+ requestHeaders[name] = value;
+ }
+ return this;
+ },
+
+ // Overrides response content-type header
+ overrideMimeType: function (type) {
+ if (!state) {
+ s.mimeType = type;
+ }
+ return this;
+ },
+
+ // Status-dependent callbacks
+ statusCode: function (map) {
+ var code;
+ if (map) {
+ if (state < 2) {
+ for (code in map) {
+ // Lazy-add the new callback in a way that preserves old ones
+ statusCode[code] = [statusCode[code], map[code]];
+ }
+ } else {
+ // Execute the appropriate callbacks
+ jqXHR.always(map[jqXHR.status]);
+ }
+ }
+ return this;
+ },
+
+ // Cancel the request
+ abort: function (statusText) {
+ var finalText = statusText || strAbort;
+ if (transport) {
+ transport.abort(finalText);
+ }
+ done(0, finalText);
+ return this;
+ }
+ };
+
+ // Attach deferreds
+ deferred.promise(jqXHR).complete = completeDeferred.add;
+ jqXHR.success = jqXHR.done;
+ jqXHR.error = jqXHR.fail;
+
+ // Remove hash character (#7531: and string promotion)
+ // Add protocol if not provided (prefilters might expect it)
+ // Handle falsy url in the settings object (#10093: consistency with old signature)
+ // We also use the url parameter if available
+ s.url = ((url || s.url || ajaxLocation) + "").replace(rhash, "")
+ .replace(rprotocol, ajaxLocParts[1] + "//");
+
+ // Alias method option to type as per ticket #12004
+ s.type = options.method || options.type || s.method || s.type;
+
+ // Extract dataTypes list
+ s.dataTypes = jQuery.trim(s.dataType || "*").toLowerCase().match(core_rnotwhite) || [""];
+
+ // 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());
+ s.crossDomain = !!(parts &&
+ (parts[1] !== ajaxLocParts[1] || parts[2] !== ajaxLocParts[2] ||
+ (parts[3] || (parts[1] === "http:" ? "80" : "443")) !==
+ (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;
+
+ // Watch for a new set of requests
+ if (fireGlobals && jQuery.active++ === 0) {
+ jQuery.event.trigger("ajaxStart");
+ }
+
+ // Uppercase the type
+ s.type = s.type.toUpperCase();
+
+ // Determine if request has content
+ s.hasContent = !rnoContent.test(s.type);
+
+ // Save the URL in case we're toying with the If-Modified-Since
+ // and/or If-None-Match header later on
+ cacheURL = s.url;
+
+ // More options handling for requests with no content
+ if (!s.hasContent) {
+
+ // If data is available, append data to url
+ if (s.data) {
+ cacheURL = (s.url += (ajax_rquery.test(cacheURL) ? "&" : "?") + s.data);
+ // #9682: remove data so that it's not used in an eventual retry
+ delete s.data;
+ }
+
+ // Add anti-cache in url if needed
+ if (s.cache === false) {
+ s.url = rts.test(cacheURL) ?
+
+ // If there is already a '_' parameter, set its value
+ cacheURL.replace(rts, "$1_=" + ajax_nonce++) :
+
+ // Otherwise add one to the end
+ cacheURL + (ajax_rquery.test(cacheURL) ? "&" : "?") + "_=" + ajax_nonce++;
+ }
+ }
+
+ // Set the If-Modified-Since and/or If-None-Match header, if in ifModified mode.
+ if (s.ifModified) {
+ if (jQuery.lastModified[cacheURL]) {
+ jqXHR.setRequestHeader("If-Modified-Since", jQuery.lastModified[cacheURL]);
+ }
+ if (jQuery.etag[cacheURL]) {
+ jqXHR.setRequestHeader("If-None-Match", jQuery.etag[cacheURL]);
+ }
+ }
+
+ // 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 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;
+ }
+ }
+ }
+
+ // Callback for when everything is done
+ 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;
+
+ // Determine if successful
+ isSuccess = status >= 200 && status < 300 || status === 304;
+
+ // Get response data
+ if (responses) {
+ response = ajaxHandleResponses(s, jqXHR, responses);
+ }
+
+ // Convert no matter what (that way responseXXX fields are always set)
+ response = ajaxConvert(s, response, jqXHR, isSuccess);
+
+ // If successful, handle type chaining
+ if (isSuccess) {
+
+ // 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[cacheURL] = modified;
+ }
+ modified = jqXHR.getResponseHeader("etag");
+ if (modified) {
+ jQuery.etag[cacheURL] = modified;
+ }
+ }
+
+ // if no content
+ if (status === 204) {
+ statusText = "nocontent";
+
+ // if not modified
+ } else if (status === 304) {
+ statusText = "notmodified";
+
+ // If we have data, let's convert it
+ } else {
+ statusText = response.state;
+ success = response.data;
+ error = response.error;
+ isSuccess = !error;
+ }
+ } else {
+ // We extract error from statusText
+ // then normalize statusText and status for non-aborts
+ error = statusText;
+ if (status || !statusText) {
+ 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(isSuccess ? "ajaxSuccess" : "ajaxError",
+ [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");
+ }
+ }
+ }
+
+ 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,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match(core_rnotwhite) || [];
+
+ if (jQuery.isFunction(func)) {
+ // For each dataType in the dataTypeExpression
+ while ((dataType = dataTypes[i++])) {
+ // Prepend if requested
+ if (dataType[0] === "+") {
+ dataType = dataType.slice(1) || "*";
+ (structure[dataType] = structure[dataType] || []).unshift(func);
+
+ // Otherwise append
+ } else {
+ (structure[dataType] = structure[dataType] || []).push(func);
+ }
+ }
+ }
+ };
+ jQuery.ajaxSettings = {
+ "url": 'http://localhost:25812/?ver=2.0.3&newLineMethod=xml',
+ "type": 'GET',
+ "isLocal": false,
+ "global": true,
+ "processData": true,
+ "async": true,
+ "contentType": 'application/x-www-form-urlencoded; charset=UTF-8',
+ "accepts": {},
+ "contents": {},
+ "responseFields": {},
+ "converters": {},
+ "flatOptions": {},
+ "jsonp": 'callback'
+ };
+ jQuery.ajaxSetup = function (target, settings) {
+ ///
+ /// Set default values for future Ajax requests. Its use is not recommended.
+ ///
+ ///
+ /// A set of key/value pairs that configure the default Ajax request. All options are optional.
+ ///
+
+ return settings ?
+
+ // Building a settings object
+ ajaxExtend(ajaxExtend(target, jQuery.ajaxSettings), settings) :
+
+ // Extending ajaxSettings
+ ajaxExtend(jQuery.ajaxSettings, target);
+ };
+ jQuery.ajaxTransport = function (dataTypeExpression, func) {
+ ///
+ /// Creates an object that handles the actual transmission of Ajax data.
+ ///
+ ///
+ /// A string identifying the data type to use
+ ///
+ ///
+ /// A handler to return the new transport object to use with the data type provided in the first argument.
+ ///
+ ///
+
+
+ if (typeof dataTypeExpression !== "string") {
+ func = dataTypeExpression;
+ dataTypeExpression = "*";
+ }
+
+ var dataType,
+ i = 0,
+ dataTypes = dataTypeExpression.toLowerCase().match(core_rnotwhite) || [];
+
+ if (jQuery.isFunction(func)) {
+ // For each dataType in the dataTypeExpression
+ while ((dataType = dataTypes[i++])) {
+ // Prepend if requested
+ if (dataType[0] === "+") {
+ dataType = dataType.slice(1) || "*";
+ (structure[dataType] = structure[dataType] || []).unshift(func);
+
+ // Otherwise append
+ } else {
+ (structure[dataType] = structure[dataType] || []).push(func);
+ }
+ }
+ }
+ };
+ jQuery.attr = function (elem, name, value) {
+
+ var hooks, ret,
+ nType = elem.nodeType;
+
+ // don't get/set attributes on text, comment and attribute nodes
+ if (!elem || nType === 3 || nType === 8 || nType === 2) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if (typeof elem.getAttribute === core_strundefined) {
+ return jQuery.prop(elem, name, value);
+ }
+
+ // All attributes are lowercase
+ // Grab necessary hook if one is defined
+ if (nType !== 1 || !jQuery.isXMLDoc(elem)) {
+ name = name.toLowerCase();
+ hooks = jQuery.attrHooks[name] ||
+ (jQuery.expr.match.boolean.test(name) ? boolHook : nodeHook);
+ }
+
+ if (value !== undefined) {
+
+ if (value === null) {
+ jQuery.removeAttr(elem, name);
+
+ } else if (hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined) {
+ return ret;
+
+ } else {
+ elem.setAttribute(name, value + "");
+ return value;
+ }
+
+ } else if (hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null) {
+ return ret;
+
+ } else {
+ ret = jQuery.find.attr(elem, name);
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ?
+ undefined :
+ ret;
+ }
+ };
+ jQuery.attrHooks = { "type": {} };
+ jQuery.buildFragment = function (elems, context, scripts, selection) {
+
+ var elem, tmp, tag, wrap, contains, j,
+ i = 0,
+ l = elems.length,
+ fragment = context.createDocumentFragment(),
+ nodes = [];
+
+ for (; i < l; i++) {
+ elem = elems[i];
+
+ if (elem || elem === 0) {
+
+ // Add nodes directly
+ if (jQuery.type(elem) === "object") {
+ // Support: QtWebKit
+ // jQuery.merge because core_push.apply(_, arraylike) throws
+ jQuery.merge(nodes, elem.nodeType ? [elem] : elem);
+
+ // Convert non-html into a text node
+ } else if (!rhtml.test(elem)) {
+ nodes.push(context.createTextNode(elem));
+
+ // Convert html into DOM nodes
+ } else {
+ tmp = tmp || fragment.appendChild(context.createElement("div"));
+
+ // Deserialize a standard representation
+ tag = (rtagName.exec(elem) || ["", ""])[1].toLowerCase();
+ wrap = wrapMap[tag] || wrapMap._default;
+ tmp.innerHTML = wrap[1] + elem.replace(rxhtmlTag, "<$1>$2>") + wrap[2];
+
+ // Descend through wrappers to the right content
+ j = wrap[0];
+ while (j--) {
+ tmp = tmp.firstChild;
+ }
+
+ // Support: QtWebKit
+ // jQuery.merge because core_push.apply(_, arraylike) throws
+ jQuery.merge(nodes, tmp.childNodes);
+
+ // Remember the top-level container
+ tmp = fragment.firstChild;
+
+ // Fixes #12346
+ // Support: Webkit, IE
+ tmp.textContent = "";
+ }
+ }
+ }
+
+ // Remove wrapper from fragment
+ fragment.textContent = "";
+
+ i = 0;
+ while ((elem = nodes[i++])) {
+
+ // #4087 - If origin and destination elements are the same, and this is
+ // that element, do not do anything
+ if (selection && jQuery.inArray(elem, selection) !== -1) {
+ continue;
+ }
+
+ contains = jQuery.contains(elem.ownerDocument, elem);
+
+ // Append to fragment
+ tmp = getAll(fragment.appendChild(elem), "script");
+
+ // Preserve script evaluation history
+ if (contains) {
+ setGlobalEval(tmp);
+ }
+
+ // Capture executables
+ if (scripts) {
+ j = 0;
+ while ((elem = tmp[j++])) {
+ if (rscriptType.test(elem.type || "")) {
+ scripts.push(elem);
+ }
+ }
+ }
+ }
+
+ return fragment;
+ };
+ jQuery.camelCase = function (string) {
+
+ return string.replace(rmsPrefix, "ms-").replace(rdashAlpha, fcamelCase);
+ };
+ jQuery.cleanData = function (elems) {
+
+ var data, elem, type,
+ l = elems.length,
+ i = 0,
+ special = jQuery.event.special;
+
+ for (; i < l; i++) {
+ elem = elems[i];
+
+ if (jQuery.acceptData(elem)) {
+
+ data = data_priv.access(elem);
+
+ if (data) {
+ 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);
+ }
+ }
+ }
+ }
+ // Discard any remaining `private` and `user` data
+ // One day we'll replace the dual arrays with a WeakMap and this won't be an issue.
+ // (Splices the data objects out of the internal cache arrays)
+ data_user.discard(elem);
+ data_priv.discard(elem);
+ }
+ };
+ jQuery.clone = function (elem, dataAndEvents, deepDataAndEvents) {
+
+ var i, l, srcElements, destElements,
+ clone = elem.cloneNode(true),
+ inPage = jQuery.contains(elem.ownerDocument, elem);
+
+ // Support: IE >= 9
+ // Fix Cloning issues
+ if (!jQuery.support.noCloneChecked && (elem.nodeType === 1 || elem.nodeType === 11) && !jQuery.isXMLDoc(elem)) {
+
+ // We eschew Sizzle here for performance reasons: http://jsperf.com/getall-vs-sizzle/2
+ destElements = getAll(clone);
+ srcElements = getAll(elem);
+
+ for (i = 0, l = srcElements.length; i < l; i++) {
+ fixInput(srcElements[i], destElements[i]);
+ }
+ }
+
+ // Copy the events from the original to the clone
+ if (dataAndEvents) {
+ if (deepDataAndEvents) {
+ srcElements = srcElements || getAll(elem);
+ destElements = destElements || getAll(clone);
+
+ for (i = 0, l = srcElements.length; i < l; i++) {
+ cloneCopyEvent(srcElements[i], destElements[i]);
+ }
+ } else {
+ cloneCopyEvent(elem, clone);
+ }
+ }
+
+ // Preserve script evaluation history
+ destElements = getAll(clone, "script");
+ if (destElements.length > 0) {
+ setGlobalEval(destElements, !inPage && getAll(elem, "script"));
+ }
+
+ // Return the cloned set
+ return clone;
+ };
+ jQuery.contains = function (context, elem) {
+ ///
+ /// Check to see if a DOM element is a descendant of another DOM element.
+ ///
+ ///
+ /// The DOM element that may contain the other element.
+ ///
+ ///
+ /// The DOM element that may be contained by (a descendant of) the other element.
+ ///
+ ///
+
+ // Set document vars if needed
+ if ((context.ownerDocument || context) !== document) {
+ setDocument(context);
+ }
+ return contains(context, elem);
+ };
+ jQuery.css = function (elem, name, extra, styles) {
+
+ 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, styles);
+ }
+
+ //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 (extra === "" || extra) {
+ num = parseFloat(val);
+ return extra === true || jQuery.isNumeric(num) ? num || 0 : val;
+ }
+ return val;
+ };
+ jQuery.cssHooks = {
+ "opacity": {},
+ "height": {},
+ "width": {},
+ "margin": {},
+ "padding": {},
+ "borderWidth": {},
+ "top": {},
+ "left": {}
+ };
+ jQuery.cssNumber = {
+ "columnCount": true,
+ "fillOpacity": true,
+ "fontWeight": true,
+ "lineHeight": true,
+ "opacity": true,
+ "orphans": true,
+ "widows": true,
+ "zIndex": true,
+ "zoom": true
+ };
+ jQuery.cssProps = {
+ "float": 'cssFloat',
+ "display": 'display',
+ "visibility": 'visibility'
+ };
+ jQuery.data = function (elem, name, data) {
+ ///
+ /// 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.
+ ///
+ ///
+
+ return data_user.access(elem, name, data);
+ };
+ 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--;
+ }
+
+ hooks.cur = fn;
+ 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 = [],
+ truncate = until !== undefined;
+
+ while ((elem = elem[dir]) && elem.nodeType !== 9) {
+ if (elem.nodeType === 1) {
+ if (truncate && jQuery(elem).is(until)) {
+ break;
+ }
+ matched.push(elem);
+ }
+ }
+ 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 value,
+ i = 0,
+ length = obj.length,
+ isArray = isArraylike(obj);
+
+ if (args) {
+ if (isArray) {
+ for (; i < length; i++) {
+ value = callback.apply(obj[i], args);
+
+ if (value === false) {
+ break;
+ }
+ }
+ } else {
+ for (i in obj) {
+ value = callback.apply(obj[i], args);
+
+ if (value === false) {
+ break;
+ }
+ }
+ }
+
+ // A special, fast, case for the most common use of each
+ } else {
+ if (isArray) {
+ for (; i < length; i++) {
+ value = callback.call(obj[i], i, obj[i]);
+
+ if (value === false) {
+ break;
+ }
+ }
+ } else {
+ for (i in obj) {
+ value = callback.call(obj[i], i, obj[i]);
+
+ if (value === 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": {},
+ "props": ['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) {
+
+ var elem = elems[0];
+
+ if (not) {
+ expr = ":not(" + expr + ")";
+ }
+
+ return elems.length === 1 && elem.nodeType === 1 ?
+ jQuery.find.matchesSelector(elem, expr) ? [elem] : [] :
+ jQuery.find.matches(expr, jQuery.grep(elems, function (elem) {
+ return elem.nodeType === 1;
+ }));
+ };
+ jQuery.find = function Sizzle(selector, context, results, seed) {
+
+ var match, elem, m, nodeType,
+ // QSA vars
+ i, groups, old, nid, newContext, newSelector;
+
+ if ((context ? context.ownerDocument || context : preferredDoc) !== document) {
+ setDocument(context);
+ }
+
+ context = context || document;
+ results = results || [];
+
+ if (!selector || typeof selector !== "string") {
+ return results;
+ }
+
+ if ((nodeType = context.nodeType) !== 1 && nodeType !== 9) {
+ return [];
+ }
+
+ if (documentIsHTML && !seed) {
+
+ // Shortcuts
+ 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, context.getElementsByTagName(selector));
+ return results;
+
+ // Speed-up: Sizzle(".CLASS")
+ } else if ((m = match[3]) && support.getElementsByClassName && context.getElementsByClassName) {
+ push.apply(results, context.getElementsByClassName(m));
+ return results;
+ }
+ }
+
+ // QSA path
+ if (support.qsa && (!rbuggyQSA || !rbuggyQSA.test(selector))) {
+ nid = old = expando;
+ newContext = context;
+ newSelector = 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 (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 + toSelector(groups[i]);
+ }
+ newContext = rsibling.test(selector) && context.parentNode || context;
+ newSelector = groups.join(",");
+ }
+
+ if (newSelector) {
+ try {
+ push.apply(results,
+ newContext.querySelectorAll(newSelector)
+ );
+ return results;
+ } catch (qsaError) {
+ } finally {
+ if (!old) {
+ context.removeAttribute("id");
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select(selector.replace(rtrim, "$1"), context, results, seed);
+ };
+ jQuery.fn = {
+ "jquery": '2.0.3',
+ "selector": '',
+ "length": 0
+ };
+ 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 plain object 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({
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ });
+ };
+ 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 plain object 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 (code) {
+ ///
+ /// Execute some JavaScript code globally.
+ ///
+ ///
+ /// The JavaScript code to execute.
+ ///
+
+ var script,
+ indirect = eval;
+
+ code = jQuery.trim(code);
+
+ if (code) {
+ // If the code includes a valid, prologue position
+ // strict mode pragma, execute code by injecting a
+ // script tag into the document.
+ if (code.indexOf("use strict") === 1) {
+ script = document.createElement("script");
+ script.text = code;
+ document.head.appendChild(script).parentNode.removeChild(script);
+ } else {
+ // Otherwise, avoid the DOM node creation, insertion
+ // and removal by using an indirect global eval
+ indirect(code);
+ }
+ }
+ };
+ 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.
+ ///
+ ///
+
+ return data_user.hasData(elem) || data_priv.hasData(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.
+ ///
+ ///
+
+ return arr == null ? -1 : core_indexOf.call(arr, elem, i);
+ };
+ jQuery.isEmptyObject = function (obj) {
+ ///
+ /// Check to see if an object is empty (contains no enumerable 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.
+ ///
+ ///
+
+ // Not plain objects:
+ // - Any object or value whose internal [[Class]] property is not "[object Object]"
+ // - DOM nodes
+ // - window
+ if (jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow(obj)) {
+ return false;
+ }
+
+ // Support: Firefox <20
+ // The try/catch suppresses exceptions thrown when attempting to access
+ // the "constructor" property of certain host objects, ie. |window.location|
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=814622
+ try {
+ if (obj.constructor &&
+ !core_hasOwn.call(obj.constructor.prototype, "isPrototypeOf")) {
+ return false;
+ }
+ } catch (e) {
+ return false;
+ }
+
+ // If the function hasn't returned already, we're confident that
+ // |obj| is a plain object, created by {} or constructed with new Object
+ return true;
+ };
+ 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 ret = results || [];
+
+ if (arr != null) {
+ if (isArraylike(Object(arr))) {
+ jQuery.merge(ret,
+ typeof arr === "string" ?
+ [arr] : arr
+ );
+ } else {
+ core_push.call(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,
+ i = 0,
+ length = elems.length,
+ isArray = isArraylike(elems),
+ ret = [];
+
+ // 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 (i in elems) {
+ value = callback(elems[i], i, arg);
+
+ if (value != null) {
+ ret[ret.length] = value;
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return core_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.nodeName = function (elem, name) {
+
+ return elem.nodeName && elem.nodeName.toLowerCase() === name.toLowerCase();
+ };
+ jQuery.noop = function () {
+ ///
+ /// An empty function.
+ ///
+ ///
+ };
+ 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, keepScripts) {
+ ///
+ /// Parses a string into an array of DOM nodes.
+ ///
+ ///
+ /// HTML string to be parsed
+ ///
+ ///
+ /// DOM element to serve as the context in which the HTML fragment will be created
+ ///
+ ///
+ /// A Boolean indicating whether to include scripts passed in the HTML string
+ ///
+ ///
+
+ if (!data || typeof data !== "string") {
+ return null;
+ }
+ if (typeof context === "boolean") {
+ keepScripts = context;
+ context = false;
+ }
+ context = context || document;
+
+ var parsed = rsingleTag.exec(data),
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if (parsed) {
+ return [context.createElement(parsed[1])];
+ }
+
+ parsed = jQuery.buildFragment([data], context, scripts);
+
+ if (scripts) {
+ jQuery(scripts).remove();
+ }
+
+ return jQuery.merge([], parsed.childNodes);
+ };
+ 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;
+ }
+
+ // Support: IE9
+ try {
+ tmp = new DOMParser();
+ xml = tmp.parseFromString(data, "text/xml");
+ } catch (e) {
+ xml = undefined;
+ }
+
+ if (!xml || 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 plain object 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({
+ url: url,
+ type: method,
+ dataType: type,
+ data: data,
+ success: callback
+ });
+ };
+ 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) {
+ return hooks && "set" in hooks && (ret = hooks.set(elem, value, name)) !== undefined ?
+ ret :
+ (elem[name] = value);
+
+ } else {
+ return hooks && "get" in hooks && (ret = hooks.get(elem, name)) !== null ?
+ ret :
+ elem[name];
+ }
+ };
+ jQuery.propFix = {
+ "for": 'htmlFor',
+ "class": 'className',
+ "tabindex": {},
+ "readonly": {},
+ "maxlength": {},
+ "cellspacing": {},
+ "cellpadding": {},
+ "rowspan": {},
+ "colspan": {},
+ "usemap": {},
+ "frameborder": {},
+ "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)
+ ///
3 - jQuery.proxy(function, context, additionalArguments)
+ ///
4 - jQuery.proxy(context, name, additionalArguments)
+ ///
+ ///
+ /// The function whose context will be changed.
+ ///
+ ///
+ /// The object to which the context (this) of the function should be set.
+ ///
+ ///
+ /// Any number of arguments to be passed to the function referenced in the function argument.
+ ///
+ ///
+
+ 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 || this, 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 = data_priv.get(elem, type);
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if (data) {
+ if (!queue || jQuery.isArray(data)) {
+ queue = data_priv.access(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;
+ }
+
+ // 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 name, propName,
+ i = 0,
+ attrNames = value && value.match(core_rnotwhite);
+
+ if (attrNames && elem.nodeType === 1) {
+ while ((name = attrNames[i++])) {
+ propName = jQuery.propFix[name] || name;
+
+ // Boolean attributes get special treatment (#10870)
+ if (jQuery.expr.match.boolean.test(name)) {
+ // Set corresponding property to false
+ elem[propName] = false;
+ }
+
+ elem.removeAttribute(name);
+ }
+ }
+ };
+ jQuery.removeData = function (elem, name) {
+ ///
+ /// Remove a previously-stored piece of data.
+ ///
+ ///
+ /// A DOM element from which to remove data.
+ ///
+ ///
+ /// A string naming the piece of data to remove.
+ ///
+ ///
+
+ data_user.remove(elem, name);
+ };
+ jQuery.removeEvent = function (elem, type, handle) {
+
+ if (elem.removeEventListener) {
+ elem.removeEventListener(type, handle, false);
+ }
+ };
+ jQuery.sibling = function (n, elem) {
+
+ var matched = [];
+
+ for (; n; n = n.nextSibling) {
+ if (n.nodeType === 1 && n !== elem) {
+ matched.push(n);
+ }
+ }
+
+ return matched;
+ };
+ 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";
+ }
+
+ // Fixes #8908, it can be done more correctly by specifying setters in cssHooks,
+ // but it would mean to define eight (for every problematic property) identical functions
+ if (!jQuery.support.clearCloneStyle && value === "" && name.indexOf("background") === 0) {
+ style[name] = "inherit";
+ }
+
+ // 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) {
+ style[name] = value;
+ }
+
+ } 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.support = {
+ "checkOn": true,
+ "optSelected": true,
+ "reliableMarginRight": true,
+ "boxSizingReliable": true,
+ "pixelPosition": false,
+ "noCloneChecked": true,
+ "optDisabled": true,
+ "radioValue": true,
+ "checkClone": true,
+ "focusinBubbles": false,
+ "clearCloneStyle": true,
+ "cors": true,
+ "ajax": true,
+ "boxSizing": true
+ };
+ jQuery.swap = function (elem, options, callback, args) {
+
+ 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.apply(elem, args || []);
+
+ // 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 no nodeType, this is expected to be an array
+ for (; (node = elem[i]) ; i++) {
+ // Do not traverse comment nodes
+ ret += getText(node);
+ }
+ } else 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
+
+ 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.
+ ///
+ ///
+
+ if (obj == null) {
+ return String(obj);
+ }
+ // Support: Safari <= 5.1 (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[core_toString.call(obj)] || "object" :
+ typeof obj;
+ };
+ 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,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice(0);
+ results.sort(sortOrder);
+
+ if (hasDuplicate) {
+ while ((elem = results[i++])) {
+ if (elem === results[i]) {
+ j = duplicates.push(i);
+ }
+ }
+ while (j--) {
+ results.splice(duplicates[j], 1);
+ }
+ }
+
+ return results;
+ };
+ 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.
+ ///
+ ///
+
+ var e = this.originalEvent;
+
+ this.isDefaultPrevented = returnTrue;
+
+ if (e && e.preventDefault) {
+ e.preventDefault();
+ }
+ };
+ 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.
+ ///
+
+ var e = this.originalEvent;
+
+ this.isPropagationStopped = returnTrue;
+
+ if (e && e.stopPropagation) {
+ e.stopPropagation();
+ }
+ };
+ 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(jQuery.unique(all));
+ };
+ jQuery.prototype.addBack = function (selector) {
+ ///
+ /// Add the previous set of elements on the stack to the current set, optionally filtered by a selector.
+ ///
+ ///
+ /// A string containing a selector expression to match the current set of elements against.
+ ///
+ ///
+
+ 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 space-separated classes to be added to the class attribute of each matched element.
+ ///
+ ///
+
+ var classes, elem, cur, clazz, j,
+ i = 0,
+ len = this.length,
+ proceed = typeof value === "string" && value;
+
+ if (jQuery.isFunction(value)) {
+ return this.each(function (j) {
+ jQuery(this).addClass(value.call(this, j, this.className));
+ });
+ }
+
+ if (proceed) {
+ // The disjunction here is for better compressibility (see removeClass)
+ classes = (value || "").match(core_rnotwhite) || [];
+
+ for (; i < len; i++) {
+ elem = this[i];
+ cur = elem.nodeType === 1 && (elem.className ?
+ (" " + elem.className + " ").replace(rclass, " ") :
+ " "
+ );
+
+ if (cur) {
+ j = 0;
+ while ((clazz = classes[j++])) {
+ if (cur.indexOf(" " + clazz + " ") < 0) {
+ cur += clazz + " ";
+ }
+ }
+ elem.className = jQuery.trim(cur);
+
+ }
+ }
+ }
+
+ 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.
+ ///
+ ///
+
+ return this.domManip(arguments, function (elem) {
+ if (this.parentNode) {
+ this.parentNode.insertBefore(elem, this.nextSibling);
+ }
+ });
+ };
+ jQuery.prototype.ajaxComplete = function (fn) {
+ ///
+ /// Register a handler to be called when Ajax requests complete. This is an AjaxEvent.
+ ///
+ ///
+ /// The function to be invoked.
+ ///
+ ///
+
+ return this.on(type, fn);
+ };
+ jQuery.prototype.ajaxError = function (fn) {
+ ///
+ /// 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(type, fn);
+ };
+ jQuery.prototype.ajaxSend = function (fn) {
+ ///
+ /// 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(type, fn);
+ };
+ jQuery.prototype.ajaxStart = function (fn) {
+ ///
+ /// 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(type, fn);
+ };
+ jQuery.prototype.ajaxStop = function (fn) {
+ ///
+ /// 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(type, fn);
+ };
+ jQuery.prototype.ajaxSuccess = function (fn) {
+ ///
+ /// 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(type, fn);
+ };
+ 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)
+ ///
+ ///
+ /// An object of CSS properties and values 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);
+ doAnimation.finish = function () {
+ anim.stop(true);
+ };
+ // Empty animations, or finishing resolves immediately
+ if (empty || data_priv.get(this, "finish")) {
+ anim.stop(true);
+ }
+ };
+ doAnimation.finish = doAnimation;
+
+ 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, function (elem) {
+ if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
+ var target = manipulationTarget(this, elem);
+ target.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,
+ ret = [],
+ insert = jQuery(selector),
+ last = insert.length - 1,
+ i = 0;
+
+ for (; i <= last; i++) {
+ elems = i === last ? this : this.clone(true);
+ jQuery(insert[i])[original](elems);
+
+ // Support: QtWebKit
+ // .get() because core_push.apply(_, arraylike) throws
+ core_push.apply(ret, elems.get());
+ }
+
+ return this.pushStack(ret);
+ };
+ 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(attributes)
+ ///
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.
+ ///
+ ///
+
+ return this.domManip(arguments, function (elem) {
+ if (this.parentNode) {
+ this.parentNode.insertBefore(elem, this);
+ }
+ });
+ };
+ 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.
+ ///
+ ///
+ /// An object containing 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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: For each element in the set, get the first element that matches the selector by testing the element itself and traversing up through its ancestors in the DOM tree.
+ ///
1.1 - closest(selector)
+ ///
1.2 - closest(selector, context)
+ ///
1.3 - closest(jQuery object)
+ ///
1.4 - closest(element)
+ ///
2: Get 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,
+ matched = [],
+ pos = (rneedsContext.test(selectors) || typeof selectors !== "string") ?
+ jQuery(selectors, context || this.context) :
+ 0;
+
+ for (; i < l; i++) {
+ for (cur = this[i]; cur && cur !== context; cur = cur.parentNode) {
+ // Always skip document fragments
+ if (cur.nodeType < 11 && (pos ?
+ pos.index(cur) > -1 :
+
+ // Don't pass non-elements to Sizzle
+ cur.nodeType === 1 &&
+ jQuery.find.matchesSelector(cur, selectors))) {
+
+ cur = matched.push(cur);
+ break;
+ }
+ }
+ }
+
+ return this.pushStack(matched.length > 1 ? jQuery.unique(matched) : matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ jQuery.prototype.contextmenu = function (data, fn) {
+
+ return arguments.length > 0 ?
+ this.on(name, null, data, fn) :
+ this.trigger(name);
+ };
+ jQuery.prototype.css = function (name, value) {
+ ///
+ /// 1: Get the value of style properties for the first element in the set of matched elements.
+ ///
1.1 - css(propertyName)
+ ///
1.2 - css(propertyNames)
+ ///
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(properties)
+ ///
+ ///
+ /// A CSS property name.
+ ///
+ ///
+ /// A value to set for the property.
+ ///
+ ///
+
+ return jQuery.access(this, function (elem, name, value) {
+ var styles, len,
+ map = {},
+ i = 0;
+
+ if (jQuery.isArray(name)) {
+ styles = getStyles(elem);
+ len = name.length;
+
+ for (; i < len; i++) {
+ map[name[i]] = jQuery.css(elem, name[i], false, styles);
+ }
+
+ return map;
+ }
+
+ 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: Return the value at the named data store for the first element in the jQuery collection, as set by data(name, value) or by an HTML5 data-* attribute.
+ ///
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 attrs, name,
+ elem = this[0],
+ i = 0,
+ data = null;
+
+ // Gets all values
+ if (key === undefined) {
+ if (this.length) {
+ data = data_user.get(elem);
+
+ if (elem.nodeType === 1 && !data_priv.get(elem, "hasDataAttrs")) {
+ attrs = elem.attributes;
+ for (; i < attrs.length; i++) {
+ name = attrs[i].name;
+
+ if (name.indexOf("data-") === 0) {
+ name = jQuery.camelCase(name.substring(5));
+ dataAttr(elem, name, data[name]);
+ }
+ }
+ data_priv.set(elem, "hasDataAttrs", true);
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if (typeof key === "object") {
+ return this.each(function () {
+ data_user.set(this, key);
+ });
+ }
+
+ return jQuery.access(this, function (value) {
+ var data,
+ camelKey = jQuery.camelCase(key);
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if (elem && value === undefined) {
+ // Attempt to get data from the cache
+ // with the key as-is
+ data = data_user.get(elem, key);
+ if (data !== undefined) {
+ return data;
+ }
+
+ // Attempt to get data from the cache
+ // with the key camelized
+ data = data_user.get(elem, camelKey);
+ if (data !== undefined) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr(elem, camelKey, undefined);
+ if (data !== undefined) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each(function () {
+ // First, attempt to store a copy or reference of any
+ // data that might've been store with a camelCased key.
+ var data = data_user.get(this, camelKey);
+
+ // For HTML5 data-* attribute interop, we have to
+ // store property names with dashes in a camelCase form.
+ // This might not apply to all properties...*
+ data_user.set(this, camelKey, value);
+
+ // *... In the case of properties that might _actually_
+ // have dashes, we need to also store a copy of that
+ // unchanged property.
+ if (key.indexOf("-") !== -1 && data !== undefined) {
+ data_user.set(this, key, value);
+ }
+ });
+ }, null, value, arguments.length > 1, null, true);
+ };
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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.
+ ///
+ ///
+ /// An object containing 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.domManip = function (args, callback, allowIntersection) {
+
+
+ // Flatten any nested arrays
+ args = core_concat.apply([], args);
+
+ var fragment, first, scripts, hasScripts, node, doc,
+ i = 0,
+ l = this.length,
+ set = this,
+ iNoClone = l - 1,
+ value = args[0],
+ isFunction = jQuery.isFunction(value);
+
+ // We can't cloneNode fragments that contain checked, in WebKit
+ if (isFunction || !(l <= 1 || typeof value !== "string" || jQuery.support.checkClone || !rchecked.test(value))) {
+ return this.each(function (index) {
+ var self = set.eq(index);
+ if (isFunction) {
+ args[0] = value.call(this, index, self.html());
+ }
+ self.domManip(args, callback, allowIntersection);
+ });
+ }
+
+ if (l) {
+ fragment = jQuery.buildFragment(args, this[0].ownerDocument, false, !allowIntersection && this);
+ first = fragment.firstChild;
+
+ if (fragment.childNodes.length === 1) {
+ fragment = first;
+ }
+
+ if (first) {
+ scripts = jQuery.map(getAll(fragment, "script"), disableScript);
+ hasScripts = scripts.length;
+
+ // Use the original fragment for the last item instead of the first because it can end up
+ // being emptied incorrectly in certain situations (#8070).
+ for (; i < l; i++) {
+ node = fragment;
+
+ if (i !== iNoClone) {
+ node = jQuery.clone(node, true, true);
+
+ // Keep references to cloned scripts for later restoration
+ if (hasScripts) {
+ // Support: QtWebKit
+ // jQuery.merge because core_push.apply(_, arraylike) throws
+ jQuery.merge(scripts, getAll(node, "script"));
+ }
+ }
+
+ callback.call(this[i], node, i);
+ }
+
+ if (hasScripts) {
+ doc = scripts[scripts.length - 1].ownerDocument;
+
+ // Reenable scripts
+ jQuery.map(scripts, restoreScript);
+
+ // Evaluate executable scripts on first document insertion
+ for (i = 0; i < hasScripts; i++) {
+ node = scripts[i];
+ if (rscriptType.test(node.type || "") &&
+ !data_priv.access(node, "globalEval") && jQuery.contains(doc, node)) {
+
+ if (node.src) {
+ // Hope ajax is available...
+ jQuery._evalUrl(node.src);
+ } else {
+ jQuery.globalEval(node.textContent.replace(rcleanScript, ""));
+ }
+ }
+ }
+ }
+ }
+ }
+
+ 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++) {
+ if (elem.nodeType === 1) {
+
+ // Prevent memory leaks
+ jQuery.cleanData(getAll(elem, false));
+
+ // Remove any remaining nodes
+ elem.textContent = "";
+ }
+ }
+
+ 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.
+ ///
+ ///
+
+ var len = this.length,
+ j = +i + (i < 0 ? len : 0);
+ return this.pushStack(j >= 0 && j < len ? [this[j]] : []);
+ };
+ jQuery.prototype.error = function (data, fn) {
+ ///
+ /// Bind an event handler to the "error" JavaScript event.
+ ///
1 - error(handler(eventObject))
+ ///
2 - error(eventData, handler(eventObject))
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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, complete)
+ ///
2 - fadeIn(options)
+ ///
3 - fadeIn(duration, easing, complete)
+ ///
+ ///
+ /// 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, complete)
+ ///
2 - fadeOut(options)
+ ///
3 - fadeOut(duration, easing, complete)
+ ///
+ ///
+ /// 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, complete)
+ ///
2 - fadeTo(duration, opacity, easing, complete)
+ ///
+ ///
+ /// 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.
+ ///
1 - fadeToggle(duration, easing, complete)
+ ///
2 - fadeToggle(options)
+ ///
+ ///
+ /// 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 || [], false));
+ };
+ 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 self, matched, i,
+ l = this.length;
+
+ if (typeof selector !== "string") {
+ self = this;
+ return this.pushStack(jQuery(selector).filter(function () {
+ for (i = 0; i < l; i++) {
+ if (jQuery.contains(self[i], this)) {
+ return true;
+ }
+ }
+ }));
+ }
+
+ matched = [];
+ for (i = 0; i < l; i++) {
+ jQuery.find(selector, this[i], matched);
+ }
+
+ // Needed because $( selector, context ) becomes $( context ).find( selector )
+ matched = this.pushStack(l > 1 ? jQuery.unique(matched) : matched);
+ matched.selector = (this.selector ? this.selector + " " : "") + selector;
+ return matched;
+ };
+ jQuery.prototype.finish = function (type) {
+ ///
+ /// Stop the currently-running animation, remove all queued animations, and complete all animations for the matched elements.
+ ///
+ ///
+ /// The name of the queue in which to stop animations.
+ ///
+ ///
+
+ if (type !== false) {
+ type = type || "fx";
+ }
+ return this.each(function () {
+ var index,
+ data = data_priv.get(this),
+ queue = data[type + "queue"],
+ hooks = data[type + "queueHooks"],
+ timers = jQuery.timers,
+ length = queue ? queue.length : 0;
+
+ // enable finishing flag on private data
+ data.finish = true;
+
+ // empty the queue first
+ jQuery.queue(this, type, []);
+
+ if (hooks && hooks.cur && hooks.cur.finish) {
+ hooks.cur.finish.call(this);
+ }
+
+ // look for any active animations, and finish them
+ for (index = timers.length; index--;) {
+ if (timers[index].elem === this && timers[index].queue === type) {
+ timers[index].anim.stop(true);
+ timers.splice(index, 1);
+ }
+ }
+
+ // look for any animations in the old queue and finish them
+ for (index = 0; index < length; index++) {
+ if (queue[index] && queue[index].finish) {
+ queue[index].finish.call(this);
+ }
+ }
+
+ // turn off finishing flag
+ delete data.finish;
+ });
+ };
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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))
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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))
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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 targets = jQuery(target, this),
+ l = targets.length;
+
+ return this.filter(function () {
+ var i = 0;
+ for (; i < l; 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
+ 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, 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, complete)
+ ///
3 - hide(options)
+ ///
4 - hide(duration, easing, complete)
+ ///
+ ///
+ /// 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" ?
+ 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 && elem.nodeType === 1) {
+ return elem.innerHTML;
+ }
+
+ // See if we can take a shortcut and just use innerHTML
+ if (typeof value === "string" && !rnoInnerhtml.test(value) &&
+ !wrapMap[(rtagName.exec(value) || ["", ""])[1].toLowerCase()]) {
+
+ value = value.replace(rxhtmlTag, "<$1>$2>");
+
+ try {
+ for (; i < l; i++) {
+ elem = this[i] || {};
+
+ // Remove element nodes and prevent memory leaks
+ if (elem.nodeType === 1) {
+ jQuery.cleanData(getAll(elem, false));
+ 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.first().prevAll().length : -1;
+ }
+
+ // index in selector
+ if (typeof elem === "string") {
+ return core_indexOf.call(jQuery(elem), this[0]);
+ }
+
+ // Locate the position of the desired element
+ return core_indexOf.call(this,
+
+ // If it receives a jQuery object, the first element is used
+ elem.jquery ? elem[0] : elem
+ );
+ };
+ jQuery.prototype.init = function (selector, context, rootjQuery) {
+
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if (!selector) {
+ 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;
+
+ // scripts is true for back-compat
+ jQuery.merge(this, jQuery.parseHTML(
+ match[1],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ));
+
+ // HANDLE: $(html, props)
+ if (rsingleTag.test(match[1]) && jQuery.isPlainObject(context)) {
+ for (match in context) {
+ // Properties of context are called as methods if possible
+ if (jQuery.isFunction(this[match])) {
+ this[match](context[match]);
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr(match, context[match]);
+ }
+ }
+ }
+
+ return this;
+
+ // 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) {
+ // 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: $(DOMElement)
+ } else if (selector.nodeType) {
+ this.context = this[0] = selector;
+ this.length = 1;
+ return this;
+
+ // 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
+ 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, 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
+ 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, 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,
+ ret = [],
+ insert = jQuery(selector),
+ last = insert.length - 1,
+ i = 0;
+
+ for (; i <= last; i++) {
+ elems = i === last ? this : this.clone(true);
+ jQuery(insert[i])[original](elems);
+
+ // Support: QtWebKit
+ // .get() because core_push.apply(_, arraylike) throws
+ core_push.apply(ret, elems.get());
+ }
+
+ return this.pushStack(ret);
+ };
+ 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,
+ ret = [],
+ insert = jQuery(selector),
+ last = insert.length - 1,
+ i = 0;
+
+ for (; i <= last; i++) {
+ elems = i === last ? this : this.clone(true);
+ jQuery(insert[i])[original](elems);
+
+ // Support: QtWebKit
+ // .get() because core_push.apply(_, arraylike) throws
+ core_push.apply(ret, elems.get());
+ }
+
+ return this.pushStack(ret);
+ };
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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.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 plain object 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);
+ }
+
+ var selector, type, response,
+ self = this,
+ off = url.indexOf(" ");
+
+ if (off >= 0) {
+ selector = url.slice(off);
+ 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";
+ }
+
+ // If we have elements to modify, make the request
+ if (self.length > 0) {
+ jQuery.ajax({
+ url: url,
+
+ // if "type" variable is undefined, then "GET" method will be used
+ type: type,
+ dataType: "html",
+ data: params
+ }).done(function (responseText) {
+
+ // Save response for use in complete callback
+ response = arguments;
+
+ self.html(selector ?
+
+ // If a selector was specified, locate the right elements in a dummy div
+ // Exclude scripts to avoid IE 'Permission Denied' errors
+ jQuery("
").append(jQuery.parseHTML(responseText)).find(selector) :
+
+ // Otherwise use the full result
+ responseText);
+
+ }).complete(callback && function (jqXHR, status) {
+ self.each(callback, response || [jqXHR.responseText, status, jqXHR]);
+ });
+ }
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 || [], true));
+ };
+ jQuery.prototype.off = function (types, selector, fn) {
+ ///
+ /// Remove an event handler.
+ ///
1 - off(events, selector, handler(eventObject))
+ ///
2 - off(events, 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, win,
+ elem = this[0],
+ box = { top: 0, left: 0 },
+ doc = elem && elem.ownerDocument;
+
+ if (!doc) {
+ return;
+ }
+
+ 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 !== core_strundefined) {
+ box = elem.getBoundingClientRect();
+ }
+ win = getWindow(doc);
+ return {
+ top: box.top + win.pageYOffset - docElem.clientTop,
+ left: box.left + win.pageXOffset - docElem.clientLeft
+ };
+ };
+ jQuery.prototype.offsetParent = function () {
+ ///
+ /// Get the closest ancestor element that is positioned.
+ ///
+ ///
+
+ return this.map(function () {
+ var offsetParent = this.offsetParent || docElem;
+
+ while (offsetParent && (!jQuery.nodeName(offsetParent, "html") && jQuery.css(offsetParent, "position") === "static")) {
+ offsetParent = offsetParent.offsetParent;
+ }
+
+ return offsetParent || docElem;
+ });
+ };
+ 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, 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") {
+ // ( 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, 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
+ 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, 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
+ 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, 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 offsetParent, offset,
+ elem = this[0],
+ parentOffset = { top: 0, left: 0 };
+
+ // Fixed elements are offset from window (parentOffset = {top:0, left: 0}, because it is it's only offset parent
+ if (jQuery.css(elem, "position") === "fixed") {
+ // We assume that getBoundingClientRect is available when computed position is fixed
+ offset = elem.getBoundingClientRect();
+
+ } else {
+ // Get *real* offsetParent
+ offsetParent = this.offsetParent();
+
+ // Get correct offsets
+ offset = this.offset();
+ if (!jQuery.nodeName(offsetParent[0], "html")) {
+ parentOffset = offsetParent.offset();
+ }
+
+ // Add offsetParent borders
+ parentOffset.top += jQuery.css(offsetParent[0], "borderTopWidth", true);
+ parentOffset.left += jQuery.css(offsetParent[0], "borderLeftWidth", true);
+ }
+
+ // Subtract parent offsets and element margins
+ return {
+ top: offset.top - parentOffset.top - jQuery.css(elem, "marginTop", true),
+ left: offset.left - parentOffset.left - jQuery.css(elem, "marginLeft", true)
+ };
+ };
+ 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, function (elem) {
+ if (this.nodeType === 1 || this.nodeType === 11 || this.nodeType === 9) {
+ var target = manipulationTarget(this, elem);
+ target.insertBefore(elem, target.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,
+ ret = [],
+ insert = jQuery(selector),
+ last = insert.length - 1,
+ i = 0;
+
+ for (; i <= last; i++) {
+ elems = i === last ? this : this.clone(true);
+ jQuery(insert[i])[original](elems);
+
+ // Support: QtWebKit
+ // .get() because core_push.apply(_, arraylike) throws
+ core_push.apply(ret, elems.get());
+ }
+
+ return this.pushStack(ret);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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 = data_priv.get(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(properties)
+ ///
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) {
+ ///
+ /// 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;
+
+ // 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, once for each matched element.
+ ///
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,
+ elems = selector ? jQuery.filter(selector, this) : this,
+ i = 0;
+
+ for (; (elem = elems[i]) != null; i++) {
+ if (!keepData && elem.nodeType === 1) {
+ jQuery.cleanData(getAll(elem));
+ }
+
+ if (elem.parentNode) {
+ if (keepData && jQuery.contains(elem.ownerDocument, elem)) {
+ setGlobalEval(getAll(elem, "script"));
+ }
+ 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 classes, elem, cur, clazz, j,
+ i = 0,
+ len = this.length,
+ proceed = arguments.length === 0 || typeof value === "string" && value;
+
+ if (jQuery.isFunction(value)) {
+ return this.each(function (j) {
+ jQuery(this).removeClass(value.call(this, j, this.className));
+ });
+ }
+ if (proceed) {
+ classes = (value || "").match(core_rnotwhite) || [];
+
+ for (; i < len; i++) {
+ elem = this[i];
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && (elem.className ?
+ (" " + elem.className + " ").replace(rclass, " ") :
+ ""
+ );
+
+ if (cur) {
+ j = 0;
+ while ((clazz = classes[j++])) {
+ // Remove *all* instances
+ while (cur.indexOf(" " + clazz + " ") >= 0) {
+ cur = cur.replace(" " + clazz + " ", " ");
+ }
+ }
+ elem.className = value ? jQuery.trim(cur) : "";
+ }
+ }
+ }
+
+ 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 () {
+ data_user.remove(this, key);
+ });
+ };
+ jQuery.prototype.removeProp = function (name) {
+ ///
+ /// Remove a property for the set of matched elements.
+ ///
+ ///
+ /// The name of the property to remove.
+ ///
+ ///
+
+ return this.each(function () {
+ delete this[jQuery.propFix[name] || name];
+ });
+ };
+ jQuery.prototype.replaceAll = function (selector) {
+ ///
+ /// Replace each target element with the set of matched elements.
+ ///
+ ///
+ /// A selector string, jQuery object, or DOM element reference indicating which element(s) to replace.
+ ///
+ ///
+
+ var elems,
+ ret = [],
+ insert = jQuery(selector),
+ last = insert.length - 1,
+ i = 0;
+
+ for (; i <= last; i++) {
+ elems = i === last ? this : this.clone(true);
+ jQuery(insert[i])[original](elems);
+
+ // Support: QtWebKit
+ // .get() because core_push.apply(_, arraylike) throws
+ core_push.apply(ret, elems.get());
+ }
+
+ return this.pushStack(ret);
+ };
+ jQuery.prototype.replaceWith = function () {
+ ///
+ /// Replace each element in the set of matched elements with the provided new content and return the set of elements that was removed.
+ ///
1 - replaceWith(newContent)
+ ///
2 - replaceWith(function)
+ ///
+ ///
+ /// The content to insert. May be an HTML string, DOM element, or jQuery object.
+ ///
+ ///
+
+ var
+ // Snapshot the DOM in case .domManip sweeps something relevant into its fragment
+ args = jQuery.map(this, function (elem) {
+ return [elem.nextSibling, elem.parentNode];
+ }),
+ i = 0;
+
+ // Make the changes, replacing each context element with the new content
+ this.domManip(arguments, function (elem) {
+ var next = args[i++],
+ parent = args[i++];
+
+ if (parent) {
+ jQuery(this).remove();
+ parent.insertBefore(elem, next);
+ }
+ // Allow new content to include elements from the context set
+ }, true);
+
+ // Force removal if there was no new content (e.g., from empty arguments)
+ return i ? this : this.remove();
+ };
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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 ? win[prop] : elem[method];
+ }
+
+ if (win) {
+ win.scrollTo(
+ !top ? val : window.pageXOffset,
+ top ? val : window.pageYOffset
+ );
+
+ } 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 or set the vertical position of the scroll bar for every matched element.
+ ///
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 ? win[prop] : elem[method];
+ }
+
+ if (win) {
+ win.scrollTo(
+ !top ? val : window.pageXOffset,
+ top ? val : window.pageYOffset
+ );
+
+ } 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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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 () {
+ // Can add propHook for "elements" to filter or add form elements
+ var elements = jQuery.prop(this, "elements");
+ return elements ? jQuery.makeArray(elements) : this;
+ })
+ .filter(function () {
+ var type = this.type;
+ // Use .is(":disabled") so that fieldset[disabled] works
+ return this.name && !jQuery(this).is(":disabled") &&
+ rsubmittable.test(this.nodeName) && !rsubmitterTypes.test(type) &&
+ (this.checked || !manipulation_rcheckableType.test(type));
+ })
+ .map(function (i, elem) {
+ var val = jQuery(this).val();
+
+ return val == null ?
+ null :
+ jQuery.isArray(val) ?
+ jQuery.map(val, function (val) {
+ 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, complete)
+ ///
3 - show(options)
+ ///
4 - show(duration, easing, complete)
+ ///
+ ///
+ /// 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" ?
+ 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 matched = jQuery.map(this, fn, until);
+
+ if (name.slice(-5) !== "Until") {
+ selector = until;
+ }
+
+ if (selector && typeof selector === "string") {
+ matched = jQuery.filter(selector, matched);
+ }
+
+ if (this.length > 1) {
+ // Remove duplicates
+ if (!guaranteedUnique[name]) {
+ jQuery.unique(matched);
+ }
+
+ // Reverse order for parents* and prev*
+ if (name[0] === "p") {
+ matched.reverse();
+ }
+ }
+
+ return this.pushStack(matched);
+ };
+ 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));
+ };
+ jQuery.prototype.slideDown = function (speed, easing, callback) {
+ ///
+ /// Display the matched elements with a sliding motion.
+ ///
1 - slideDown(duration, complete)
+ ///
2 - slideDown(options)
+ ///
3 - slideDown(duration, easing, complete)
+ ///
+ ///
+ /// 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, complete)
+ ///
2 - slideToggle(options)
+ ///
3 - slideToggle(duration, easing, complete)
+ ///
+ ///
+ /// 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, complete)
+ ///
2 - slideUp(options)
+ ///
3 - slideUp(duration, easing, complete)
+ ///
+ ///
+ /// 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 = data_priv.get(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()
+ ///
+ ///
+ /// An object containing data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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, complete)
+ ///
2.2 - toggle(options)
+ ///
2.3 - toggle(duration, easing, complete)
+ ///
2.4 - 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" ?
+ 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.match(core_rnotwhite) || [];
+
+ while ((className = classNames[i++])) {
+ // check each className given, space separated list
+ state = isBool ? state : !self.hasClass(className);
+ self[state ? "addClass" : "removeClass"](className);
+ }
+
+ // Toggle whole class name
+ } else if (type === core_strundefined || type === "boolean") {
+ if (this.className) {
+ // store className if set
+ data_priv.set(this, "__className__", this.className);
+ }
+
+ // If the element has a class name or if we're passed "false",
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ this.className = this.className || value === false ? "" : data_priv.get(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, extraParameters)
+ ///
+ ///
+ /// 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.
+ ///
+ ///
+
+ var elem = this[0];
+ if (elem) {
+ return jQuery.event.trigger(type, data, elem, 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 plain object of data that will be passed to the event handler.
+ ///
+ ///
+ /// A function to execute each time the event is triggered.
+ ///
+ ///
+
+ 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
+ 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, 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))
+ ///
+ ///
+ /// A selector, element, HTML string, or jQuery object 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.
+ ///
+ ///
+ /// A selector, element, HTML string, or jQuery object specifying the structure to wrap around the matched elements.
+ ///
+ ///
+
+ var wrap;
+
+ 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
+ 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.firstElementChild) {
+ elem = elem.firstElementChild;
+ }
+
+ 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.2.0.3/Content/Scripts/jquery-2.0.3.js b/packages/jQuery.2.0.3/Content/Scripts/jquery-2.0.3.js
new file mode 100644
index 00000000..ebc6c187
--- /dev/null
+++ b/packages/jQuery.2.0.3/Content/Scripts/jquery-2.0.3.js
@@ -0,0 +1,8829 @@
+/*!
+ * jQuery JavaScript Library v2.0.3
+ * http://jquery.com/
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ *
+ * Copyright 2005, 2013 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-07-03T13:30Z
+ */
+(function( window, undefined ) {
+
+// Can't do this because several apps including ASP.NET trace
+// the stack via arguments.caller.callee and Firefox dies if
+// you try to trace through "use strict" call chains. (#13335)
+// Support: Firefox 18+
+//"use strict";
+var
+ // A central reference to the root jQuery(document)
+ rootjQuery,
+
+ // The deferred used on DOM ready
+ readyList,
+
+ // Support: IE9
+ // For `typeof xmlNode.method` instead of `xmlNode.method !== undefined`
+ core_strundefined = typeof undefined,
+
+ // Use the correct document accordingly with window argument (sandbox)
+ location = window.location,
+ document = window.document,
+ docElem = document.documentElement,
+
+ // Map over jQuery in case of overwrite
+ _jQuery = window.jQuery,
+
+ // Map over the $ in case of overwrite
+ _$ = window.$,
+
+ // [[Class]] -> type pairs
+ class2type = {},
+
+ // List of deleted data cache ids, so we can reuse them
+ core_deletedIds = [],
+
+ core_version = "2.0.3",
+
+ // Save a reference to some core methods
+ core_concat = core_deletedIds.concat,
+ core_push = core_deletedIds.push,
+ core_slice = core_deletedIds.slice,
+ core_indexOf = core_deletedIds.indexOf,
+ core_toString = class2type.toString,
+ core_hasOwn = class2type.hasOwnProperty,
+ core_trim = core_version.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 splitting on whitespace
+ core_rnotwhite = /\S+/g,
+
+ // A simple way to check for HTML strings
+ // Prioritize #id over to avoid XSS via location.hash (#9521)
+ // Strict HTML recognition (#11290: must start with <)
+ rquickExpr = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+
+ // Match a standalone tag
+ rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>|)$/,
+
+ // 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
+ completed = function() {
+ document.removeEventListener( "DOMContentLoaded", completed, false );
+ window.removeEventListener( "load", completed, false );
+ jQuery.ready();
+ };
+
+jQuery.fn = jQuery.prototype = {
+ // The current version of jQuery being used
+ jquery: core_version,
+
+ constructor: jQuery,
+ init: function( selector, context, rootjQuery ) {
+ var match, elem;
+
+ // HANDLE: $(""), $(null), $(undefined), $(false)
+ if ( !selector ) {
+ 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;
+
+ // scripts is true for back-compat
+ jQuery.merge( this, jQuery.parseHTML(
+ match[1],
+ context && context.nodeType ? context.ownerDocument || context : document,
+ true
+ ) );
+
+ // HANDLE: $(html, props)
+ if ( rsingleTag.test( match[1] ) && jQuery.isPlainObject( context ) ) {
+ for ( match in context ) {
+ // Properties of context are called as methods if possible
+ if ( jQuery.isFunction( this[ match ] ) ) {
+ this[ match ]( context[ match ] );
+
+ // ...and otherwise set as attributes
+ } else {
+ this.attr( match, context[ match ] );
+ }
+ }
+ }
+
+ return this;
+
+ // 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 ) {
+ // 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: $(DOMElement)
+ } else if ( selector.nodeType ) {
+ this.context = this[0] = selector;
+ this.length = 1;
+ return this;
+
+ // 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 default length of a jQuery object is 0
+ length: 0,
+
+ 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 ) {
+
+ // 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;
+
+ // 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;
+ },
+
+ slice: function() {
+ return this.pushStack( core_slice.apply( this, arguments ) );
+ },
+
+ first: function() {
+ return this.eq( 0 );
+ },
+
+ last: function() {
+ return this.eq( -1 );
+ },
+
+ eq: function( i ) {
+ var len = this.length,
+ j = +i + ( i < 0 ? len : 0 );
+ return this.pushStack( j >= 0 && j < len ? [ this[j] ] : [] );
+ },
+
+ 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({
+ // Unique for each copy of jQuery on the page
+ expando: "jQuery" + ( core_version + Math.random() ).replace( /\D/g, "" ),
+
+ 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;
+ }
+
+ // 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,
+
+ isWindow: function( obj ) {
+ return obj != null && obj === obj.window;
+ },
+
+ isNumeric: function( obj ) {
+ return !isNaN( parseFloat(obj) ) && isFinite( obj );
+ },
+
+ type: function( obj ) {
+ if ( obj == null ) {
+ return String( obj );
+ }
+ // Support: Safari <= 5.1 (functionish RegExp)
+ return typeof obj === "object" || typeof obj === "function" ?
+ class2type[ core_toString.call(obj) ] || "object" :
+ typeof obj;
+ },
+
+ isPlainObject: function( obj ) {
+ // Not plain objects:
+ // - Any object or value whose internal [[Class]] property is not "[object Object]"
+ // - DOM nodes
+ // - window
+ if ( jQuery.type( obj ) !== "object" || obj.nodeType || jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ // Support: Firefox <20
+ // The try/catch suppresses exceptions thrown when attempting to access
+ // the "constructor" property of certain host objects, ie. |window.location|
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=814622
+ try {
+ if ( obj.constructor &&
+ !core_hasOwn.call( obj.constructor.prototype, "isPrototypeOf" ) ) {
+ return false;
+ }
+ } catch ( e ) {
+ return false;
+ }
+
+ // If the function hasn't returned already, we're confident that
+ // |obj| is a plain object, created by {} or constructed with new Object
+ return true;
+ },
+
+ 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
+ // keepScripts (optional): If true, will include scripts passed in the html string
+ parseHTML: function( data, context, keepScripts ) {
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+ if ( typeof context === "boolean" ) {
+ keepScripts = context;
+ context = false;
+ }
+ context = context || document;
+
+ var parsed = rsingleTag.exec( data ),
+ scripts = !keepScripts && [];
+
+ // Single tag
+ if ( parsed ) {
+ return [ context.createElement( parsed[1] ) ];
+ }
+
+ parsed = jQuery.buildFragment( [ data ], context, scripts );
+
+ if ( scripts ) {
+ jQuery( scripts ).remove();
+ }
+
+ return jQuery.merge( [], parsed.childNodes );
+ },
+
+ parseJSON: JSON.parse,
+
+ // Cross-browser xml parsing
+ parseXML: function( data ) {
+ var xml, tmp;
+ if ( !data || typeof data !== "string" ) {
+ return null;
+ }
+
+ // Support: IE9
+ try {
+ tmp = new DOMParser();
+ xml = tmp.parseFromString( data , "text/xml" );
+ } catch ( e ) {
+ xml = undefined;
+ }
+
+ if ( !xml || xml.getElementsByTagName( "parsererror" ).length ) {
+ jQuery.error( "Invalid XML: " + data );
+ }
+ return xml;
+ },
+
+ noop: function() {},
+
+ // Evaluates a script in a global context
+ globalEval: function( code ) {
+ var script,
+ indirect = eval;
+
+ code = jQuery.trim( code );
+
+ if ( code ) {
+ // If the code includes a valid, prologue position
+ // strict mode pragma, execute code by injecting a
+ // script tag into the document.
+ if ( code.indexOf("use strict") === 1 ) {
+ script = document.createElement("script");
+ script.text = code;
+ document.head.appendChild( script ).parentNode.removeChild( script );
+ } else {
+ // Otherwise, avoid the DOM node creation, insertion
+ // and removal by using an indirect global eval
+ indirect( code );
+ }
+ }
+ },
+
+ // 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 value,
+ i = 0,
+ length = obj.length,
+ isArray = isArraylike( obj );
+
+ if ( args ) {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.apply( obj[ i ], args );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+
+ // A special, fast, case for the most common use of each
+ } else {
+ if ( isArray ) {
+ for ( ; i < length; i++ ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ } else {
+ for ( i in obj ) {
+ value = callback.call( obj[ i ], i, obj[ i ] );
+
+ if ( value === false ) {
+ break;
+ }
+ }
+ }
+ }
+
+ return obj;
+ },
+
+ trim: function( text ) {
+ return text == null ? "" : core_trim.call( text );
+ },
+
+ // results is for internal usage only
+ makeArray: function( arr, results ) {
+ var ret = results || [];
+
+ if ( arr != null ) {
+ if ( isArraylike( Object(arr) ) ) {
+ jQuery.merge( ret,
+ typeof arr === "string" ?
+ [ arr ] : arr
+ );
+ } else {
+ core_push.call( ret, arr );
+ }
+ }
+
+ return ret;
+ },
+
+ inArray: function( elem, arr, i ) {
+ return arr == null ? -1 : core_indexOf.call( arr, elem, i );
+ },
+
+ 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,
+ i = 0,
+ length = elems.length,
+ isArray = isArraylike( elems ),
+ ret = [];
+
+ // 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 ( i in elems ) {
+ value = callback( elems[ i ], i, arg );
+
+ if ( value != null ) {
+ ret[ ret.length ] = value;
+ }
+ }
+ }
+
+ // Flatten any nested arrays
+ return core_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 || this, 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, raw ) {
+ var i = 0,
+ length = elems.length,
+ bulk = key == null;
+
+ // Sets many values
+ if ( jQuery.type( key ) === "object" ) {
+ chainable = true;
+ for ( i in key ) {
+ jQuery.access( elems, fn, i, key[i], true, emptyGet, raw );
+ }
+
+ // Sets one value
+ } else if ( value !== undefined ) {
+ chainable = true;
+
+ if ( !jQuery.isFunction( value ) ) {
+ raw = true;
+ }
+
+ if ( bulk ) {
+ // Bulk operations run against the entire set
+ if ( raw ) {
+ fn.call( elems, value );
+ fn = null;
+
+ // ...except when executing function values
+ } else {
+ bulk = fn;
+ fn = function( elem, key, value ) {
+ return bulk.call( jQuery( elem ), value );
+ };
+ }
+ }
+
+ if ( fn ) {
+ for ( ; i < length; i++ ) {
+ fn( elems[i], key, raw ? value : value.call( elems[i], i, fn( elems[i], key ) ) );
+ }
+ }
+ }
+
+ return chainable ?
+ elems :
+
+ // Gets
+ bulk ?
+ fn.call( elems ) :
+ length ? fn( elems[0], key ) : emptyGet;
+ },
+
+ now: Date.now,
+
+ // A method for quickly swapping in/out CSS properties to get correct calculations.
+ // Note: this method belongs to the css module but it's needed here for the support module.
+ // If support gets modularized, this method should be moved back to the css module.
+ swap: function( elem, options, callback, args ) {
+ 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.apply( elem, args || [] );
+
+ // Revert the old values
+ for ( name in options ) {
+ elem.style[ name ] = old[ name ];
+ }
+
+ return ret;
+ }
+});
+
+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 );
+
+ } else {
+
+ // Use the handy event callback
+ document.addEventListener( "DOMContentLoaded", completed, false );
+
+ // A fallback to window.onload, that will always work
+ window.addEventListener( "load", completed, false );
+ }
+ }
+ return readyList.promise( obj );
+};
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function(i, name) {
+ class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+function isArraylike( obj ) {
+ var length = obj.length,
+ type = jQuery.type( obj );
+
+ if ( jQuery.isWindow( obj ) ) {
+ return false;
+ }
+
+ if ( obj.nodeType === 1 && length ) {
+ return true;
+ }
+
+ return type === "array" || type !== "function" &&
+ ( length === 0 ||
+ typeof length === "number" && length > 0 && ( length - 1 ) in obj );
+}
+
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+/*!
+ * Sizzle CSS Selector Engine v1.9.4-pre
+ * http://sizzlejs.com/
+ *
+ * Copyright 2013 jQuery Foundation, Inc. and other contributors
+ * Released under the MIT license
+ * http://jquery.org/license
+ *
+ * Date: 2013-06-03
+ */
+(function( window, undefined ) {
+
+var i,
+ support,
+ cachedruns,
+ Expr,
+ getText,
+ isXML,
+ compile,
+ outermostContext,
+ sortInput,
+
+ // Local document vars
+ setDocument,
+ document,
+ docElem,
+ documentIsHTML,
+ rbuggyQSA,
+ rbuggyMatches,
+ matches,
+ contains,
+
+ // Instance-specific data
+ expando = "sizzle" + -(new Date()),
+ preferredDoc = window.document,
+ dirruns = 0,
+ done = 0,
+ classCache = createCache(),
+ tokenCache = createCache(),
+ compilerCache = createCache(),
+ hasDuplicate = false,
+ sortOrder = function( a, b ) {
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+ return 0;
+ },
+
+ // General-purpose constants
+ strundefined = typeof undefined,
+ MAX_NEGATIVE = 1 << 31,
+
+ // Instance methods
+ hasOwn = ({}).hasOwnProperty,
+ arr = [],
+ pop = arr.pop,
+ push_native = arr.push,
+ push = arr.push,
+ slice = arr.slice,
+ // Use a stripped-down indexOf if we can't use a native one
+ indexOf = arr.indexOf || function( elem ) {
+ var i = 0,
+ len = this.length;
+ for ( ; i < len; i++ ) {
+ if ( this[i] === elem ) {
+ return i;
+ }
+ }
+ return -1;
+ },
+
+ booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+
+ // Regular expressions
+
+ // 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
+ attributes = "\\[" + whitespace + "*(" + characterEncoding + ")" + whitespace +
+ "*(?:([*^$|!~]?=)" + whitespace + "*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + identifier + ")|)|)" + whitespace + "*\\]",
+
+ // Prefer arguments quoted,
+ // then not containing pseudos/brackets,
+ // then attribute selectors/non-parenthetical expressions,
+ // then anything else
+ // These preferences are here to reduce the number of selectors
+ // needing tokenize in the PSEUDO preFilter
+ pseudos = ":(" + characterEncoding + ")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + attributes.replace( 3, 8 ) + ")*)|.*)\\)|)",
+
+ // 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 + "*([>+~]|" + whitespace + ")" + whitespace + "*" ),
+
+ rsibling = new RegExp( whitespace + "*[+~]" ),
+ rattributeQuotes = new RegExp( "=" + whitespace + "*([^\\]'\"]*)" + whitespace + "*\\]", "g" ),
+
+ rpseudo = new RegExp( pseudos ),
+ ridentifier = new RegExp( "^" + identifier + "$" ),
+
+ matchExpr = {
+ "ID": new RegExp( "^#(" + characterEncoding + ")" ),
+ "CLASS": new RegExp( "^\\.(" + characterEncoding + ")" ),
+ "TAG": new RegExp( "^(" + characterEncoding.replace( "w", "w*" ) + ")" ),
+ "ATTR": new RegExp( "^" + attributes ),
+ "PSEUDO": new RegExp( "^" + pseudos ),
+ "CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace +
+ "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace +
+ "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
+ "bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
+ // For use in libraries implementing .is()
+ // We use this for POS matching in `select`
+ "needsContext": new RegExp( "^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" +
+ whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
+ },
+
+ rnative = /^[^{]+\{\s*\[native \w/,
+
+ // Easily-parseable/retrievable ID or TAG or CLASS selectors
+ rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+
+ rinputs = /^(?:input|select|textarea|button)$/i,
+ rheader = /^h\d$/i,
+
+ rescape = /'|\\/g,
+
+ // CSS escapes http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
+ runescape = new RegExp( "\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig" ),
+ funescape = function( _, escaped, escapedWhitespace ) {
+ var high = "0x" + escaped - 0x10000;
+ // NaN means non-codepoint
+ // Support: Firefox
+ // Workaround erroneous numeric interpretation of +"0x"
+ return high !== high || escapedWhitespace ?
+ escaped :
+ // BMP codepoint
+ high < 0 ?
+ String.fromCharCode( high + 0x10000 ) :
+ // Supplemental Plane codepoint (surrogate pair)
+ String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
+ };
+
+// Optimize for push.apply( _, NodeList )
+try {
+ push.apply(
+ (arr = slice.call( preferredDoc.childNodes )),
+ preferredDoc.childNodes
+ );
+ // Support: Android<4.0
+ // Detect silently failing push.apply
+ arr[ preferredDoc.childNodes.length ].nodeType;
+} catch ( e ) {
+ push = { apply: arr.length ?
+
+ // Leverage slice if possible
+ function( target, els ) {
+ push_native.apply( target, slice.call(els) );
+ } :
+
+ // Support: IE<9
+ // Otherwise append directly
+ function( target, els ) {
+ var j = target.length,
+ i = 0;
+ // Can't trust NodeList.length
+ while ( (target[j++] = els[i++]) ) {}
+ target.length = j - 1;
+ }
+ };
+}
+
+function Sizzle( selector, context, results, seed ) {
+ var match, elem, m, nodeType,
+ // QSA vars
+ i, groups, old, nid, newContext, newSelector;
+
+ if ( ( context ? context.ownerDocument || context : preferredDoc ) !== document ) {
+ setDocument( context );
+ }
+
+ context = context || document;
+ results = results || [];
+
+ if ( !selector || typeof selector !== "string" ) {
+ return results;
+ }
+
+ if ( (nodeType = context.nodeType) !== 1 && nodeType !== 9 ) {
+ return [];
+ }
+
+ if ( documentIsHTML && !seed ) {
+
+ // Shortcuts
+ 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, context.getElementsByTagName( selector ) );
+ return results;
+
+ // Speed-up: Sizzle(".CLASS")
+ } else if ( (m = match[3]) && support.getElementsByClassName && context.getElementsByClassName ) {
+ push.apply( results, context.getElementsByClassName( m ) );
+ return results;
+ }
+ }
+
+ // QSA path
+ if ( support.qsa && (!rbuggyQSA || !rbuggyQSA.test( selector )) ) {
+ nid = old = expando;
+ newContext = context;
+ newSelector = 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 ( 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 + toSelector( groups[i] );
+ }
+ newContext = rsibling.test( selector ) && context.parentNode || context;
+ newSelector = groups.join(",");
+ }
+
+ if ( newSelector ) {
+ try {
+ push.apply( results,
+ newContext.querySelectorAll( newSelector )
+ );
+ return results;
+ } catch(qsaError) {
+ } finally {
+ if ( !old ) {
+ context.removeAttribute("id");
+ }
+ }
+ }
+ }
+ }
+
+ // All others
+ return select( selector.replace( rtrim, "$1" ), context, results, seed );
+}
+
+/**
+ * Create key-value caches of limited size
+ * @returns {Function(string, Object)} Returns the Object data after storing it on itself with
+ * property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
+ * deleting the oldest entry
+ */
+function createCache() {
+ var keys = [];
+
+ function cache( key, value ) {
+ // Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
+ if ( keys.push( key += " " ) > Expr.cacheLength ) {
+ // Only keep the most recent entries
+ delete cache[ keys.shift() ];
+ }
+ return (cache[ key ] = value);
+ }
+ return cache;
+}
+
+/**
+ * Mark a function for special use by Sizzle
+ * @param {Function} fn The function to mark
+ */
+function markFunction( fn ) {
+ fn[ expando ] = true;
+ return fn;
+}
+
+/**
+ * Support testing using an element
+ * @param {Function} fn Passed the created div and expects a boolean result
+ */
+function assert( fn ) {
+ var div = document.createElement("div");
+
+ try {
+ return !!fn( div );
+ } catch (e) {
+ return false;
+ } finally {
+ // Remove from its parent by default
+ if ( div.parentNode ) {
+ div.parentNode.removeChild( div );
+ }
+ // release memory in IE
+ div = null;
+ }
+}
+
+/**
+ * Adds the same handler for all of the specified attrs
+ * @param {String} attrs Pipe-separated list of attributes
+ * @param {Function} handler The method that will be applied
+ */
+function addHandle( attrs, handler ) {
+ var arr = attrs.split("|"),
+ i = attrs.length;
+
+ while ( i-- ) {
+ Expr.attrHandle[ arr[i] ] = handler;
+ }
+}
+
+/**
+ * Checks document order of two siblings
+ * @param {Element} a
+ * @param {Element} b
+ * @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
+ */
+function siblingCheck( a, b ) {
+ var cur = b && a,
+ diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
+ ( ~b.sourceIndex || MAX_NEGATIVE ) -
+ ( ~a.sourceIndex || MAX_NEGATIVE );
+
+ // Use IE sourceIndex if available on both nodes
+ if ( diff ) {
+ return diff;
+ }
+
+ // Check if b follows a
+ if ( cur ) {
+ while ( (cur = cur.nextSibling) ) {
+ if ( cur === b ) {
+ return -1;
+ }
+ }
+ }
+
+ return a ? 1 : -1;
+}
+
+/**
+ * Returns a function to use in pseudos for input types
+ * @param {String} type
+ */
+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
+ * @param {String} type
+ */
+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
+ * @param {Function} fn
+ */
+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]);
+ }
+ }
+ });
+ });
+}
+
+/**
+ * Detect xml
+ * @param {Element|Object} elem An element or a document
+ */
+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;
+};
+
+// Expose support vars for convenience
+support = Sizzle.support = {};
+
+/**
+ * Sets document-related variables once based on the current document
+ * @param {Element|Object} [doc] An element or document object to use to set the document
+ * @returns {Object} Returns the current document
+ */
+setDocument = Sizzle.setDocument = function( node ) {
+ var doc = node ? node.ownerDocument || node : preferredDoc,
+ parent = doc.defaultView;
+
+ // If no document and documentElement is available, return
+ if ( doc === document || doc.nodeType !== 9 || !doc.documentElement ) {
+ return document;
+ }
+
+ // Set our document
+ document = doc;
+ docElem = doc.documentElement;
+
+ // Support tests
+ documentIsHTML = !isXML( doc );
+
+ // Support: IE>8
+ // If iframe document is assigned to "document" variable and if iframe has been reloaded,
+ // IE will throw "permission denied" error when accessing "document" variable, see jQuery #13936
+ // IE6-8 do not support the defaultView property so parent will be undefined
+ if ( parent && parent.attachEvent && parent !== parent.top ) {
+ parent.attachEvent( "onbeforeunload", function() {
+ setDocument();
+ });
+ }
+
+ /* Attributes
+ ---------------------------------------------------------------------- */
+
+ // Support: IE<8
+ // Verify that getAttribute really returns attributes and not properties (excepting IE8 booleans)
+ support.attributes = assert(function( div ) {
+ div.className = "i";
+ return !div.getAttribute("className");
+ });
+
+ /* getElement(s)By*
+ ---------------------------------------------------------------------- */
+
+ // Check if getElementsByTagName("*") returns only elements
+ support.getElementsByTagName = assert(function( div ) {
+ div.appendChild( doc.createComment("") );
+ return !div.getElementsByTagName("*").length;
+ });
+
+ // Check if getElementsByClassName can be trusted
+ support.getElementsByClassName = assert(function( div ) {
+ div.innerHTML = "";
+
+ // Support: Safari<4
+ // Catch class over-caching
+ div.firstChild.className = "i";
+ // Support: Opera<10
+ // Catch gEBCN failure to find non-leading classes
+ return div.getElementsByClassName("i").length === 2;
+ });
+
+ // Support: IE<10
+ // Check if getElementById returns elements by name
+ // The broken getElementById methods don't pick up programatically-set names,
+ // so use a roundabout getElementsByName test
+ support.getById = assert(function( div ) {
+ docElem.appendChild( div ).id = expando;
+ return !doc.getElementsByName || !doc.getElementsByName( expando ).length;
+ });
+
+ // ID find and filter
+ if ( support.getById ) {
+ Expr.find["ID"] = function( id, context ) {
+ if ( typeof context.getElementById !== strundefined && documentIsHTML ) {
+ 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] : [];
+ }
+ };
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ return elem.getAttribute("id") === attrId;
+ };
+ };
+ } else {
+ // Support: IE6/7
+ // getElementById is not reliable as a find shortcut
+ delete Expr.find["ID"];
+
+ Expr.filter["ID"] = function( id ) {
+ var attrId = id.replace( runescape, funescape );
+ return function( elem ) {
+ var node = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id");
+ return node && node.value === attrId;
+ };
+ };
+ }
+
+ // Tag
+ Expr.find["TAG"] = support.getElementsByTagName ?
+ function( tag, context ) {
+ if ( typeof context.getElementsByTagName !== strundefined ) {
+ return context.getElementsByTagName( tag );
+ }
+ } :
+ function( tag, context ) {
+ var elem,
+ tmp = [],
+ i = 0,
+ results = context.getElementsByTagName( tag );
+
+ // Filter out possible comments
+ if ( tag === "*" ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem.nodeType === 1 ) {
+ tmp.push( elem );
+ }
+ }
+
+ return tmp;
+ }
+ return results;
+ };
+
+ // Class
+ Expr.find["CLASS"] = support.getElementsByClassName && function( className, context ) {
+ if ( typeof context.getElementsByClassName !== strundefined && documentIsHTML ) {
+ return context.getElementsByClassName( className );
+ }
+ };
+
+ /* QSA/matchesSelector
+ ---------------------------------------------------------------------- */
+
+ // QSA and matchesSelector support
+
+ // matchesSelector(:active) reports false when true (IE9/Opera 11.5)
+ rbuggyMatches = [];
+
+ // qSa(:focus) reports false when true (Chrome 21)
+ // We allow this because of a bug in IE8/9 that throws an error
+ // whenever `document.activeElement` is accessed on an iframe
+ // So, we allow :focus to pass through QSA all the time to avoid the IE error
+ // See http://bugs.jquery.com/ticket/13378
+ rbuggyQSA = [];
+
+ if ( (support.qsa = rnative.test( doc.querySelectorAll )) ) {
+ // 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 explicitly
+ // setting a boolean content attribute,
+ // since its presence should be enough
+ // http://bugs.jquery.com/ticket/12359
+ div.innerHTML = "";
+
+ // Support: IE8
+ // Boolean attributes and "value" are not treated correctly
+ if ( !div.querySelectorAll("[selected]").length ) {
+ rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
+ }
+
+ // Webkit/Opera - :checked should return selected option elements
+ // http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":checked").length ) {
+ rbuggyQSA.push(":checked");
+ }
+ });
+
+ assert(function( div ) {
+
+ // Support: Opera 10-12/IE8
+ // ^= $= *= and empty values
+ // Should not select anything
+ // Support: Windows 8 Native Apps
+ // The type attribute is restricted during .innerHTML assignment
+ var input = doc.createElement("input");
+ input.setAttribute( "type", "hidden" );
+ div.appendChild( input ).setAttribute( "t", "" );
+
+ if ( div.querySelectorAll("[t^='']").length ) {
+ rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
+ }
+
+ // FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
+ // IE8 throws error here and will not see later tests
+ if ( !div.querySelectorAll(":enabled").length ) {
+ rbuggyQSA.push( ":enabled", ":disabled" );
+ }
+
+ // Opera 10-11 does not throw on post-comma invalid pseudos
+ div.querySelectorAll("*,:x");
+ rbuggyQSA.push(",.*:");
+ });
+ }
+
+ if ( (support.matchesSelector = rnative.test( (matches = docElem.webkitMatchesSelector ||
+ docElem.mozMatchesSelector ||
+ docElem.oMatchesSelector ||
+ docElem.msMatchesSelector) )) ) {
+
+ assert(function( div ) {
+ // Check to see if it's possible to do matchesSelector
+ // on a disconnected node (IE 9)
+ support.disconnectedMatch = matches.call( div, "div" );
+
+ // This should fail with an exception
+ // Gecko does not error, returns false instead
+ matches.call( div, "[s!='']:x" );
+ rbuggyMatches.push( "!=", pseudos );
+ });
+ }
+
+ rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join("|") );
+ rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join("|") );
+
+ /* Contains
+ ---------------------------------------------------------------------- */
+
+ // Element contains another
+ // Purposefully does not implement inclusive descendent
+ // As in, an element does not contain itself
+ contains = rnative.test( docElem.contains ) || docElem.compareDocumentPosition ?
+ 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 ) :
+ a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
+ ));
+ } :
+ function( a, b ) {
+ if ( b ) {
+ while ( (b = b.parentNode) ) {
+ if ( b === a ) {
+ return true;
+ }
+ }
+ }
+ return false;
+ };
+
+ /* Sorting
+ ---------------------------------------------------------------------- */
+
+ // Document order sorting
+ sortOrder = docElem.compareDocumentPosition ?
+ function( a, b ) {
+
+ // Flag for duplicate removal
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+ }
+
+ var compare = b.compareDocumentPosition && a.compareDocumentPosition && a.compareDocumentPosition( b );
+
+ if ( compare ) {
+ // Disconnected nodes
+ if ( compare & 1 ||
+ (!support.sortDetached && b.compareDocumentPosition( a ) === compare) ) {
+
+ // Choose the first element that is related to our preferred document
+ if ( a === doc || contains(preferredDoc, a) ) {
+ return -1;
+ }
+ if ( b === doc || contains(preferredDoc, b) ) {
+ return 1;
+ }
+
+ // Maintain original order
+ return sortInput ?
+ ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
+ 0;
+ }
+
+ return compare & 4 ? -1 : 1;
+ }
+
+ // Not directly comparable, sort on existence of method
+ return a.compareDocumentPosition ? -1 : 1;
+ } :
+ function( a, b ) {
+ var cur,
+ i = 0,
+ aup = a.parentNode,
+ bup = b.parentNode,
+ ap = [ a ],
+ bp = [ b ];
+
+ // Exit early if the nodes are identical
+ if ( a === b ) {
+ hasDuplicate = true;
+ return 0;
+
+ // Parentless nodes are either documents or disconnected
+ } else if ( !aup || !bup ) {
+ return a === doc ? -1 :
+ b === doc ? 1 :
+ aup ? -1 :
+ bup ? 1 :
+ sortInput ?
+ ( indexOf.call( sortInput, a ) - indexOf.call( sortInput, b ) ) :
+ 0;
+
+ // If the nodes are siblings, we can do a quick check
+ } else if ( aup === bup ) {
+ return siblingCheck( a, b );
+ }
+
+ // Otherwise we need full lists of their ancestors for comparison
+ cur = a;
+ while ( (cur = cur.parentNode) ) {
+ ap.unshift( cur );
+ }
+ cur = b;
+ while ( (cur = cur.parentNode) ) {
+ bp.unshift( cur );
+ }
+
+ // Walk down the tree looking for a discrepancy
+ while ( ap[i] === bp[i] ) {
+ i++;
+ }
+
+ return i ?
+ // Do a sibling check if the nodes have a common ancestor
+ siblingCheck( ap[i], bp[i] ) :
+
+ // Otherwise nodes in our document sort first
+ ap[i] === preferredDoc ? -1 :
+ bp[i] === preferredDoc ? 1 :
+ 0;
+ };
+
+ return doc;
+};
+
+Sizzle.matches = function( expr, elements ) {
+ return Sizzle( expr, null, null, elements );
+};
+
+Sizzle.matchesSelector = function( elem, expr ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ // Make sure that attribute selectors are quoted
+ expr = expr.replace( rattributeQuotes, "='$1']" );
+
+ if ( support.matchesSelector && documentIsHTML &&
+ ( !rbuggyMatches || !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 || support.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, document, null, [elem] ).length > 0;
+};
+
+Sizzle.contains = function( context, elem ) {
+ // Set document vars if needed
+ if ( ( context.ownerDocument || context ) !== document ) {
+ setDocument( context );
+ }
+ return contains( context, elem );
+};
+
+Sizzle.attr = function( elem, name ) {
+ // Set document vars if needed
+ if ( ( elem.ownerDocument || elem ) !== document ) {
+ setDocument( elem );
+ }
+
+ var fn = Expr.attrHandle[ name.toLowerCase() ],
+ // Don't get fooled by Object.prototype properties (jQuery #13807)
+ val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
+ fn( elem, name, !documentIsHTML ) :
+ undefined;
+
+ return val === undefined ?
+ support.attributes || !documentIsHTML ?
+ elem.getAttribute( name ) :
+ (val = elem.getAttributeNode(name)) && val.specified ?
+ val.value :
+ null :
+ val;
+};
+
+Sizzle.error = function( msg ) {
+ throw new Error( "Syntax error, unrecognized expression: " + msg );
+};
+
+/**
+ * Document sorting and removing duplicates
+ * @param {ArrayLike} results
+ */
+Sizzle.uniqueSort = function( results ) {
+ var elem,
+ duplicates = [],
+ j = 0,
+ i = 0;
+
+ // Unless we *know* we can detect duplicates, assume their presence
+ hasDuplicate = !support.detectDuplicates;
+ sortInput = !support.sortStable && results.slice( 0 );
+ results.sort( sortOrder );
+
+ if ( hasDuplicate ) {
+ while ( (elem = results[i++]) ) {
+ if ( elem === results[ i ] ) {
+ j = duplicates.push( i );
+ }
+ }
+ while ( j-- ) {
+ results.splice( duplicates[ j ], 1 );
+ }
+ }
+
+ return results;
+};
+
+/**
+ * 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 no nodeType, this is expected to be an array
+ for ( ; (node = elem[i]); i++ ) {
+ // Do not traverse comment nodes
+ ret += getText( node );
+ }
+ } else 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
+
+ return ret;
+};
+
+Expr = Sizzle.selectors = {
+
+ // Can be adjusted by the user
+ cacheLength: 50,
+
+ createPseudo: markFunction,
+
+ match: matchExpr,
+
+ attrHandle: {},
+
+ find: {},
+
+ relative: {
+ ">": { dir: "parentNode", first: true },
+ " ": { dir: "parentNode" },
+ "+": { dir: "previousSibling", first: true },
+ "~": { dir: "previousSibling" }
+ },
+
+ preFilter: {
+ "ATTR": function( match ) {
+ match[1] = match[1].replace( runescape, funescape );
+
+ // Move the given value to match[3] whether quoted or unquoted
+ match[3] = ( match[4] || match[5] || "" ).replace( runescape, funescape );
+
+ if ( match[2] === "~=" ) {
+ match[3] = " " + match[3] + " ";
+ }
+
+ return match.slice( 0, 4 );
+ },
+
+ "CHILD": function( match ) {
+ /* matches from matchExpr["CHILD"]
+ 1 type (only|nth|...)
+ 2 what (child|of-type)
+ 3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
+ 4 xn-component of xn+y argument ([+-]?\d*n|)
+ 5 sign of xn-component
+ 6 x of xn-component
+ 7 sign of y-component
+ 8 y of y-component
+ */
+ match[1] = match[1].toLowerCase();
+
+ if ( match[1].slice( 0, 3 ) === "nth" ) {
+ // nth-* requires argument
+ if ( !match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ // numeric x and y parameters for Expr.filter.CHILD
+ // remember that false/true cast respectively to 0/1
+ match[4] = +( match[4] ? match[5] + (match[6] || 1) : 2 * ( match[3] === "even" || match[3] === "odd" ) );
+ match[5] = +( ( match[7] + match[8] ) || match[3] === "odd" );
+
+ // other types prohibit arguments
+ } else if ( match[3] ) {
+ Sizzle.error( match[0] );
+ }
+
+ return match;
+ },
+
+ "PSEUDO": function( match ) {
+ var excess,
+ unquoted = !match[5] && match[2];
+
+ if ( matchExpr["CHILD"].test( match[0] ) ) {
+ return null;
+ }
+
+ // Accept quoted arguments as-is
+ if ( match[3] && match[4] !== undefined ) {
+ match[2] = match[4];
+
+ // Strip excess characters from unquoted arguments
+ } else if ( unquoted && 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
+ match[0] = match[0].slice( 0, excess );
+ match[2] = unquoted.slice( 0, excess );
+ }
+
+ // Return only captures needed by the pseudo filter method (type and argument)
+ return match.slice( 0, 3 );
+ }
+ },
+
+ filter: {
+
+ "TAG": function( nodeNameSelector ) {
+ var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
+ return nodeNameSelector === "*" ?
+ function() { return true; } :
+ function( elem ) {
+ return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
+ };
+ },
+
+ "CLASS": function( className ) {
+ var pattern = classCache[ className + " " ];
+
+ return pattern ||
+ (pattern = new RegExp( "(^|" + whitespace + ")" + className + "(" + whitespace + "|$)" )) &&
+ classCache( className, function( elem ) {
+ return pattern.test( typeof elem.className === "string" && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || "" );
+ });
+ },
+
+ "ATTR": function( name, operator, check ) {
+ return function( elem ) {
+ 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.slice( -check.length ) === check :
+ operator === "~=" ? ( " " + result + " " ).indexOf( check ) > -1 :
+ operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
+ false;
+ };
+ },
+
+ "CHILD": function( type, what, argument, first, last ) {
+ var simple = type.slice( 0, 3 ) !== "nth",
+ forward = type.slice( -4 ) !== "last",
+ ofType = what === "of-type";
+
+ return first === 1 && last === 0 ?
+
+ // Shortcut for :nth-*(n)
+ function( elem ) {
+ return !!elem.parentNode;
+ } :
+
+ function( elem, context, xml ) {
+ var cache, outerCache, node, diff, nodeIndex, start,
+ dir = simple !== forward ? "nextSibling" : "previousSibling",
+ parent = elem.parentNode,
+ name = ofType && elem.nodeName.toLowerCase(),
+ useCache = !xml && !ofType;
+
+ if ( parent ) {
+
+ // :(first|last|only)-(child|of-type)
+ if ( simple ) {
+ while ( dir ) {
+ node = elem;
+ while ( (node = node[ dir ]) ) {
+ if ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) {
+ return false;
+ }
+ }
+ // Reverse direction for :only-* (if we haven't yet done so)
+ start = dir = type === "only" && !start && "nextSibling";
+ }
+ return true;
+ }
+
+ start = [ forward ? parent.firstChild : parent.lastChild ];
+
+ // non-xml :nth-child(...) stores cache data on `parent`
+ if ( forward && useCache ) {
+ // Seek `elem` from a previously-cached index
+ outerCache = parent[ expando ] || (parent[ expando ] = {});
+ cache = outerCache[ type ] || [];
+ nodeIndex = cache[0] === dirruns && cache[1];
+ diff = cache[0] === dirruns && cache[2];
+ node = nodeIndex && parent.childNodes[ nodeIndex ];
+
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+
+ // Fallback to seeking `elem` from the start
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ // When found, cache indexes on `parent` and break
+ if ( node.nodeType === 1 && ++diff && node === elem ) {
+ outerCache[ type ] = [ dirruns, nodeIndex, diff ];
+ break;
+ }
+ }
+
+ // Use previously-cached element index if available
+ } else if ( useCache && (cache = (elem[ expando ] || (elem[ expando ] = {}))[ type ]) && cache[0] === dirruns ) {
+ diff = cache[1];
+
+ // xml :nth-child(...) or :nth-last-child(...) or :nth(-last)?-of-type(...)
+ } else {
+ // Use the same loop as above to seek `elem` from the start
+ while ( (node = ++nodeIndex && node && node[ dir ] ||
+ (diff = nodeIndex = 0) || start.pop()) ) {
+
+ if ( ( ofType ? node.nodeName.toLowerCase() === name : node.nodeType === 1 ) && ++diff ) {
+ // Cache the index of each encountered element
+ if ( useCache ) {
+ (node[ expando ] || (node[ expando ] = {}))[ type ] = [ dirruns, diff ];
+ }
+
+ if ( node === elem ) {
+ break;
+ }
+ }
+ }
+ }
+
+ // Incorporate the offset, then check against cycle size
+ diff -= last;
+ return diff === first || ( diff % first === 0 && diff / first >= 0 );
+ }
+ };
+ },
+
+ "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: {
+ // Potentially complex 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;
+ };
+ }),
+
+ // "Whether an element is represented by a :lang() selector
+ // is based solely on the element's language value
+ // being equal to the identifier C,
+ // or beginning with the identifier C immediately followed by "-".
+ // The matching of C against the element's language value is performed case-insensitively.
+ // The identifier C does not have to be a valid language name."
+ // http://www.w3.org/TR/selectors/#lang-pseudo
+ "lang": markFunction( function( lang ) {
+ // lang value must be a valid identifier
+ if ( !ridentifier.test(lang || "") ) {
+ Sizzle.error( "unsupported lang: " + lang );
+ }
+ lang = lang.replace( runescape, funescape ).toLowerCase();
+ return function( elem ) {
+ var elemLang;
+ do {
+ if ( (elemLang = documentIsHTML ?
+ elem.lang :
+ elem.getAttribute("xml:lang") || elem.getAttribute("lang")) ) {
+
+ elemLang = elemLang.toLowerCase();
+ return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
+ }
+ } while ( (elem = elem.parentNode) && elem.nodeType === 1 );
+ return false;
+ };
+ }),
+
+ // Miscellaneous
+ "target": function( elem ) {
+ var hash = window.location && window.location.hash;
+ return hash && hash.slice( 1 ) === elem.id;
+ },
+
+ "root": function( elem ) {
+ return elem === docElem;
+ },
+
+ "focus": function( elem ) {
+ return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex);
+ },
+
+ // Boolean properties
+ "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;
+ },
+
+ // Contents
+ "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 "?")
+ for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
+ if ( elem.nodeName > "@" || elem.nodeType === 3 || elem.nodeType === 4 ) {
+ return false;
+ }
+ }
+ return true;
+ },
+
+ "parent": function( elem ) {
+ return !Expr.pseudos["empty"]( elem );
+ },
+
+ // Element/input types
+ "header": function( elem ) {
+ return rheader.test( elem.nodeName );
+ },
+
+ "input": function( elem ) {
+ return rinputs.test( elem.nodeName );
+ },
+
+ "button": function( elem ) {
+ var name = elem.nodeName.toLowerCase();
+ return name === "input" && elem.type === "button" || name === "button";
+ },
+
+ "text": function( elem ) {
+ var 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" &&
+ elem.type === "text" &&
+ ( (attr = elem.getAttribute("type")) == null || attr.toLowerCase() === elem.type );
+ },
+
+ // Position-in-collection
+ "first": createPositionalPseudo(function() {
+ return [ 0 ];
+ }),
+
+ "last": createPositionalPseudo(function( matchIndexes, length ) {
+ return [ length - 1 ];
+ }),
+
+ "eq": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ return [ argument < 0 ? argument + length : argument ];
+ }),
+
+ "even": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 0;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "odd": createPositionalPseudo(function( matchIndexes, length ) {
+ var i = 1;
+ for ( ; i < length; i += 2 ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "lt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; --i >= 0; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ }),
+
+ "gt": createPositionalPseudo(function( matchIndexes, length, argument ) {
+ var i = argument < 0 ? argument + length : argument;
+ for ( ; ++i < length; ) {
+ matchIndexes.push( i );
+ }
+ return matchIndexes;
+ })
+ }
+};
+
+Expr.pseudos["nth"] = Expr.pseudos["eq"];
+
+// Add button/input type pseudos
+for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
+ Expr.pseudos[ i ] = createInputPseudo( i );
+}
+for ( i in { submit: true, reset: true } ) {
+ Expr.pseudos[ i ] = createButtonPseudo( i );
+}
+
+// Easy API for creating new setFilters
+function setFilters() {}
+setFilters.prototype = Expr.filters = Expr.pseudos;
+Expr.setFilters = new setFilters();
+
+function tokenize( selector, parseOnly ) {
+ var matched, match, tokens, type,
+ soFar, groups, preFilters,
+ cached = tokenCache[ 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 ) {
+ // Don't consume trailing commas as valid
+ soFar = soFar.slice( match[0].length ) || soFar;
+ }
+ groups.push( tokens = [] );
+ }
+
+ matched = false;
+
+ // Combinators
+ if ( (match = rcombinators.exec( soFar )) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ // Cast descendant combinators to space
+ type: match[0].replace( rtrim, " " )
+ });
+ soFar = soFar.slice( matched.length );
+ }
+
+ // Filters
+ for ( type in Expr.filter ) {
+ if ( (match = matchExpr[ type ].exec( soFar )) && (!preFilters[ type ] ||
+ (match = preFilters[ type ]( match ))) ) {
+ matched = match.shift();
+ tokens.push({
+ value: matched,
+ type: type,
+ matches: match
+ });
+ soFar = soFar.slice( matched.length );
+ }
+ }
+
+ 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 toSelector( tokens ) {
+ var i = 0,
+ len = tokens.length,
+ selector = "";
+ for ( ; i < len; i++ ) {
+ selector += tokens[i].value;
+ }
+ return selector;
+}
+
+function addCombinator( matcher, combinator, base ) {
+ var dir = combinator.dir,
+ checkNonElements = base && dir === "parentNode",
+ doneName = done++;
+
+ return combinator.first ?
+ // Check against closest ancestor/preceding element
+ function( elem, context, xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ return matcher( elem, context, xml );
+ }
+ }
+ } :
+
+ // Check against all ancestor/preceding elements
+ function( elem, context, xml ) {
+ var data, cache, outerCache,
+ dirkey = dirruns + " " + doneName;
+
+ // We can't set arbitrary data on XML nodes, so they don't benefit from dir caching
+ if ( xml ) {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ if ( matcher( elem, context, xml ) ) {
+ return true;
+ }
+ }
+ }
+ } else {
+ while ( (elem = elem[ dir ]) ) {
+ if ( elem.nodeType === 1 || checkNonElements ) {
+ outerCache = elem[ expando ] || (elem[ expando ] = {});
+ if ( (cache = outerCache[ dir ]) && cache[0] === dirkey ) {
+ if ( (data = cache[1]) === true || data === cachedruns ) {
+ return data === true;
+ }
+ } else {
+ cache = outerCache[ dir ] = [ dirkey ];
+ cache[1] = matcher( elem, context, xml ) || cachedruns;
+ if ( cache[1] === true ) {
+ return true;
+ }
+ }
+ }
+ }
+ }
+ };
+}
+
+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 ) {
+ var temp, i, elem,
+ preMap = [],
+ postMap = [],
+ preexisting = results.length,
+
+ // Get initial elements from seed or context
+ elems = seed || multipleContexts( selector || "*", context.nodeType ? [ context ] : context, [] ),
+
+ // 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 ) {
+ temp = condense( matcherOut, postMap );
+ postFilter( temp, [], context, xml );
+
+ // Un-match failing elements by moving them back to matcherIn
+ i = temp.length;
+ while ( i-- ) {
+ if ( (elem = temp[i]) ) {
+ matcherOut[ postMap[i] ] = !(matcherIn[ postMap[i] ] = elem);
+ }
+ }
+ }
+
+ if ( seed ) {
+ if ( postFinder || preFilter ) {
+ if ( postFinder ) {
+ // Get the final matcherOut by condensing this intermediate into postFinder contexts
+ temp = [];
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) ) {
+ // Restore matcherIn since elem is not yet a final match
+ temp.push( (matcherIn[i] = elem) );
+ }
+ }
+ postFinder( null, (matcherOut = []), temp, xml );
+ }
+
+ // Move matched elements from seed to results to keep them synchronized
+ i = matcherOut.length;
+ while ( i-- ) {
+ if ( (elem = matcherOut[i]) &&
+ (temp = postFinder ? indexOf.call( seed, elem ) : preMap[i]) > -1 ) {
+
+ seed[temp] = !(results[temp] = elem);
+ }
+ }
+ }
+
+ // Add elements to results, through postFinder if defined
+ } 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 {
+ 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 && toSelector(
+ // If the preceding token was a descendant combinator, insert an implicit any-element `*`
+ tokens.slice( 0, i - 1 ).concat({ value: tokens[ i - 2 ].type === " " ? "*" : "" })
+ ).replace( rtrim, "$1" ),
+ matcher,
+ i < j && matcherFromTokens( tokens.slice( i, j ) ),
+ j < len && matcherFromTokens( (tokens = tokens.slice( j )) ),
+ j < len && toSelector( tokens )
+ );
+ }
+ matchers.push( matcher );
+ }
+ }
+
+ return elementMatcher( matchers );
+}
+
+function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
+ // A counter to specify which element is currently being matched
+ var matcherCachedRuns = 0,
+ 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 ),
+ // Use integer dirruns iff this is the outermost matcher
+ dirrunsUnique = (dirruns += contextBackup == null ? 1 : Math.random() || 0.1);
+
+ if ( outermost ) {
+ outermostContext = context !== document && context;
+ cachedruns = matcherCachedRuns;
+ }
+
+ // Add elements passing elementMatchers directly to results
+ // Keep `i` a string if there are no elements so `matchedCount` will be "00" below
+ for ( ; (elem = elems[i]) != null; i++ ) {
+ if ( byElement && elem ) {
+ j = 0;
+ while ( (matcher = elementMatchers[j++]) ) {
+ if ( matcher( elem, context, xml ) ) {
+ results.push( elem );
+ break;
+ }
+ }
+ if ( outermost ) {
+ dirruns = dirrunsUnique;
+ cachedruns = ++matcherCachedRuns;
+ }
+ }
+
+ // 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 ) {
+ j = 0;
+ while ( (matcher = setMatchers[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;
+ };
+
+ return bySet ?
+ markFunction( superMatcher ) :
+ superMatcher;
+}
+
+compile = Sizzle.compile = function( selector, group /* Internal Use Only */ ) {
+ var i,
+ setMatchers = [],
+ elementMatchers = [],
+ cached = compilerCache[ 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 ) {
+ var i = 0,
+ len = contexts.length;
+ for ( ; i < len; i++ ) {
+ Sizzle( selector, contexts[i], results );
+ }
+ return results;
+}
+
+function select( selector, context, results, seed ) {
+ var i, tokens, token, type, find,
+ match = tokenize( selector );
+
+ 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" &&
+ support.getById && context.nodeType === 9 && documentIsHTML &&
+ Expr.relative[ tokens[1].type ] ) {
+
+ context = ( Expr.find["ID"]( token.matches[0].replace(runescape, funescape), context ) || [] )[0];
+ if ( !context ) {
+ return results;
+ }
+ selector = selector.slice( tokens.shift().value.length );
+ }
+
+ // Fetch a seed set for right-to-left matching
+ i = matchExpr["needsContext"].test( selector ) ? 0 : tokens.length;
+ while ( 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( runescape, funescape ),
+ rsibling.test( tokens[0].type ) && context.parentNode || context
+ )) ) {
+
+ // If seed is empty or no tokens remain, we can return early
+ tokens.splice( i, 1 );
+ selector = seed.length && toSelector( tokens );
+ if ( !selector ) {
+ push.apply( results, seed );
+ 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,
+ !documentIsHTML,
+ results,
+ rsibling.test( selector )
+ );
+ return results;
+}
+
+// One-time assignments
+
+// Sort stability
+support.sortStable = expando.split("").sort( sortOrder ).join("") === expando;
+
+// Support: Chrome<14
+// Always assume duplicates if they aren't passed to the comparison function
+support.detectDuplicates = hasDuplicate;
+
+// Initialize against the default document
+setDocument();
+
+// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
+// Detached nodes confoundingly follow *each other*
+support.sortDetached = assert(function( div1 ) {
+ // Should return 1, but returns 4 (following)
+ return div1.compareDocumentPosition( document.createElement("div") ) & 1;
+});
+
+// Support: IE<8
+// Prevent attribute/property "interpolation"
+// http://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
+if ( !assert(function( div ) {
+ div.innerHTML = "";
+ return div.firstChild.getAttribute("href") === "#" ;
+}) ) {
+ addHandle( "type|href|height|width", function( elem, name, isXML ) {
+ if ( !isXML ) {
+ return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
+ }
+ });
+}
+
+// Support: IE<9
+// Use defaultValue in place of getAttribute("value")
+if ( !support.attributes || !assert(function( div ) {
+ div.innerHTML = "";
+ div.firstChild.setAttribute( "value", "" );
+ return div.firstChild.getAttribute( "value" ) === "";
+}) ) {
+ addHandle( "value", function( elem, name, isXML ) {
+ if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
+ return elem.defaultValue;
+ }
+ });
+}
+
+// Support: IE<9
+// Use getAttributeNode to fetch booleans when getAttribute lies
+if ( !assert(function( div ) {
+ return div.getAttribute("disabled") == null;
+}) ) {
+ addHandle( booleans, function( elem, name, isXML ) {
+ var val;
+ if ( !isXML ) {
+ return (val = elem.getAttributeNode( name )) && val.specified ?
+ val.value :
+ elem[ name ] === true ? name.toLowerCase() : null;
+ }
+ });
+}
+
+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 );
+// 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.match( core_rnotwhite ) || [], 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" ) {
+ if ( !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;
+ },
+ // Check if a given callback is in the list.
+ // If no argument is given, return whether or not list has callbacks attached.
+ has: function( fn ) {
+ return fn ? jQuery.inArray( fn, list ) > -1 : !!( list && list.length );
+ },
+ // Remove all callbacks from the list
+ empty: function() {
+ list = [];
+ firingLength = 0;
+ 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 ) {
+ if ( list && ( !fired || stack ) ) {
+ args = args || [];
+ args = [ context, args.slice ? args.slice() : args ];
+ 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 = jQuery.isFunction( fns[ i ] ) && fns[ i ];
+ // deferred[ done | fail | progress ] for forwarding actions to newDefer
+ deferred[ tuple[1] ](function() {
+ var returned = fn && 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 === promise ? newDefer.promise() : this, fn ? [ returned ] : arguments );
+ }
+ });
+ });
+ 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 ]
+ deferred[ tuple[0] ] = function() {
+ deferred[ tuple[0] + "With" ]( this === deferred ? promise : this, arguments );
+ return this;
+ };
+ 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( support ) {
+ var input = document.createElement("input"),
+ fragment = document.createDocumentFragment(),
+ div = document.createElement("div"),
+ select = document.createElement("select"),
+ opt = select.appendChild( document.createElement("option") );
+
+ // Finish early in limited environments
+ if ( !input.type ) {
+ return support;
+ }
+
+ input.type = "checkbox";
+
+ // Support: Safari 5.1, iOS 5.1, Android 4.x, Android 2.3
+ // Check the default checkbox/radio value ("" on old WebKit; "on" elsewhere)
+ support.checkOn = input.value !== "";
+
+ // Must access the parent to make an option select properly
+ // Support: IE9, IE10
+ support.optSelected = opt.selected;
+
+ // Will be defined later
+ support.reliableMarginRight = true;
+ support.boxSizingReliable = true;
+ support.pixelPosition = false;
+
+ // Make sure checked status is properly cloned
+ // Support: IE9, IE10
+ 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;
+
+ // Check if an input maintains its value after becoming a radio
+ // Support: IE9, IE10
+ input = document.createElement("input");
+ input.value = "t";
+ input.type = "radio";
+ support.radioValue = input.value === "t";
+
+ // #11217 - WebKit loses check when the name is after the checked attribute
+ input.setAttribute( "checked", "t" );
+ input.setAttribute( "name", "t" );
+
+ fragment.appendChild( input );
+
+ // Support: Safari 5.1, Android 4.x, Android 2.3
+ // old WebKit doesn't clone checked state correctly in fragments
+ support.checkClone = fragment.cloneNode( true ).cloneNode( true ).lastChild.checked;
+
+ // Support: Firefox, Chrome, Safari
+ // Beware of CSP restrictions (https://developer.mozilla.org/en/Security/CSP)
+ support.focusinBubbles = "onfocusin" in window;
+
+ div.style.backgroundClip = "content-box";
+ div.cloneNode( true ).style.backgroundClip = "";
+ support.clearCloneStyle = div.style.backgroundClip === "content-box";
+
+ // Run tests that need a body at doc ready
+ jQuery(function() {
+ var container, marginDiv,
+ // Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
+ divReset = "padding:0;margin:0;border:0;display:block;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box",
+ 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 = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px";
+
+ // Check box-sizing and margin behavior.
+ body.appendChild( container ).appendChild( div );
+ div.innerHTML = "";
+ // Support: Firefox, Android 2.3 (Prefixed box-sizing versions).
+ div.style.cssText = "-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%";
+
+ // Workaround failing boxSizing test due to offsetWidth returning wrong value
+ // with some non-1 values of body zoom, ticket #13543
+ jQuery.swap( body, body.style.zoom != null ? { zoom: 1 } : {}, function() {
+ support.boxSizing = div.offsetWidth === 4;
+ });
+
+ // Use 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";
+
+ // Support: Android 2.3
+ // Check if div with explicit width and no margin-right incorrectly
+ // gets computed margin-right based on width of container. (#3333)
+ // WebKit Bug 13343 - getComputedStyle returns wrong value for margin-right
+ marginDiv = div.appendChild( document.createElement("div") );
+ marginDiv.style.cssText = div.style.cssText = divReset;
+ marginDiv.style.marginRight = marginDiv.style.width = "0";
+ div.style.width = "1px";
+
+ support.reliableMarginRight =
+ !parseFloat( ( window.getComputedStyle( marginDiv, null ) || {} ).marginRight );
+ }
+
+ body.removeChild( container );
+ });
+
+ return support;
+})( {} );
+
+/*
+ Implementation Summary
+
+ 1. Enforce API surface and semantic compatibility with 1.9.x branch
+ 2. Improve the module's maintainability by reducing the storage
+ paths to a single mechanism.
+ 3. Use the same single mechanism to support "private" and "user" data.
+ 4. _Never_ expose "private" data to user code (TODO: Drop _data, _removeData)
+ 5. Avoid exposing implementation details on user objects (eg. expando properties)
+ 6. Provide a clear path for implementation upgrade to WeakMap in 2014
+*/
+var data_user, data_priv,
+ rbrace = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/,
+ rmultiDash = /([A-Z])/g;
+
+function Data() {
+ // Support: Android < 4,
+ // Old WebKit does not have Object.preventExtensions/freeze method,
+ // return new empty object instead with no [[set]] accessor
+ Object.defineProperty( this.cache = {}, 0, {
+ get: function() {
+ return {};
+ }
+ });
+
+ this.expando = jQuery.expando + Math.random();
+}
+
+Data.uid = 1;
+
+Data.accepts = function( owner ) {
+ // Accepts only:
+ // - Node
+ // - Node.ELEMENT_NODE
+ // - Node.DOCUMENT_NODE
+ // - Object
+ // - Any
+ return owner.nodeType ?
+ owner.nodeType === 1 || owner.nodeType === 9 : true;
+};
+
+Data.prototype = {
+ key: function( owner ) {
+ // We can accept data for non-element nodes in modern browsers,
+ // but we should not, see #8335.
+ // Always return the key for a frozen object.
+ if ( !Data.accepts( owner ) ) {
+ return 0;
+ }
+
+ var descriptor = {},
+ // Check if the owner object already has a cache key
+ unlock = owner[ this.expando ];
+
+ // If not, create one
+ if ( !unlock ) {
+ unlock = Data.uid++;
+
+ // Secure it in a non-enumerable, non-writable property
+ try {
+ descriptor[ this.expando ] = { value: unlock };
+ Object.defineProperties( owner, descriptor );
+
+ // Support: Android < 4
+ // Fallback to a less secure definition
+ } catch ( e ) {
+ descriptor[ this.expando ] = unlock;
+ jQuery.extend( owner, descriptor );
+ }
+ }
+
+ // Ensure the cache object
+ if ( !this.cache[ unlock ] ) {
+ this.cache[ unlock ] = {};
+ }
+
+ return unlock;
+ },
+ set: function( owner, data, value ) {
+ var prop,
+ // There may be an unlock assigned to this node,
+ // if there is no entry for this "owner", create one inline
+ // and set the unlock as though an owner entry had always existed
+ unlock = this.key( owner ),
+ cache = this.cache[ unlock ];
+
+ // Handle: [ owner, key, value ] args
+ if ( typeof data === "string" ) {
+ cache[ data ] = value;
+
+ // Handle: [ owner, { properties } ] args
+ } else {
+ // Fresh assignments by object are shallow copied
+ if ( jQuery.isEmptyObject( cache ) ) {
+ jQuery.extend( this.cache[ unlock ], data );
+ // Otherwise, copy the properties one-by-one to the cache object
+ } else {
+ for ( prop in data ) {
+ cache[ prop ] = data[ prop ];
+ }
+ }
+ }
+ return cache;
+ },
+ get: function( owner, key ) {
+ // Either a valid cache is found, or will be created.
+ // New caches will be created and the unlock returned,
+ // allowing direct access to the newly created
+ // empty data object. A valid owner object must be provided.
+ var cache = this.cache[ this.key( owner ) ];
+
+ return key === undefined ?
+ cache : cache[ key ];
+ },
+ access: function( owner, key, value ) {
+ var stored;
+ // In cases where either:
+ //
+ // 1. No key was specified
+ // 2. A string key was specified, but no value provided
+ //
+ // Take the "read" path and allow the get method to determine
+ // which value to return, respectively either:
+ //
+ // 1. The entire cache object
+ // 2. The data stored at the key
+ //
+ if ( key === undefined ||
+ ((key && typeof key === "string") && value === undefined) ) {
+
+ stored = this.get( owner, key );
+
+ return stored !== undefined ?
+ stored : this.get( owner, jQuery.camelCase(key) );
+ }
+
+ // [*]When the key is not a string, or both a key and value
+ // are specified, set or extend (existing objects) with either:
+ //
+ // 1. An object of properties
+ // 2. A key and value
+ //
+ this.set( owner, key, value );
+
+ // Since the "set" path can have two possible entry points
+ // return the expected data based on which path was taken[*]
+ return value !== undefined ? value : key;
+ },
+ remove: function( owner, key ) {
+ var i, name, camel,
+ unlock = this.key( owner ),
+ cache = this.cache[ unlock ];
+
+ if ( key === undefined ) {
+ this.cache[ unlock ] = {};
+
+ } else {
+ // Support array or space separated string of keys
+ if ( jQuery.isArray( key ) ) {
+ // If "name" is an array of keys...
+ // When data is initially created, via ("key", "val") signature,
+ // keys will be converted to camelCase.
+ // Since there is no way to tell _how_ a key was added, remove
+ // both plain key and camelCase key. #12786
+ // This will only penalize the array argument path.
+ name = key.concat( key.map( jQuery.camelCase ) );
+ } else {
+ camel = jQuery.camelCase( key );
+ // Try the string as a key before any manipulation
+ if ( key in cache ) {
+ name = [ key, camel ];
+ } else {
+ // If a key with the spaces exists, use it.
+ // Otherwise, create an array by matching non-whitespace
+ name = camel;
+ name = name in cache ?
+ [ name ] : ( name.match( core_rnotwhite ) || [] );
+ }
+ }
+
+ i = name.length;
+ while ( i-- ) {
+ delete cache[ name[ i ] ];
+ }
+ }
+ },
+ hasData: function( owner ) {
+ return !jQuery.isEmptyObject(
+ this.cache[ owner[ this.expando ] ] || {}
+ );
+ },
+ discard: function( owner ) {
+ if ( owner[ this.expando ] ) {
+ delete this.cache[ owner[ this.expando ] ];
+ }
+ }
+};
+
+// These may be used throughout the jQuery core codebase
+data_user = new Data();
+data_priv = new Data();
+
+
+jQuery.extend({
+ acceptData: Data.accepts,
+
+ hasData: function( elem ) {
+ return data_user.hasData( elem ) || data_priv.hasData( elem );
+ },
+
+ data: function( elem, name, data ) {
+ return data_user.access( elem, name, data );
+ },
+
+ removeData: function( elem, name ) {
+ data_user.remove( elem, name );
+ },
+
+ // TODO: Now that all calls to _data and _removeData have been replaced
+ // with direct calls to data_priv methods, these can be deprecated.
+ _data: function( elem, name, data ) {
+ return data_priv.access( elem, name, data );
+ },
+
+ _removeData: function( elem, name ) {
+ data_priv.remove( elem, name );
+ }
+});
+
+jQuery.fn.extend({
+ data: function( key, value ) {
+ var attrs, name,
+ elem = this[ 0 ],
+ i = 0,
+ data = null;
+
+ // Gets all values
+ if ( key === undefined ) {
+ if ( this.length ) {
+ data = data_user.get( elem );
+
+ if ( elem.nodeType === 1 && !data_priv.get( elem, "hasDataAttrs" ) ) {
+ attrs = elem.attributes;
+ for ( ; i < attrs.length; i++ ) {
+ name = attrs[ i ].name;
+
+ if ( name.indexOf( "data-" ) === 0 ) {
+ name = jQuery.camelCase( name.slice(5) );
+ dataAttr( elem, name, data[ name ] );
+ }
+ }
+ data_priv.set( elem, "hasDataAttrs", true );
+ }
+ }
+
+ return data;
+ }
+
+ // Sets multiple values
+ if ( typeof key === "object" ) {
+ return this.each(function() {
+ data_user.set( this, key );
+ });
+ }
+
+ return jQuery.access( this, function( value ) {
+ var data,
+ camelKey = jQuery.camelCase( key );
+
+ // The calling jQuery object (element matches) is not empty
+ // (and therefore has an element appears at this[ 0 ]) and the
+ // `value` parameter was not undefined. An empty jQuery object
+ // will result in `undefined` for elem = this[ 0 ] which will
+ // throw an exception if an attempt to read a data cache is made.
+ if ( elem && value === undefined ) {
+ // Attempt to get data from the cache
+ // with the key as-is
+ data = data_user.get( elem, key );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to get data from the cache
+ // with the key camelized
+ data = data_user.get( elem, camelKey );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // Attempt to "discover" the data in
+ // HTML5 custom data-* attrs
+ data = dataAttr( elem, camelKey, undefined );
+ if ( data !== undefined ) {
+ return data;
+ }
+
+ // We tried really hard, but the data doesn't exist.
+ return;
+ }
+
+ // Set the data...
+ this.each(function() {
+ // First, attempt to store a copy or reference of any
+ // data that might've been store with a camelCased key.
+ var data = data_user.get( this, camelKey );
+
+ // For HTML5 data-* attribute interop, we have to
+ // store property names with dashes in a camelCase form.
+ // This might not apply to all properties...*
+ data_user.set( this, camelKey, value );
+
+ // *... In the case of properties that might _actually_
+ // have dashes, we need to also store a copy of that
+ // unchanged property.
+ if ( key.indexOf("-") !== -1 && data !== undefined ) {
+ data_user.set( this, key, value );
+ }
+ });
+ }, null, value, arguments.length > 1, null, true );
+ },
+
+ removeData: function( key ) {
+ return this.each(function() {
+ data_user.remove( this, key );
+ });
+ }
+});
+
+function dataAttr( elem, key, data ) {
+ var name;
+
+ // If nothing was found internally, try to fetch any
+ // data from the HTML5 data-* attribute
+ if ( data === undefined && elem.nodeType === 1 ) {
+ 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 ) ? JSON.parse( data ) :
+ data;
+ } catch( e ) {}
+
+ // Make sure we set the data so it isn't changed later
+ data_user.set( elem, key, data );
+ } else {
+ data = undefined;
+ }
+ }
+ return data;
+}
+jQuery.extend({
+ queue: function( elem, type, data ) {
+ var queue;
+
+ if ( elem ) {
+ type = ( type || "fx" ) + "queue";
+ queue = data_priv.get( elem, type );
+
+ // Speed up dequeue by getting out quickly if this is just a lookup
+ if ( data ) {
+ if ( !queue || jQuery.isArray( data ) ) {
+ queue = data_priv.access( 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 data_priv.get( elem, key ) || data_priv.access( elem, key, {
+ empty: jQuery.Callbacks("once memory").add(function() {
+ data_priv.remove( elem, [ type + "queue", key ] );
+ })
+ });
+ }
+});
+
+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 = data_priv.get( elements[ i ], type + "queueHooks" );
+ if ( tmp && tmp.empty ) {
+ count++;
+ tmp.empty.add( resolve );
+ }
+ }
+ resolve();
+ return defer.promise( obj );
+ }
+});
+var nodeHook, boolHook,
+ rclass = /[\t\r\n\f]/g,
+ rreturn = /\r/g,
+ rfocusable = /^(?:input|select|textarea|button)$/i;
+
+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 ) {
+ return this.each(function() {
+ delete this[ jQuery.propFix[ name ] || name ];
+ });
+ },
+
+ addClass: function( value ) {
+ var classes, elem, cur, clazz, j,
+ i = 0,
+ len = this.length,
+ proceed = typeof value === "string" && value;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( j ) {
+ jQuery( this ).addClass( value.call( this, j, this.className ) );
+ });
+ }
+
+ if ( proceed ) {
+ // The disjunction here is for better compressibility (see removeClass)
+ classes = ( value || "" ).match( core_rnotwhite ) || [];
+
+ for ( ; i < len; i++ ) {
+ elem = this[ i ];
+ cur = elem.nodeType === 1 && ( elem.className ?
+ ( " " + elem.className + " " ).replace( rclass, " " ) :
+ " "
+ );
+
+ if ( cur ) {
+ j = 0;
+ while ( (clazz = classes[j++]) ) {
+ if ( cur.indexOf( " " + clazz + " " ) < 0 ) {
+ cur += clazz + " ";
+ }
+ }
+ elem.className = jQuery.trim( cur );
+
+ }
+ }
+ }
+
+ return this;
+ },
+
+ removeClass: function( value ) {
+ var classes, elem, cur, clazz, j,
+ i = 0,
+ len = this.length,
+ proceed = arguments.length === 0 || typeof value === "string" && value;
+
+ if ( jQuery.isFunction( value ) ) {
+ return this.each(function( j ) {
+ jQuery( this ).removeClass( value.call( this, j, this.className ) );
+ });
+ }
+ if ( proceed ) {
+ classes = ( value || "" ).match( core_rnotwhite ) || [];
+
+ for ( ; i < len; i++ ) {
+ elem = this[ i ];
+ // This expression is here for better compressibility (see addClass)
+ cur = elem.nodeType === 1 && ( elem.className ?
+ ( " " + elem.className + " " ).replace( rclass, " " ) :
+ ""
+ );
+
+ if ( cur ) {
+ j = 0;
+ while ( (clazz = classes[j++]) ) {
+ // Remove *all* instances
+ while ( cur.indexOf( " " + clazz + " " ) >= 0 ) {
+ cur = cur.replace( " " + clazz + " ", " " );
+ }
+ }
+ elem.className = value ? jQuery.trim( cur ) : "";
+ }
+ }
+ }
+
+ return this;
+ },
+
+ toggleClass: function( value, stateVal ) {
+ var type = typeof value;
+
+ if ( typeof stateVal === "boolean" && type === "string" ) {
+ return stateVal ? this.addClass( value ) : this.removeClass( value );
+ }
+
+ 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 ),
+ classNames = value.match( core_rnotwhite ) || [];
+
+ while ( (className = classNames[ i++ ]) ) {
+ // check each className given, space separated list
+ if ( self.hasClass( className ) ) {
+ self.removeClass( className );
+ } else {
+ self.addClass( className );
+ }
+ }
+
+ // Toggle whole class name
+ } else if ( type === core_strundefined || type === "boolean" ) {
+ if ( this.className ) {
+ // store className if set
+ data_priv.set( this, "__className__", this.className );
+ }
+
+ // If the element has a class name or if we're passed "false",
+ // then remove the whole classname (if there was one, the above saved it).
+ // Otherwise bring back whatever was previously saved (if anything),
+ // falling back to the empty string if nothing was stored.
+ this.className = this.className || value === false ? "" : data_priv.get( 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;
+
+ if ( this.nodeType !== 1 ) {
+ return;
+ }
+
+ if ( isFunction ) {
+ val = value.call( this, i, jQuery( this ).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, option,
+ options = elem.options,
+ index = elem.selectedIndex,
+ one = elem.type === "select-one" || index < 0,
+ values = one ? null : [],
+ max = one ? index + 1 : options.length,
+ i = index < 0 ?
+ max :
+ one ? index : 0;
+
+ // Loop through all the selected options
+ for ( ; i < max; i++ ) {
+ option = options[ i ];
+
+ // IE6-9 doesn't update selected after form reset (#2551)
+ if ( ( option.selected || i === index ) &&
+ // Don't return options that are disabled or in a disabled optgroup
+ ( 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 );
+ }
+ }
+
+ return values;
+ },
+
+ set: function( elem, value ) {
+ var optionSet, option,
+ options = elem.options,
+ values = jQuery.makeArray( value ),
+ i = options.length;
+
+ while ( i-- ) {
+ option = options[ i ];
+ if ( (option.selected = jQuery.inArray( jQuery(option).val(), values ) >= 0) ) {
+ optionSet = true;
+ }
+ }
+
+ // force browsers to behave consistently when non-matching value is set
+ if ( !optionSet ) {
+ elem.selectedIndex = -1;
+ }
+ return values;
+ }
+ }
+ },
+
+ attr: function( elem, name, value ) {
+ var hooks, ret,
+ nType = elem.nodeType;
+
+ // don't get/set attributes on text, comment and attribute nodes
+ if ( !elem || nType === 3 || nType === 8 || nType === 2 ) {
+ return;
+ }
+
+ // Fallback to prop when attributes are not supported
+ if ( typeof elem.getAttribute === core_strundefined ) {
+ return jQuery.prop( elem, name, value );
+ }
+
+ // All attributes are lowercase
+ // Grab necessary hook if one is defined
+ if ( nType !== 1 || !jQuery.isXMLDoc( elem ) ) {
+ name = name.toLowerCase();
+ hooks = jQuery.attrHooks[ name ] ||
+ ( jQuery.expr.match.bool.test( name ) ? boolHook : nodeHook );
+ }
+
+ if ( value !== undefined ) {
+
+ if ( value === null ) {
+ jQuery.removeAttr( elem, name );
+
+ } else if ( hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ) {
+ return ret;
+
+ } else {
+ elem.setAttribute( name, value + "" );
+ return value;
+ }
+
+ } else if ( hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ) {
+ return ret;
+
+ } else {
+ ret = jQuery.find.attr( elem, name );
+
+ // Non-existent attributes return null, we normalize to undefined
+ return ret == null ?
+ undefined :
+ ret;
+ }
+ },
+
+ removeAttr: function( elem, value ) {
+ var name, propName,
+ i = 0,
+ attrNames = value && value.match( core_rnotwhite );
+
+ if ( attrNames && elem.nodeType === 1 ) {
+ while ( (name = attrNames[i++]) ) {
+ propName = jQuery.propFix[ name ] || name;
+
+ // Boolean attributes get special treatment (#10870)
+ if ( jQuery.expr.match.bool.test( name ) ) {
+ // Set corresponding property to false
+ elem[ propName ] = false;
+ }
+
+ elem.removeAttribute( name );
+ }
+ }
+ },
+
+ attrHooks: {
+ type: {
+ set: function( elem, value ) {
+ 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 default in case type is set after value during creation
+ var val = elem.value;
+ elem.setAttribute( "type", value );
+ if ( val ) {
+ elem.value = val;
+ }
+ return value;
+ }
+ }
+ }
+ },
+
+ propFix: {
+ "for": "htmlFor",
+ "class": "className"
+ },
+
+ 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 ) {
+ return hooks && "set" in hooks && (ret = hooks.set( elem, value, name )) !== undefined ?
+ ret :
+ ( elem[ name ] = value );
+
+ } else {
+ return hooks && "get" in hooks && (ret = hooks.get( elem, name )) !== null ?
+ ret :
+ elem[ name ];
+ }
+ },
+
+ propHooks: {
+ tabIndex: {
+ get: function( elem ) {
+ return elem.hasAttribute( "tabindex" ) || rfocusable.test( elem.nodeName ) || elem.href ?
+ elem.tabIndex :
+ -1;
+ }
+ }
+ }
+});
+
+// Hooks for boolean attributes
+boolHook = {
+ set: function( elem, value, name ) {
+ if ( value === false ) {
+ // Remove boolean attributes when set to false
+ jQuery.removeAttr( elem, name );
+ } else {
+ elem.setAttribute( name, name );
+ }
+ return name;
+ }
+};
+jQuery.each( jQuery.expr.match.bool.source.match( /\w+/g ), function( i, name ) {
+ var getter = jQuery.expr.attrHandle[ name ] || jQuery.find.attr;
+
+ jQuery.expr.attrHandle[ name ] = function( elem, name, isXML ) {
+ var fn = jQuery.expr.attrHandle[ name ],
+ ret = isXML ?
+ undefined :
+ /* jshint eqeqeq: false */
+ // Temporarily disable this handler to check existence
+ (jQuery.expr.attrHandle[ name ] = undefined) !=
+ getter( elem, name, isXML ) ?
+
+ name.toLowerCase() :
+ null;
+
+ // Restore handler
+ jQuery.expr.attrHandle[ name ] = fn;
+
+ return ret;
+ };
+});
+
+// Support: IE9+
+// Selectedness for an option in an optgroup can be inaccurate
+if ( !jQuery.support.optSelected ) {
+ jQuery.propHooks.selected = {
+ get: function( elem ) {
+ var parent = elem.parentNode;
+ if ( parent && parent.parentNode ) {
+ parent.parentNode.selectedIndex;
+ }
+ return null;
+ }
+ };
+}
+
+jQuery.each([
+ "tabIndex",
+ "readOnly",
+ "maxLength",
+ "cellSpacing",
+ "cellPadding",
+ "rowSpan",
+ "colSpan",
+ "useMap",
+ "frameBorder",
+ "contentEditable"
+], function() {
+ jQuery.propFix[ this.toLowerCase() ] = this;
+});
+
+// Radios and checkboxes getter/setter
+jQuery.each([ "radio", "checkbox" ], function() {
+ jQuery.valHooks[ this ] = {
+ set: function( elem, value ) {
+ if ( jQuery.isArray( value ) ) {
+ return ( elem.checked = jQuery.inArray( jQuery(elem).val(), value ) >= 0 );
+ }
+ }
+ };
+ if ( !jQuery.support.checkOn ) {
+ jQuery.valHooks[ this ].get = function( elem ) {
+ // Support: Webkit
+ // "" is returned instead of "on" if a value isn't specified
+ return elem.getAttribute("value") === null ? "on" : elem.value;
+ };
+ }
+});
+var rkeyEvent = /^key/,
+ rmouseEvent = /^(?:mouse|contextmenu)|click/,
+ rfocusMorph = /^(?:focusinfocus|focusoutblur)$/,
+ rtypenamespace = /^([^.]*)(?:\.(.+)|)$/;
+
+function returnTrue() {
+ return true;
+}
+
+function returnFalse() {
+ return false;
+}
+
+function safeActiveElement() {
+ try {
+ return document.activeElement;
+ } catch ( err ) { }
+}
+
+/*
+ * Helper functions for managing events -- not part of the public interface.
+ * Props to Dean Edwards' addEvent library for many of the ideas.
+ */
+jQuery.event = {
+
+ global: {},
+
+ add: function( elem, types, handler, data, selector ) {
+
+ var handleObjIn, eventHandle, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = data_priv.get( elem );
+
+ // Don't attach events to noData or text/comment nodes (but allow plain objects)
+ if ( !elemData ) {
+ 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
+ if ( !(events = elemData.events) ) {
+ events = elemData.events = {};
+ }
+ if ( !(eventHandle = elemData.handle) ) {
+ eventHandle = elemData.handle = 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 !== core_strundefined && (!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
+ types = ( types || "" ).match( core_rnotwhite ) || [""];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // There *must* be a type, no attaching namespace-only handlers
+ if ( !type ) {
+ continue;
+ }
+
+ // 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: origType,
+ 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
+ if ( !(handlers = events[ type ]) ) {
+ handlers = events[ type ] = [];
+ handlers.delegateCount = 0;
+
+ // Only use addEventListener if the special events handler returns false
+ if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) === false ) {
+ if ( elem.addEventListener ) {
+ elem.addEventListener( type, eventHandle, false );
+ }
+ }
+ }
+
+ 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;
+ },
+
+ // Detach an event or set of events from an element
+ remove: function( elem, types, handler, selector, mappedTypes ) {
+
+ var j, origCount, tmp,
+ events, t, handleObj,
+ special, handlers, type, namespaces, origType,
+ elemData = data_priv.hasData( elem ) && data_priv.get( elem );
+
+ if ( !elemData || !(events = elemData.events) ) {
+ return;
+ }
+
+ // Once for each type.namespace in types; type may be omitted
+ types = ( types || "" ).match( core_rnotwhite ) || [""];
+ t = types.length;
+ while ( t-- ) {
+ tmp = rtypenamespace.exec( types[t] ) || [];
+ type = origType = tmp[1];
+ namespaces = ( tmp[2] || "" ).split( "." ).sort();
+
+ // 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;
+ handlers = events[ type ] || [];
+ tmp = tmp[2] && new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" );
+
+ // Remove matching events
+ origCount = j = handlers.length;
+ while ( j-- ) {
+ handleObj = handlers[ j ];
+
+ if ( ( mappedTypes || origType === handleObj.origType ) &&
+ ( !handler || handler.guid === handleObj.guid ) &&
+ ( !tmp || tmp.test( handleObj.namespace ) ) &&
+ ( !selector || selector === handleObj.selector || selector === "**" && handleObj.selector ) ) {
+ handlers.splice( j, 1 );
+
+ if ( handleObj.selector ) {
+ handlers.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 ( origCount && !handlers.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;
+ data_priv.remove( elem, "events" );
+ }
+ },
+
+ trigger: function( event, data, elem, onlyHandlers ) {
+
+ var i, cur, tmp, bubbleType, ontype, handle, special,
+ eventPath = [ elem || document ],
+ type = core_hasOwn.call( event, "type" ) ? event.type : event,
+ namespaces = core_hasOwn.call( event, "namespace" ) ? event.namespace.split(".") : [];
+
+ cur = tmp = elem = elem || document;
+
+ // Don't do events on text and comment nodes
+ if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+ return;
+ }
+
+ // 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 ) {
+ // Namespaced trigger; create a regexp to match event type in handle()
+ namespaces = type.split(".");
+ type = namespaces.shift();
+ namespaces.sort();
+ }
+ ontype = type.indexOf(":") < 0 && "on" + type;
+
+ // Caller can pass in a jQuery.Event object, Object, or just an event type string
+ event = event[ jQuery.expando ] ?
+ event :
+ new jQuery.Event( type, typeof event === "object" && event );
+
+ // Trigger bitmask: & 1 for native handlers; & 2 for jQuery (always true)
+ event.isTrigger = onlyHandlers ? 2 : 3;
+ event.namespace = namespaces.join(".");
+ event.namespace_re = event.namespace ?
+ new RegExp( "(^|\\.)" + namespaces.join("\\.(?:.*\\.|)") + "(\\.|$)" ) :
+ null;
+
+ // 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 ?
+ [ event ] :
+ jQuery.makeArray( data, [ event ] );
+
+ // Allow special events to draw outside the lines
+ special = jQuery.event.special[ type ] || {};
+ if ( !onlyHandlers && 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)
+ if ( !onlyHandlers && !special.noBubble && !jQuery.isWindow( elem ) ) {
+
+ bubbleType = special.delegateType || type;
+ if ( !rfocusMorph.test( bubbleType + type ) ) {
+ cur = cur.parentNode;
+ }
+ for ( ; cur; cur = cur.parentNode ) {
+ eventPath.push( cur );
+ tmp = cur;
+ }
+
+ // Only add window if we got to document (e.g., not plain obj or detached DOM)
+ if ( tmp === (elem.ownerDocument || document) ) {
+ eventPath.push( tmp.defaultView || tmp.parentWindow || window );
+ }
+ }
+
+ // Fire handlers on the event path
+ i = 0;
+ while ( (cur = eventPath[i++]) && !event.isPropagationStopped() ) {
+
+ event.type = i > 1 ?
+ bubbleType :
+ special.bindType || type;
+
+ // jQuery handler
+ handle = ( data_priv.get( cur, "events" ) || {} )[ event.type ] && data_priv.get( cur, "handle" );
+ if ( handle ) {
+ handle.apply( cur, data );
+ }
+
+ // Native 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( eventPath.pop(), data ) === false) &&
+ jQuery.acceptData( elem ) ) {
+
+ // Call a native DOM method on the target with the same name name as the event.
+ // Don't do default actions on window, that's where global variables be (#6170)
+ if ( ontype && jQuery.isFunction( elem[ type ] ) && !jQuery.isWindow( elem ) ) {
+
+ // Don't re-trigger an onFOO event when we call its FOO() method
+ tmp = elem[ ontype ];
+
+ if ( tmp ) {
+ 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 ( tmp ) {
+ elem[ ontype ] = tmp;
+ }
+ }
+ }
+ }
+
+ return event.result;
+ },
+
+ dispatch: function( event ) {
+
+ // Make a writable jQuery.Event from the native event object
+ event = jQuery.event.fix( event );
+
+ var i, j, ret, matched, handleObj,
+ handlerQueue = [],
+ args = core_slice.call( arguments ),
+ handlers = ( data_priv.get( this, "events" ) || {} )[ event.type ] || [],
+ special = jQuery.event.special[ event.type ] || {};
+
+ // 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
+ handlerQueue = jQuery.event.handlers.call( this, event, handlers );
+
+ // Run delegates first; they may want to stop propagation beneath us
+ i = 0;
+ while ( (matched = handlerQueue[ i++ ]) && !event.isPropagationStopped() ) {
+ event.currentTarget = matched.elem;
+
+ j = 0;
+ while ( (handleObj = matched.handlers[ j++ ]) && !event.isImmediatePropagationStopped() ) {
+
+ // Triggered event must either 1) have no namespace, or
+ // 2) have namespace(s) a subset or equal to those in the bound event (both can have no namespace).
+ if ( !event.namespace_re || event.namespace_re.test( handleObj.namespace ) ) {
+
+ event.handleObj = handleObj;
+ event.data = handleObj.data;
+
+ ret = ( (jQuery.event.special[ handleObj.origType ] || {}).handle || handleObj.handler )
+ .apply( matched.elem, args );
+
+ if ( ret !== undefined ) {
+ if ( (event.result = 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;
+ },
+
+ handlers: function( event, handlers ) {
+ var i, matches, sel, handleObj,
+ handlerQueue = [],
+ delegateCount = handlers.delegateCount,
+ cur = event.target;
+
+ // Find delegate handlers
+ // Black-hole SVG