From 49212a1046d4167cbbcb47a1630386f7daf377a8 Mon Sep 17 00:00:00 2001 From: Rido Min Date: Wed, 4 May 2016 23:03:47 -0700 Subject: [PATCH 1/7] cordova react sample from build2016 --- cordova-react/.gitignore | 14 ++ cordova-react/app/RedditSubmission.tsx | 25 +++ cordova-react/app/index.tsx | 23 +++ cordova-react/app/reddit.ts | 16 ++ cordova-react/config.xml | 96 +++++++++++ cordova-react/cordova-react-reddit.jsproj | 114 ++++++++++++++ cordova-react/cordova-react-reddit.sln | 80 ++++++++++ cordova-react/hooks/README.md | 23 +++ cordova-react/jsconfig.json | 1 + .../android/scripts/android2.3-jscompat.js | 30 ++++ .../android/scripts/platformOverrides.js | 10 ++ .../windows/scripts/platformOverrides.js | 10 ++ .../windows/scripts/winstore-jscompat.js | 149 ++++++++++++++++++ cordova-react/package.json | 25 +++ cordova-react/taco.json | 3 + cordova-react/tsconfig.json | 15 ++ cordova-react/typings.json | 7 + cordova-react/webpack.config.js | 36 +++++ cordova-react/www/css/index.css | 57 +++++++ cordova-react/www/images/cordova.png | Bin 0 -> 54729 bytes cordova-react/www/index.html | 15 ++ cordova-react/www/scripts/bundle.js | 115 ++++++++++++++ cordova-react/www/scripts/bundle.js.map | 1 + cordova-react/www/scripts/index.js | 24 +++ cordova-react/www/scripts/jquery.min.js | 4 + .../www/scripts/platformOverrides.js | 1 + cordova-react/www/scripts/react-dom.min.js | 12 ++ cordova-react/www/scripts/react.min.js | 16 ++ 28 files changed, 922 insertions(+) create mode 100644 cordova-react/.gitignore create mode 100644 cordova-react/app/RedditSubmission.tsx create mode 100644 cordova-react/app/index.tsx create mode 100644 cordova-react/app/reddit.ts create mode 100644 cordova-react/config.xml create mode 100644 cordova-react/cordova-react-reddit.jsproj create mode 100644 cordova-react/cordova-react-reddit.sln create mode 100644 cordova-react/hooks/README.md create mode 100644 cordova-react/jsconfig.json create mode 100644 cordova-react/merges/android/scripts/android2.3-jscompat.js create mode 100644 cordova-react/merges/android/scripts/platformOverrides.js create mode 100644 cordova-react/merges/windows/scripts/platformOverrides.js create mode 100644 cordova-react/merges/windows/scripts/winstore-jscompat.js create mode 100644 cordova-react/package.json create mode 100644 cordova-react/taco.json create mode 100644 cordova-react/tsconfig.json create mode 100644 cordova-react/typings.json create mode 100644 cordova-react/webpack.config.js create mode 100644 cordova-react/www/css/index.css create mode 100644 cordova-react/www/images/cordova.png create mode 100644 cordova-react/www/index.html create mode 100644 cordova-react/www/scripts/bundle.js create mode 100644 cordova-react/www/scripts/bundle.js.map create mode 100644 cordova-react/www/scripts/index.js create mode 100644 cordova-react/www/scripts/jquery.min.js create mode 100644 cordova-react/www/scripts/platformOverrides.js create mode 100644 cordova-react/www/scripts/react-dom.min.js create mode 100644 cordova-react/www/scripts/react.min.js diff --git a/cordova-react/.gitignore b/cordova-react/.gitignore new file mode 100644 index 0000000..6ead161 --- /dev/null +++ b/cordova-react/.gitignore @@ -0,0 +1,14 @@ +typings +node_modules + + +plugins/ +platforms/ +.vs/ +.vscode/ +bin/ +bld/ +app/*.js +app/*.map + +*.user \ No newline at end of file diff --git a/cordova-react/app/RedditSubmission.tsx b/cordova-react/app/RedditSubmission.tsx new file mode 100644 index 0000000..751995a --- /dev/null +++ b/cordova-react/app/RedditSubmission.tsx @@ -0,0 +1,25 @@ +import * as React from "react"; +import { Submission } from "./reddit" + +export interface SubmissionProps extends Submission { + elementPosition: number; +} + +let imageStyle = { + maxWidth: "600px", + maxHeight: "600px", +}; + +export const SubmissionComp = (submission: SubmissionProps) => +
+ { submission.elementPosition ?
: "" } + + { submission.elementPosition + 1 }. + {submission.title} + + ({ submission.domain }) +
+ Submitted at { new Date(submission.created_utc).toLocaleTimeString() }. +
+ +
; \ No newline at end of file diff --git a/cordova-react/app/index.tsx b/cordova-react/app/index.tsx new file mode 100644 index 0000000..9b839bd --- /dev/null +++ b/cordova-react/app/index.tsx @@ -0,0 +1,23 @@ +import * as $ from "jquery"; +import * as React from "react"; +import * as ReactDOM from "react-dom"; + +import { ApiResponse } from "./reddit"; +import { SubmissionComp } from "./RedditSubmission" + +function displaySubreddit(subreddit: string) { + let settings = { + url: `https://www.reddit.com/r/${subreddit}.json` + }; + $.ajax(settings).done(response => { + let submissions = (response as ApiResponse).data.children; + // TODO: filter on images + submissions = submissions.filter(({ data }) => /(png|jpg)$/.test(data.url)); + let components = submissions.map((value, index) => + + ); + ReactDOM.render(
{ components }
, document.getElementById("content")); + }); +} + +displaySubreddit("aww"); diff --git a/cordova-react/app/reddit.ts b/cordova-react/app/reddit.ts new file mode 100644 index 0000000..0bc3e3f --- /dev/null +++ b/cordova-react/app/reddit.ts @@ -0,0 +1,16 @@ +export interface ApiResponse { + data: { + children: { + data: Submission + }[]; + }; +} + +export interface Submission { + author: string; + domain: string; + title: string; + subreddit: string; + url: string; + created_utc: string; +} \ No newline at end of file diff --git a/cordova-react/config.xml b/cordova-react/config.xml new file mode 100644 index 0000000..9da9343 --- /dev/null +++ b/cordova-react/config.xml @@ -0,0 +1,96 @@ + + + React Cordova Demo + A blank project that uses Apache Cordova to help you build an app that targets multiple mobile platforms: Android, iOS, Windows, and Windows Phone. + Apache Cordova Team + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/cordova-react/cordova-react-reddit.jsproj b/cordova-react/cordova-react-reddit.jsproj new file mode 100644 index 0000000..a6da92f --- /dev/null +++ b/cordova-react/cordova-react-reddit.jsproj @@ -0,0 +1,114 @@ + + + + + + Debug + Android + + + Debug + iOS + + + Debug + Windows-AnyCPU + + + Debug + Windows-x64 + + + Debug + Windows-x86 + + + Debug + Windows-ARM + + + Debug + Windows Phone 8 + + + Debug + Windows Phone (Universal) + + + Release + Android + + + Release + iOS + + + Release + Windows-AnyCPU + + + Release + Windows-x64 + + + Release + Windows-x86 + + + Release + Windows-ARM + + + Release + Windows Phone 8 + + + Release + Windows Phone (Universal) + + + + + + + 1c20ec9d-2298-4a4a-90cb-32327ba6dc32 + + + + 14.0 + + + false + + + + + Tools for Apache Cordova + + + MDD + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/cordova-react/cordova-react-reddit.sln b/cordova-react/cordova-react-reddit.sln new file mode 100644 index 0000000..bbe5215 --- /dev/null +++ b/cordova-react/cordova-react-reddit.sln @@ -0,0 +1,80 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 14 +VisualStudioVersion = 14.0.25123.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{262852C6-CD72-467D-83FE-5EEB1973A190}") = "cordova-react-reddit", "cordova-react-reddit.jsproj", "{1C20EC9D-2298-4A4A-90CB-32327BA6DC32}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Android = Debug|Android + Debug|iOS = Debug|iOS + Debug|Windows Phone (Universal) = Debug|Windows Phone (Universal) + Debug|Windows Phone 8 = Debug|Windows Phone 8 + Debug|Windows-AnyCPU = Debug|Windows-AnyCPU + Debug|Windows-ARM = Debug|Windows-ARM + Debug|Windows-x64 = Debug|Windows-x64 + Debug|Windows-x86 = Debug|Windows-x86 + Release|Android = Release|Android + Release|iOS = Release|iOS + Release|Windows Phone (Universal) = Release|Windows Phone (Universal) + Release|Windows Phone 8 = Release|Windows Phone 8 + Release|Windows-AnyCPU = Release|Windows-AnyCPU + Release|Windows-ARM = Release|Windows-ARM + Release|Windows-x64 = Release|Windows-x64 + Release|Windows-x86 = Release|Windows-x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Android.ActiveCfg = Debug|Android + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Android.Build.0 = Debug|Android + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Android.Deploy.0 = Debug|Android + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|iOS.ActiveCfg = Debug|iOS + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|iOS.Build.0 = Debug|iOS + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|iOS.Deploy.0 = Debug|iOS + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows Phone (Universal).ActiveCfg = Debug|Windows Phone (Universal) + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows Phone (Universal).Build.0 = Debug|Windows Phone (Universal) + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows Phone (Universal).Deploy.0 = Debug|Windows Phone (Universal) + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows Phone 8.ActiveCfg = Debug|Windows Phone 8 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows Phone 8.Build.0 = Debug|Windows Phone 8 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows Phone 8.Deploy.0 = Debug|Windows Phone 8 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-AnyCPU.ActiveCfg = Debug|Windows-AnyCPU + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-AnyCPU.Build.0 = Debug|Windows-AnyCPU + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-AnyCPU.Deploy.0 = Debug|Windows-AnyCPU + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-ARM.ActiveCfg = Debug|Windows-ARM + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-ARM.Build.0 = Debug|Windows-ARM + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-ARM.Deploy.0 = Debug|Windows-ARM + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-x64.ActiveCfg = Debug|Windows-x64 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-x64.Build.0 = Debug|Windows-x64 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-x64.Deploy.0 = Debug|Windows-x64 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-x86.ActiveCfg = Debug|Windows-x86 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-x86.Build.0 = Debug|Windows-x86 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Debug|Windows-x86.Deploy.0 = Debug|Windows-x86 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Android.ActiveCfg = Release|Android + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Android.Build.0 = Release|Android + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Android.Deploy.0 = Release|Android + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|iOS.ActiveCfg = Release|iOS + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|iOS.Build.0 = Release|iOS + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|iOS.Deploy.0 = Release|iOS + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows Phone (Universal).ActiveCfg = Release|Windows Phone (Universal) + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows Phone (Universal).Build.0 = Release|Windows Phone (Universal) + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows Phone (Universal).Deploy.0 = Release|Windows Phone (Universal) + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows Phone 8.ActiveCfg = Release|Windows Phone 8 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows Phone 8.Build.0 = Release|Windows Phone 8 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows Phone 8.Deploy.0 = Release|Windows Phone 8 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-AnyCPU.ActiveCfg = Release|Windows-AnyCPU + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-AnyCPU.Build.0 = Release|Windows-AnyCPU + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-AnyCPU.Deploy.0 = Release|Windows-AnyCPU + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-ARM.ActiveCfg = Release|Windows-ARM + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-ARM.Build.0 = Release|Windows-ARM + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-ARM.Deploy.0 = Release|Windows-ARM + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-x64.ActiveCfg = Release|Windows-x64 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-x64.Build.0 = Release|Windows-x64 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-x64.Deploy.0 = Release|Windows-x64 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-x86.ActiveCfg = Release|Windows-x86 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-x86.Build.0 = Release|Windows-x86 + {1C20EC9D-2298-4A4A-90CB-32327BA6DC32}.Release|Windows-x86.Deploy.0 = Release|Windows-x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/cordova-react/hooks/README.md b/cordova-react/hooks/README.md new file mode 100644 index 0000000..574ad4c --- /dev/null +++ b/cordova-react/hooks/README.md @@ -0,0 +1,23 @@ + +# Cordova Hooks + +Cordova Hooks represent special scripts which could be added by application and plugin developers or even by your own build system to customize cordova commands. See Hooks Guide for more details: http://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html#Hooks%20Guide. diff --git a/cordova-react/jsconfig.json b/cordova-react/jsconfig.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/cordova-react/jsconfig.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/cordova-react/merges/android/scripts/android2.3-jscompat.js b/cordova-react/merges/android/scripts/android2.3-jscompat.js new file mode 100644 index 0000000..e1e359f --- /dev/null +++ b/cordova-react/merges/android/scripts/android2.3-jscompat.js @@ -0,0 +1,30 @@ +// Polyfill for Function.prototype.bind() support on Android 2.3 +(function () { + if (!Function.prototype.bind) { + Function.prototype.bind = function (thisValue) { + if (typeof this !== "function") { + throw new TypeError(this + " cannot be bound as it is not a function"); + } + + // bind() also permits prepending arguments to the call + var preArgs = Array.prototype.slice.call(arguments, 1); + + // The actual function to bind the "this" value and arguments to + var functionToBind = this; + var noOpFunction = function () { }; + + // The "this" argument to use + var thisArg = this instanceof noOpFunction && thisValue ? this : thisValue; + + // The resulting bound function + var boundFunction = function () { + return functionToBind.apply(thisArg, preArgs.concat(Array.prototype.slice.call(arguments))); + }; + + noOpFunction.prototype = this.prototype; + boundFunction.prototype = new noOpFunction(); + + return boundFunction; + }; + } +}()); diff --git a/cordova-react/merges/android/scripts/platformOverrides.js b/cordova-react/merges/android/scripts/platformOverrides.js new file mode 100644 index 0000000..0cccf74 --- /dev/null +++ b/cordova-react/merges/android/scripts/platformOverrides.js @@ -0,0 +1,10 @@ +(function () { + // Append the bind() polyfill + var scriptElem = document.createElement('script'); + scriptElem.setAttribute('src', 'scripts/android2.3-jscompat.js'); + if (document.body) { + document.body.appendChild(scriptElem); + } else { + document.head.appendChild(scriptElem); + } +}()); \ No newline at end of file diff --git a/cordova-react/merges/windows/scripts/platformOverrides.js b/cordova-react/merges/windows/scripts/platformOverrides.js new file mode 100644 index 0000000..2362808 --- /dev/null +++ b/cordova-react/merges/windows/scripts/platformOverrides.js @@ -0,0 +1,10 @@ +(function () { + // Append the safeHTML polyfill + var scriptElem = document.createElement('script'); + scriptElem.setAttribute('src', 'scripts/winstore-jscompat.js'); + if (document.body) { + document.body.appendChild(scriptElem); + } else { + document.head.appendChild(scriptElem); + } +}()); \ No newline at end of file diff --git a/cordova-react/merges/windows/scripts/winstore-jscompat.js b/cordova-react/merges/windows/scripts/winstore-jscompat.js new file mode 100644 index 0000000..2b71eeb --- /dev/null +++ b/cordova-react/merges/windows/scripts/winstore-jscompat.js @@ -0,0 +1,149 @@ +/* +JavaScript Dynamic Content shim for Windows Store apps. +winstore-jscompat.js + +Microsoft grants you the right to use these script files for the sole purpose of either: (i) interacting through your browser with the Microsoft website, subject to the website’s terms of use; or (ii) using the files as included with a Microsoft product subject to that product’s license terms. Microsoft reserves all other rights to the files not expressly granted by Microsoft, whether by implication, estoppel or otherwise. The notices and licenses below are for informational purposes only. +*/ +// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. +// JavaScript Dynamic Content shim for Windows Store apps +(function () { + + if (window.MSApp && MSApp.execUnsafeLocalFunction) { + + // Some nodes will have an "attributes" property which shadows the Node.prototype.attributes property + // and means we don't actually see the attributes of the Node (interestingly the VS debug console + // appears to suffer from the same issue). + // + var Element_setAttribute = Object.getOwnPropertyDescriptor(Element.prototype, "setAttribute").value; + var Element_removeAttribute = Object.getOwnPropertyDescriptor(Element.prototype, "removeAttribute").value; + var HTMLElement_insertAdjacentHTMLPropertyDescriptor = Object.getOwnPropertyDescriptor(HTMLElement.prototype, "insertAdjacentHTML"); + var Node_get_attributes = Object.getOwnPropertyDescriptor(Node.prototype, "attributes").get; + var Node_get_childNodes = Object.getOwnPropertyDescriptor(Node.prototype, "childNodes").get; + + function getAttributes(element) { + return Node_get_attributes.call(element); + } + + function setAttribute(element, attribute, value) { + try { + Element_setAttribute.call(element, attribute, value); + } catch (e) { + // ignore + } + } + + function removeAttribute(element, attribute) { + Element_removeAttribute.call(element, attribute); + } + + function childNodes(element) { + return Node_get_childNodes.call(element); + } + + function empty(element) { + while (element.childNodes.length) { + element.removeChild(element.lastChild); + } + } + + function insertAdjacentHTML(element, position, html) { + HTMLElement_insertAdjacentHTMLPropertyDescriptor.value.call(element, position, html); + } + + function cleanse(html) { + var cleaner = document.implementation.createHTMLDocument("cleaner"); + empty(cleaner.documentElement); + MSApp.execUnsafeLocalFunction(function () { + insertAdjacentHTML(cleaner.documentElement, "afterbegin", html); + }); + + var scripts = cleaner.documentElement.querySelectorAll("script"); + Array.prototype.forEach.call(scripts, function (script) { + switch (script.type.toLowerCase()) { + case "": + script.type = "text/inert"; + break; + case "text/javascript": + case "text/ecmascript": + case "text/x-javascript": + case "text/jscript": + case "text/livescript": + case "text/javascript1.1": + case "text/javascript1.2": + case "text/javascript1.3": + script.type = "text/inert-" + script.type.slice("text/".length); + break; + case "application/javascript": + case "application/ecmascript": + case "application/x-javascript": + script.type = "application/inert-" + script.type.slice("application/".length); + break; + + default: + break; + } + }); + + function cleanseAttributes(element) { + var attributes = getAttributes(element); + if (attributes && attributes.length) { + // because the attributes collection is live it is simpler to queue up the renames + var events; + for (var i = 0, len = attributes.length; i < len; i++) { + var attribute = attributes[i]; + var name = attribute.name; + if ((name[0] === "o" || name[0] === "O") && + (name[1] === "n" || name[1] === "N")) { + events = events || []; + events.push({ name: attribute.name, value: attribute.value }); + } + } + if (events) { + for (var i = 0, len = events.length; i < len; i++) { + var attribute = events[i]; + removeAttribute(element, attribute.name); + setAttribute(element, "x-" + attribute.name, attribute.value); + } + } + } + var children = childNodes(element); + for (var i = 0, len = children.length; i < len; i++) { + cleanseAttributes(children[i]); + } + } + cleanseAttributes(cleaner.documentElement); + + return Array.prototype.slice.call(document.adoptNode(cleaner.documentElement).childNodes); + } + + function cleansePropertySetter(property, setter) { + var propertyDescriptor = Object.getOwnPropertyDescriptor(HTMLElement.prototype, property); + Object.defineProperty(HTMLElement.prototype, property, { + get: propertyDescriptor.get, + set: function (value) { + var that = this; + var nodes = cleanse(value); + MSApp.execUnsafeLocalFunction(function () { + setter(propertyDescriptor, that, nodes); + }); + }, + enumerable: propertyDescriptor.enumerable, + configurable: propertyDescriptor.configurable, + }); + } + cleansePropertySetter("innerHTML", function (propertyDescriptor, target, elements) { + empty(target); + for (var i = 0, len = elements.length; i < len; i++) { + target.appendChild(elements[i]); + } + }); + cleansePropertySetter("outerHTML", function (propertyDescriptor, target, elements) { + for (var i = 0, len = elements.length; i < len; i++) { + target.insertAdjacentElement("afterend", elements[i]); + } + target.parentNode.removeChild(target); + }); + + } + +}()); \ No newline at end of file diff --git a/cordova-react/package.json b/cordova-react/package.json new file mode 100644 index 0000000..6dd228b --- /dev/null +++ b/cordova-react/package.json @@ -0,0 +1,25 @@ +{ + "name": "react-reddit-reader", + "version": "1.0.0", + "description": "A small web app in React that queries Reddit for submissions.", + "main": "index.js", + "dependencies": { + "jquery": "^2.2.1", + "react": "^0.14.7", + "react-dom": "^0.14.7" + }, + "devDependencies": { + "source-map-loader": "^0.1.5", + "ts-loader": "^0.8.1", + "typescript": "^1.8.7", + "typings": "^0.8.1", + "webpack": "" + }, + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1", + "postinstall": "node_modules/.bin/typings install", + "bundle": "node_modules/.bin/webpack" + }, + "author": "VSMobile", + "license": "Apache-2.0" +} \ No newline at end of file diff --git a/cordova-react/taco.json b/cordova-react/taco.json new file mode 100644 index 0000000..ceb5a6d --- /dev/null +++ b/cordova-react/taco.json @@ -0,0 +1,3 @@ +{ +"cordova-cli": "6.1.1" +} \ No newline at end of file diff --git a/cordova-react/tsconfig.json b/cordova-react/tsconfig.json new file mode 100644 index 0000000..86c48b1 --- /dev/null +++ b/cordova-react/tsconfig.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "module": "commonjs", + "target": "es5", + "jsx": "react", + "sourceMap": true, + "noImplicitAny": true + }, + "files": [ + "./typings/main.d.ts", + "./app/reddit.ts", + "./app/RedditSubmission.tsx", + "./app/index.tsx" + ] +} \ No newline at end of file diff --git a/cordova-react/typings.json b/cordova-react/typings.json new file mode 100644 index 0000000..8ab8ccc --- /dev/null +++ b/cordova-react/typings.json @@ -0,0 +1,7 @@ +{ + "ambientDependencies": { + "jquery": "registry:dt/jquery#2.0.0+20160303223636", + "react": "registry:dt/react#0.14.0+20160302224448", + "react-dom": "registry:dt/react-dom#0.0.0+20151118193745" + } +} diff --git a/cordova-react/webpack.config.js b/cordova-react/webpack.config.js new file mode 100644 index 0000000..d79c3ab --- /dev/null +++ b/cordova-react/webpack.config.js @@ -0,0 +1,36 @@ +module.exports = { + entry: "./app/index.tsx", + output: { + filename: "./www/scripts/bundle.js", + }, + + // Enable sourcemaps for debugging webpack's output. + devtool: "source-map", + + resolve: { + // Add '.ts' and '.tsx' as resolvable extensions. + extensions: ["", ".webpack.js", ".web.js", ".ts", ".tsx", ".js"] + }, + + module: { + loaders: [ + // All files with a '.ts' or '.tsx' extension will be handled by 'ts-loader'. + { test: /\.tsx?$/, loader: "ts-loader" } + ], + + preLoaders: [ + // All output '.js' files will have any sourcemaps re-processed by 'source-map-loader'. + { test: /\.js$/, loader: "source-map-loader" } + ] + }, + + // When importing a module whose path matches one of the following, just + // assume a corresponding global variable exists and use that instead. + // This is important because it allows us to avoid bundling all of our + // dependencies, which allows browsers to cache those libraries between builds. + externals: { + "jquery": "jQuery", + "react": "React", + "react-dom": "ReactDOM", + }, +}; \ No newline at end of file diff --git a/cordova-react/www/css/index.css b/cordova-react/www/css/index.css new file mode 100644 index 0000000..b0bf80d --- /dev/null +++ b/cordova-react/www/css/index.css @@ -0,0 +1,57 @@ +body { + -webkit-touch-callout: none; /* prevent callout to copy image, etc when tap to hold */ + -webkit-text-size-adjust: none; /* prevent webkit from resizing text to fit */ + -webkit-user-select: none; /* prevent copy paste, to allow, change 'none' to 'text' */ + background-color:#32383d; + font-family: 'RobotoRegular', 'Droid Sans', 'Segoe UI', Segoe, 'San Francisco', 'Helvetica Neue', Helvetica, Arial, Geneva, sans-serif; + font-size:12px; +} + +.app { + background: url(../images/cordova.png) no-repeat center top; + background-size: contain; + position: absolute; + left: 50%; + top: 50%; + height: 30px; + width: 250px; + text-align: center; + padding: 200px 0px 0px 0px; + margin: -125px; +} + +.event { + border-radius: 4px; + -webkit-border-radius: 4px; + color: #FFFFFF; + margin: 27px; + padding: 4px 0px; + text-transform: uppercase; + background-color: #696969; + animation: fade 3000ms infinite; + -webkit-animation: fade 3000ms infinite; +} + +.ready { + background-color: #4B946A; +} + +@keyframes fade { + from { opacity: 1.0; } + 50% { opacity: 0.4; } + to { opacity: 1.0; } +} + +@-webkit-keyframes fade { + from { opacity: 1.0; } + 50% { opacity: 0.4; } + to { opacity: 1.0; } +} + +/* Portrait styles */ +@media screen and (orientation: portrait) { +} + +/* Landscape styles */ +@media screen and (orientation: landscape) { +} \ No newline at end of file diff --git a/cordova-react/www/images/cordova.png b/cordova-react/www/images/cordova.png new file mode 100644 index 0000000000000000000000000000000000000000..a71ce80b4639fa4adf045206873326f9a16f4ae3 GIT binary patch literal 54729 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 bQ(yiKVGrH + + + + Hello React! + + + +
+ + + + + + \ No newline at end of file diff --git a/cordova-react/www/scripts/bundle.js b/cordova-react/www/scripts/bundle.js new file mode 100644 index 0000000..0f18f50 --- /dev/null +++ b/cordova-react/www/scripts/bundle.js @@ -0,0 +1,115 @@ +/******/ (function(modules) { // webpackBootstrap +/******/ // The module cache +/******/ var installedModules = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ +/******/ // Check if module is in cache +/******/ if(installedModules[moduleId]) +/******/ return installedModules[moduleId].exports; +/******/ +/******/ // Create a new module (and put it into the cache) +/******/ var module = installedModules[moduleId] = { +/******/ exports: {}, +/******/ id: moduleId, +/******/ loaded: false +/******/ }; +/******/ +/******/ // Execute the module function +/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); +/******/ +/******/ // Flag the module as loaded +/******/ module.loaded = true; +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/******/ +/******/ // expose the modules object (__webpack_modules__) +/******/ __webpack_require__.m = modules; +/******/ +/******/ // expose the module cache +/******/ __webpack_require__.c = installedModules; +/******/ +/******/ // __webpack_public_path__ +/******/ __webpack_require__.p = ""; +/******/ +/******/ // Load entry module and return exports +/******/ return __webpack_require__(0); +/******/ }) +/************************************************************************/ +/******/ ([ +/* 0 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; + }; + var $ = __webpack_require__(1); + var React = __webpack_require__(2); + var ReactDOM = __webpack_require__(3); + var RedditSubmission_1 = __webpack_require__(4); + function displaySubreddit(subreddit) { + var settings = { + url: "https://www.reddit.com/r/" + subreddit + ".json" + }; + $.ajax(settings).done(function (response) { + var submissions = response.data.children; + // TODO: filter on images + submissions = submissions.filter(function (_a) { + var data = _a.data; + return /(png|jpg)$/.test(data.url); + }); + var components = submissions.map(function (value, index) { + return React.createElement(RedditSubmission_1.SubmissionComp, __assign({key: index, elementPosition: index}, value.data)); + }); + ReactDOM.render(React.createElement("div", null, components), document.getElementById("content")); + }); + } + displaySubreddit("aww"); + + +/***/ }, +/* 1 */ +/***/ function(module, exports) { + + module.exports = jQuery; + +/***/ }, +/* 2 */ +/***/ function(module, exports) { + + module.exports = React; + +/***/ }, +/* 3 */ +/***/ function(module, exports) { + + module.exports = ReactDOM; + +/***/ }, +/* 4 */ +/***/ function(module, exports, __webpack_require__) { + + "use strict"; + var React = __webpack_require__(2); + var imageStyle = { + maxWidth: "600px", + maxHeight: "600px", + }; + exports.SubmissionComp = function (submission) { + return React.createElement("div", {style: { fontFamily: "sans-serif" }}, submission.elementPosition ? React.createElement("br", null) : "", React.createElement("span", {style: { fontSize: "1.2rem" }}, React.createElement("span", null, submission.elementPosition + 1, "."), React.createElement("a", {href: submission.url}, submission.title)), React.createElement("span", null, " (", submission.domain, ") "), React.createElement("div", null, "Submitted at ", new Date(submission.created_utc).toLocaleTimeString(), "."), React.createElement("img", {src: submission.url, style: imageStyle})); + }; + + +/***/ } +/******/ ]); +//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/cordova-react/www/scripts/bundle.js.map b/cordova-react/www/scripts/bundle.js.map new file mode 100644 index 0000000..52fbd79 --- /dev/null +++ b/cordova-react/www/scripts/bundle.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///webpack/bootstrap 6cdcc09c55d64dbbfbd6","webpack:///./app/index.tsx","webpack:///external \"jQuery\"","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///./app/RedditSubmission.tsx"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uBAAe;AACf;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;ACtCA,KAAY,CAAC,uBAAM,CAAQ,CAAC;AAC5B,KAAY,KAAK,uBAAM,CAAO,CAAC;AAC/B,KAAY,QAAQ,uBAAM,CAAW,CAAC;AAGtC,8CAA+B,CAE/B,CAAC,CAFkD;AAEnD,2BAA0B,SAAiB;KACvC,IAAI,QAAQ,GAAG;SACX,GAAG,EAAE,8BAA4B,SAAS,UAAO;MACpD,CAAC;KACF,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,kBAAQ;SAC1B,IAAI,WAAW,GAAI,QAAwB,CAAC,IAAI,CAAC,QAAQ,CAAC;SAC1D,yBAAyB;SACzB,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,UAAC,EAAQ;iBAAN,cAAI;aAAO,mBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;SAA3B,CAA2B,CAAC,CAAC;SAC5E,IAAI,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,UAAC,KAAK,EAAE,KAAK;aAC1C,2BAAC,iCAAc,YAAC,GAAG,EAAG,KAAO,EAAC,eAAe,EAAG,KAAO,GAAM,KAAK,CAAC,IAAI,EAAK;SAA5E,CAA4E,CAC/E,CAAC;SACF,QAAQ,CAAC,MAAM,CAAC,qBAAC,GAAG,SAAG,UAAY,CAAM,EAAE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;KACnF,CAAC,CAAC,CAAC;AACP,EAAC;AAED,iBAAgB,CAAC,KAAK,CAAC,CAAC;;;;;;;ACtBxB,yB;;;;;;ACAA,wB;;;;;;ACAA,2B;;;;;;;ACAA,KAAY,KAAK,uBAAM,CAAO,CAAC;AAO/B,KAAI,UAAU,GAAG;KACb,QAAQ,EAAE,OAAO;KACjB,SAAS,EAAE,OAAO;EACrB,CAAC;AAEW,uBAAc,GAAG,UAAC,UAA2B;KACtD,4BAAC,GAAG,IAAC,KAAK,EAAE,EAAE,UAAU,EAAE,YAAY,EAAG,GACnC,UAAU,CAAC,eAAe,GAAG,qBAAC,EAAE,QAAG,GAAG,EAAI,EAC5C,qBAAC,IAAI,IAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAG,GAChC,qBAAC,IAAI,SAAG,UAAU,CAAC,eAAe,GAAG,CAAG,MAAQ,EAChD,qBAAC,CAAC,IAAC,IAAI,EAAG,UAAU,CAAC,GAAK,GAAE,UAAU,CAAC,KAAM,CAAI,CAC9C,EACP,qBAAC,IAAI,eAAK,UAAU,CAAC,MAAQ,OAAS,EACtC,qBAAC,GAAG,0BACe,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,kBAAkB,EAAI,MACpE,EACN,qBAAC,GAAG,IAAC,GAAG,EAAE,UAAU,CAAC,GAAI,EAAC,KAAK,EAAE,UAAW,EAAE,CAC5C;AAXN,EAWM,CAAC","file":"./www/scripts/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 6cdcc09c55d64dbbfbd6\n **/","import * as $ from \"jquery\";\r\nimport * as React from \"react\";\r\nimport * as ReactDOM from \"react-dom\";\r\n\r\nimport { ApiResponse } from \"./reddit\";\r\nimport { SubmissionComp } from \"./RedditSubmission\"\r\n\r\nfunction displaySubreddit(subreddit: string) {\r\n let settings = {\r\n url: `https://www.reddit.com/r/${subreddit}.json`\r\n };\r\n $.ajax(settings).done(response => {\r\n let submissions = (response as ApiResponse).data.children;\r\n // TODO: filter on images\r\n submissions = submissions.filter(({ data }) => /(png|jpg)$/.test(data.url));\r\n let components = submissions.map((value, index) =>\r\n \r\n );\r\n ReactDOM.render(
{ components }
, document.getElementById(\"content\"));\r\n });\r\n}\r\n\r\ndisplaySubreddit(\"aww\");\r\n\n\n\n/** WEBPACK FOOTER **\n ** ./app/index.tsx\n **/","module.exports = jQuery;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"jQuery\"\n ** module id = 1\n ** module chunks = 0\n **/","module.exports = React;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"React\"\n ** module id = 2\n ** module chunks = 0\n **/","module.exports = ReactDOM;\n\n\n/*****************\n ** WEBPACK FOOTER\n ** external \"ReactDOM\"\n ** module id = 3\n ** module chunks = 0\n **/","import * as React from \"react\";\r\nimport { Submission } from \"./reddit\"\r\n\r\nexport interface SubmissionProps extends Submission {\r\n elementPosition: number;\r\n}\r\n\r\nlet imageStyle = {\r\n maxWidth: \"600px\",\r\n maxHeight: \"600px\",\r\n};\r\n\r\nexport const SubmissionComp = (submission: SubmissionProps) =>\r\n
\r\n { submission.elementPosition ?
: \"\" }\r\n \r\n { submission.elementPosition + 1 }.\r\n {submission.title}\r\n \r\n ({ submission.domain }) \r\n
\r\n Submitted at { new Date(submission.created_utc).toLocaleTimeString() }.\r\n
\r\n \r\n
;\n\n\n/** WEBPACK FOOTER **\n ** ./app/RedditSubmission.tsx\n **/"],"sourceRoot":""} \ No newline at end of file diff --git a/cordova-react/www/scripts/index.js b/cordova-react/www/scripts/index.js new file mode 100644 index 0000000..0c00b6a --- /dev/null +++ b/cordova-react/www/scripts/index.js @@ -0,0 +1,24 @@ +(function () { + "use strict"; + + document.addEventListener( 'deviceready', onDeviceReady.bind( this ), false ); + + function onDeviceReady() { + // Handle the Cordova pause and resume events + document.addEventListener( 'pause', onPause.bind( this ), false ); + document.addEventListener( 'resume', onResume.bind( this ), false ); + + // TODO: Cordova has been loaded. Perform any initialization that requires Cordova here. + var element = document.getElementById("deviceready"); + element.innerHTML = 'Device Ready'; + element.className += ' ready'; + }; + + function onPause() { + // TODO: This application has been suspended. Save application state here. + }; + + function onResume() { + // TODO: This application has been reactivated. Restore application state here. + }; +} )(); diff --git a/cordova-react/www/scripts/jquery.min.js b/cordova-react/www/scripts/jquery.min.js new file mode 100644 index 0000000..b8c4187 --- /dev/null +++ b/cordova-react/www/scripts/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.2.3 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.3",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c; +}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length",""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,la=/\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("