-
*****
-
Explore the different categories
+
*****
+
Explore the different categories
-
Website source available
here
-
-
(unless otherwise stated)
+
Website source available
here
+
+
(unless otherwise stated)
diff --git a/_includes/page/footer.html b/_includes/page/footer.html
index 7773c56..92560d9 100644
--- a/_includes/page/footer.html
+++ b/_includes/page/footer.html
@@ -1,8 +1,8 @@
-
*****
-
+
*****
+
Written by the pseudonymous {% if page.author.fullname %} {{ page.author.fullname }} {% else %} {{ site.author.fullname }} {% endif %}
- on {{ page.date | date: "%d %B %Y" }}
+ on {{ page.date | date: "%d %B %Y" }}
-
All content on this website is licensed under the
CC-BY 4.0 license.
-
(unless otherwise stated)
+
All content on this website is licensed under the
CC-BY 4.0 license.
+
(unless otherwise stated)
diff --git a/_includes/post/title.html b/_includes/post/title.html
index 80097cd..985e761 100644
--- a/_includes/post/title.html
+++ b/_includes/post/title.html
@@ -1,4 +1,4 @@
- {{ page.title }}
- {{ page.subtitle }}
+ {{ page.title }}
+ {{ page.subtitle }}
\ No newline at end of file
diff --git a/_layouts/category.html b/_layouts/category.html
index 353308d..169d837 100644
--- a/_layouts/category.html
+++ b/_layouts/category.html
@@ -9,8 +9,8 @@ layout: default
{% if post.categories contains page.category %}
- {{ post.title }}
- {{ post.date | date: "%d %B %Y" }}
+ {{ post.title }}
+ {{ post.date | date: "%d %B %Y" }}
{% assign empty_category = false %}
diff --git a/_layouts/post.html b/_layouts/post.html
index 10fe103..565f16f 100644
--- a/_layouts/post.html
+++ b/_layouts/post.html
@@ -3,9 +3,23 @@ layout: default
---
{% include post/title.html %}
-
{{ content }}
+
{% include post/about.html %}
+
diff --git a/_posts/2019-06-03-excluding-your-site-from-the-wayback-machine-keybase-only.md b/_posts/2019-06-03-excluding-your-site-from-the-wayback-machine-keybase-only.md
index 713f658..486790a 100644
--- a/_posts/2019-06-03-excluding-your-site-from-the-wayback-machine-keybase-only.md
+++ b/_posts/2019-06-03-excluding-your-site-from-the-wayback-machine-keybase-only.md
@@ -1,8 +1,8 @@
---
layout: post
-title: Removing your site from the Wayback Machine
+title: Removing your site from the Wayback Machine (Keybase)
subtitle: A quick and easy guide
-description: (Keybase-only) Quick guide on removing and excluding your content from Archive.org's Wayback Machine
+description: Quick guide on removing and excluding your content from Archive.org's Wayback Machine with Keybase
cover: /assets/posts/archive.png
date: 2019-06-03 12:08 -0400
---
diff --git a/_posts/2019-06-04-removing-your-site-from-the-wayback-machine-gpg-only.md b/_posts/2019-06-04-removing-your-site-from-the-wayback-machine-gpg-only.md
new file mode 100644
index 0000000..5d482da
--- /dev/null
+++ b/_posts/2019-06-04-removing-your-site-from-the-wayback-machine-gpg-only.md
@@ -0,0 +1,61 @@
+---
+layout: post
+title: Removing your site from the Wayback Machine (GPG)
+subtitle: A quick-ish and easy-ish guide
+description: Quick-ish and easy-ish guide on removing and excluding your domain from Archive.org's Wayback Machine using GPG keys
+cover: /assets/posts/archive.png
+date: 2019-06-04 21:57 -0400
+---
+# Preface
+If you simply want to remove your website and nothing else, read through the setup and verifying identities sections then continue from the [For domains you own](/blog/excluding-your-site-from-the-wayback-machine-keybase-only/#for-domains-you-own) section of the previous post. If you're wanting to address accounts/profiles on websites you don't own, read on.
+
+In addition to dealing with the Wayback Machine, this article is also supposed to help you get started using GPG in every-day life for general security and privacy.
+
+# Getting set up
+## Installation & Generating Keys
+First of all, you'll want to install GPG. The package on most distributions should be just be `gnupg`.
+- Debian: `sudo apt install gnupg`
+- Arch: `sudo pacman -S gnupg`
+- Fedora: `sudo dnf install gnupg`
+
+The next step is generating your key. While it will take a bit longer to generate, a stronger key will be more secure. Also make sure you read this excerpt from the `man` page as it contains a useful warning.
+
+>**WARNINGS**
+>
+>Use a *good* password for your user account and a *good* passphrase to protect your secret key. This passphrase is the weakest part of the whole system. Programs to do dictionary attacks on your secret keyring are very easy to write and so you should protect your "~/.gnupg/" directory very well.
+
+With that said, use `gpg --full-gen-key` to get started. Keep in mind that you don't actually have to use your real name or personal email address. If you *want* a personal key, go ahead and create one but you can also use a pseudonym and fake address if you'd like.
+
+1. I would use the default (1) of "RSA and RSA".
+2. Again, you can use default but I would recommend 4096 bits because it's much more secure. This does mean, however, that it will take longer to generate the key.
+3. An expiry date is recommended but you don't necessarily have to set one.
+4. You *don't* have to use your real name. You can use a pseudonym if you wish.
+5. You *don't* have to use your personal email. You can use a pseudonymous one if you wish.
+6. You don't need a comment
+7. Confirm
+8. Come up with a ***secure*** password or, even better, a pass*phrase*.
+9. Move your mouse around a bit, type, something like that while it's generating the key.
+
+## Email
+I use [Thunderbird](https://www.thunderbird.net/) for email and there is a great addon for it called [Enigmail](https://enigmail.net/). It's quite easy to set up and use but there is a really annoying bug that you'll experience when replying in threaded mode. If you want to encrypt a reply, simply open the editor in a new window.
+
+# Verifying Identities
+In general, all you'll have to do is type something along the lines of:
+
+> I am \
and I own the following accounts:
+> - Account 1 - \
+> - Account 2 - \
+> - Etc.
+
+You'll save that in a text file, run `gpg --clearsign file.txt`, copy the output, then paste it wherever it needs to go, whether that's a blog, a GitHub gist, etc. With Twitter/Mastodon and their character limit, this won't quite work. The best solution there is probably to post a link to a gpg-signed message on your website that links back to the post.
+
+Really, all you have to do is tie all of your accounts together in as close-knit a web as you can and sign with your GPG key wherever possible. Linking everything to everything else would definitely work but it should also be enough to link everything to a single document on your website (or a gist in GitHub etc.) that links back to all of those.
+
+I'm probably not explaining very well so here's a diagram showing it.
+
+![a diagram illustrating the text below](/assets/posts/archive-diagram.png)
+
+Note that the email links to everything else but nothing links back to the email. It's the main document that's at the centre of it all. Make sure both it and the email are signed. If you toot, link to the toot in the main document. If you make a gist, link to the gist in the main document.
+
+# Sending the email
+Once you have all the groundwork laid out, you'll be ready to send the email; the address is [info@archive.org](mailto:info@archive.org). Explain what you would like done and link to the document requesting your domain exclusion first as that's the easiest to verify. In the next paragraph, I would explain a little bit about what you've set up with signing messages and creating the "Web of Verification" (lol). Under that, I would link to the posts asking for the accounts to be removed. Make sure those posts also link back to the main document. Be polite, say thank you, then send the email!
diff --git a/_sass/_default.scss b/_sass/_default.scss
index 64eb299..5718f7e 100644
--- a/_sass/_default.scss
+++ b/_sass/_default.scss
@@ -89,15 +89,6 @@ a {
.content {
margin-top: -20px;
}
-.content h1:hover .headerlink {
- display: block;
-}
-.content h2:hover .headerlink {
- display: block;
-}
-.content h3:hover .headerlink {
- display: block;
-}
.content .headerlink {
display: none;
float: left;
@@ -109,6 +100,15 @@ a {
font-size: smaller;
font-family: "ForkAwesome";
}
+.content h1:hover .headerlink {
+ display: block;
+}
+.content h2:hover .headerlink {
+ display: block;
+}
+.content h3:hover .headerlink {
+ display: block;
+}
.content > h1,h2 {
border-bottom: 2px solid #fff;
padding-bottom: 7px;
@@ -144,6 +144,9 @@ img {
display: block;
max-width: 100%;
}
+.post-image {
+ display: none;
+}
.flex-wrapper {
display: flex;
justify-content: center;
@@ -280,36 +283,25 @@ div.contact-card h2 {
}
blockquote {
letter-spacing: 1px;
- margin:0px;
+ margin: 0px;
margin-top: 40px;
- margin-bottom: 20px;
+ margin-bottom: 40px;
padding: 0px;
- text-align: center;
- position: relative;
-
- footer {
- position: absolute;
- bottom: -35px;
- font-size: 15px;
- color: $iron;
- letter-spacing: 0px;
- left:0px;
- right: 0px;
-
- &:before { content: "** "; }
- &:after { content: " **"; }
- }
-
+ border-left: 4px solid #fff;
p {
- display: inline;
+ margin-left: 20px;
font-size: 20px;
- color: $cloudy;
+ color: #bcbcbc;
font-weight: 400;
- &:before { content: "“ "; }
- &:after { content: " ”"; }
+ }
+ ul {
+ color: #bcbcbc;
}
}
-
+.publish-date {
+ color: $iron;
+ font-weight: bold;
+}
strong {
color: $iron;
}
@@ -345,7 +337,7 @@ strong {
list-style-type: none;
}
-.menu__entry {
+.menu-entry {
display: inline-block;
margin-right: 35px;
@@ -354,7 +346,7 @@ strong {
}
}
-.menu__entry a {
+.menu-entry a {
font-weight: 400;
}
@@ -365,7 +357,7 @@ strong {
list-style-type: none;
}
-.social-links__entry {
+.social-links-entry {
display: inline-block;
margin-left: 10px;
}
@@ -378,12 +370,12 @@ strong {
font-family: 'Overpass';
}
-.page-title__text {
+.page-title-text {
font-weight: 600;
font-size: 60px;
}
-.page-title__subtitle {
+.page-title-subtitle {
font-weight: 400;
font-family: 'Inconsolata';
font-size: 22px;
@@ -395,11 +387,11 @@ strong {
font-family: 'Overpass';
}
-.post-title__text {
+.post-title-text {
font-size: 40px;
}
-.post-title__subtitle {
+.post-title-subtitle {
font-size: 20px;
}
@@ -423,12 +415,12 @@ strong {
font-style: none;
}
-.post-teaser__title {
+.post-teaser-title {
font-size: 25px;
color: $iron;
}
-.post-teaser__date {
+.post-teaser-date {
font-size: 17px;
float: right;
vertical-align: middle;
@@ -452,12 +444,12 @@ strong {
word-wrap: anywhere;
}
-.explore__divider {
+.explore-divider {
font-size: 18px;
letter-spacing: 8.18px;
}
-.explore__label {
+.explore-label {
font-size: 14px;
margin-top: 15px;
font-family: 'Inconsolata';
@@ -470,24 +462,24 @@ strong {
padding: 0px;
}
-.categories__item {
+.categories-item {
display: inline-block;
font-weight: 700;
font-size: 18px;
}
-.categories__item a {
+.categories-item a {
color: $iron;
font-family: 'Inconsolata';
}
-.categories__item:after {
+.categories-item:after {
content: "/";
margin-left: 6px;
color: $cloudy;
}
-.categories__item:last-child:after {
+.categories-item:last-child:after {
content: "";
margin-left: 0px;
}
@@ -501,13 +493,13 @@ strong {
line-height: 24px;
}
-.about__divider {
+.about-divider {
font-size: 20px;
margin-bottom: 10px;
letter-spacing: 9.09px;
}
-.about__text {
+.about-text {
font-size: 18px;
}
@@ -529,6 +521,14 @@ strong {
width: 28%;
}
}
+@media screen and (max-width: 1000px) and (max-height:600px) {
+ .wrapper {
+ width: 75%;
+ }
+ .card {
+ width: 35%;
+ }
+}
@media (max-width: 800px) {
/* =Base */
p {
@@ -555,20 +555,20 @@ strong {
margin-bottom: 60px;
}
- .page-title__text {
+ .page-title-text {
font-size: 40px;
}
- .page-title__subtitle {
+ .page-title-subtitle {
font-size: 18px;
}
- .post-teaser__title {
+ .post-teaser-title {
font-size: 18px;
@include centered-block();
}
- .post-teaser__date {
+ .post-teaser-date {
font-size: 16px;
margin-top: 10px;
float: none;
@@ -579,11 +579,11 @@ strong {
margin-top: 80px;
}
- .post-title__text {
+ .post-title-text {
font-size: 28px;
}
- .post-title__subtitle {
+ .post-title-subtitle {
font-size: 18px;
}
.post-teaser p {
diff --git a/assets/posts/archive-diagram.png b/assets/posts/archive-diagram.png
new file mode 100644
index 0000000..e29ca5a
Binary files /dev/null and b/assets/posts/archive-diagram.png differ
diff --git a/blog/index.html b/blog/index.html
index ca720df..cbcd789 100644
--- a/blog/index.html
+++ b/blog/index.html
@@ -11,8 +11,8 @@ sitemap:
{% for post in site.posts %}
- {{ post.title }}
- {{ post.date | date: "%d %B %Y" }}
+ {{ post.title }}
+ {{ post.date | date: "%d %B %Y" }}
{{ post.description }}
diff --git a/cover.png b/cover.png
index 2db9da1..7adc915 100644
Binary files a/cover.png and b/cover.png differ
diff --git a/favicon.ico b/favicon.ico
deleted file mode 100644
index 5e2a305..0000000
Binary files a/favicon.ico and /dev/null differ
diff --git a/favicons/android-chrome-192x192.png b/favicons/android-chrome-192x192.png
new file mode 100644
index 0000000..9f499e8
Binary files /dev/null and b/favicons/android-chrome-192x192.png differ
diff --git a/favicons/android-chrome-512x512.png b/favicons/android-chrome-512x512.png
new file mode 100644
index 0000000..45955da
Binary files /dev/null and b/favicons/android-chrome-512x512.png differ
diff --git a/favicons/android-icon-144x144.png b/favicons/android-icon-144x144.png
deleted file mode 100644
index 313a9cb..0000000
Binary files a/favicons/android-icon-144x144.png and /dev/null differ
diff --git a/favicons/android-icon-192x192.png b/favicons/android-icon-192x192.png
deleted file mode 100644
index 05e0a6b..0000000
Binary files a/favicons/android-icon-192x192.png and /dev/null differ
diff --git a/favicons/android-icon-36x36.png b/favicons/android-icon-36x36.png
deleted file mode 100644
index 2e49e15..0000000
Binary files a/favicons/android-icon-36x36.png and /dev/null differ
diff --git a/favicons/android-icon-48x48.png b/favicons/android-icon-48x48.png
deleted file mode 100644
index 3babd3b..0000000
Binary files a/favicons/android-icon-48x48.png and /dev/null differ
diff --git a/favicons/android-icon-72x72.png b/favicons/android-icon-72x72.png
deleted file mode 100644
index 34eeac6..0000000
Binary files a/favicons/android-icon-72x72.png and /dev/null differ
diff --git a/favicons/android-icon-96x96.png b/favicons/android-icon-96x96.png
deleted file mode 100644
index 03e8d0d..0000000
Binary files a/favicons/android-icon-96x96.png and /dev/null differ
diff --git a/favicons/apple-icon-114x114.png b/favicons/apple-icon-114x114.png
deleted file mode 100644
index 5e86a69..0000000
Binary files a/favicons/apple-icon-114x114.png and /dev/null differ
diff --git a/favicons/apple-icon-120x120.png b/favicons/apple-icon-120x120.png
deleted file mode 100644
index 458fa18..0000000
Binary files a/favicons/apple-icon-120x120.png and /dev/null differ
diff --git a/favicons/apple-icon-144x144.png b/favicons/apple-icon-144x144.png
deleted file mode 100644
index 313a9cb..0000000
Binary files a/favicons/apple-icon-144x144.png and /dev/null differ
diff --git a/favicons/apple-icon-152x152.png b/favicons/apple-icon-152x152.png
deleted file mode 100644
index 40b2f49..0000000
Binary files a/favicons/apple-icon-152x152.png and /dev/null differ
diff --git a/favicons/apple-icon-180x180.png b/favicons/apple-icon-180x180.png
deleted file mode 100644
index 5b29e21..0000000
Binary files a/favicons/apple-icon-180x180.png and /dev/null differ
diff --git a/favicons/apple-icon-57x57.png b/favicons/apple-icon-57x57.png
deleted file mode 100644
index 1feb99e..0000000
Binary files a/favicons/apple-icon-57x57.png and /dev/null differ
diff --git a/favicons/apple-icon-60x60.png b/favicons/apple-icon-60x60.png
deleted file mode 100644
index ef127f1..0000000
Binary files a/favicons/apple-icon-60x60.png and /dev/null differ
diff --git a/favicons/apple-icon-72x72.png b/favicons/apple-icon-72x72.png
deleted file mode 100644
index 34eeac6..0000000
Binary files a/favicons/apple-icon-72x72.png and /dev/null differ
diff --git a/favicons/apple-icon-76x76.png b/favicons/apple-icon-76x76.png
deleted file mode 100644
index 84677a2..0000000
Binary files a/favicons/apple-icon-76x76.png and /dev/null differ
diff --git a/favicons/apple-icon-precomposed.png b/favicons/apple-icon-precomposed.png
deleted file mode 100644
index 17b5dff..0000000
Binary files a/favicons/apple-icon-precomposed.png and /dev/null differ
diff --git a/favicons/apple-icon.png b/favicons/apple-icon.png
deleted file mode 100644
index 17b5dff..0000000
Binary files a/favicons/apple-icon.png and /dev/null differ
diff --git a/favicons/apple-touch-icon.png b/favicons/apple-touch-icon.png
new file mode 100644
index 0000000..225c66e
Binary files /dev/null and b/favicons/apple-touch-icon.png differ
diff --git a/favicons/browserconfig.xml b/favicons/browserconfig.xml
index c554148..e9b5623 100644
--- a/favicons/browserconfig.xml
+++ b/favicons/browserconfig.xml
@@ -1,2 +1,9 @@
-#ffffff
\ No newline at end of file
+
+
+
+
+ #494848
+
+
+
diff --git a/favicons/favicon-16x16.png b/favicons/favicon-16x16.png
index bcf30f7..7e9403f 100644
Binary files a/favicons/favicon-16x16.png and b/favicons/favicon-16x16.png differ
diff --git a/favicons/favicon-32x32.png b/favicons/favicon-32x32.png
index 5af6e86..66a2965 100644
Binary files a/favicons/favicon-32x32.png and b/favicons/favicon-32x32.png differ
diff --git a/favicons/favicon-96x96.png b/favicons/favicon-96x96.png
deleted file mode 100644
index 03e8d0d..0000000
Binary files a/favicons/favicon-96x96.png and /dev/null differ
diff --git a/favicons/favicon.ico b/favicons/favicon.ico
index 1a09a76..2cf65b3 100644
Binary files a/favicons/favicon.ico and b/favicons/favicon.ico differ
diff --git a/favicons/manifest.json b/favicons/manifest.json
deleted file mode 100644
index 013d4a6..0000000
--- a/favicons/manifest.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "name": "App",
- "icons": [
- {
- "src": "\/android-icon-36x36.png",
- "sizes": "36x36",
- "type": "image\/png",
- "density": "0.75"
- },
- {
- "src": "\/android-icon-48x48.png",
- "sizes": "48x48",
- "type": "image\/png",
- "density": "1.0"
- },
- {
- "src": "\/android-icon-72x72.png",
- "sizes": "72x72",
- "type": "image\/png",
- "density": "1.5"
- },
- {
- "src": "\/android-icon-96x96.png",
- "sizes": "96x96",
- "type": "image\/png",
- "density": "2.0"
- },
- {
- "src": "\/android-icon-144x144.png",
- "sizes": "144x144",
- "type": "image\/png",
- "density": "3.0"
- },
- {
- "src": "\/android-icon-192x192.png",
- "sizes": "192x192",
- "type": "image\/png",
- "density": "4.0"
- }
- ]
-}
\ No newline at end of file
diff --git a/favicons/ms-icon-144x144.png b/favicons/ms-icon-144x144.png
deleted file mode 100644
index 313a9cb..0000000
Binary files a/favicons/ms-icon-144x144.png and /dev/null differ
diff --git a/favicons/ms-icon-150x150.png b/favicons/ms-icon-150x150.png
deleted file mode 100644
index f9e62be..0000000
Binary files a/favicons/ms-icon-150x150.png and /dev/null differ
diff --git a/favicons/ms-icon-310x310.png b/favicons/ms-icon-310x310.png
deleted file mode 100644
index 981bb1f..0000000
Binary files a/favicons/ms-icon-310x310.png and /dev/null differ
diff --git a/favicons/ms-icon-70x70.png b/favicons/ms-icon-70x70.png
deleted file mode 100644
index 5ff7e2c..0000000
Binary files a/favicons/ms-icon-70x70.png and /dev/null differ
diff --git a/favicons/mstile-150x150.png b/favicons/mstile-150x150.png
new file mode 100644
index 0000000..de3817c
Binary files /dev/null and b/favicons/mstile-150x150.png differ
diff --git a/favicons/safari-pinned-tab.svg b/favicons/safari-pinned-tab.svg
new file mode 100644
index 0000000..186b7f7
--- /dev/null
+++ b/favicons/safari-pinned-tab.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/favicons/site.webmanifest b/favicons/site.webmanifest
new file mode 100644
index 0000000..e31a582
--- /dev/null
+++ b/favicons/site.webmanifest
@@ -0,0 +1,19 @@
+{
+ "name": "",
+ "short_name": "",
+ "icons": [
+ {
+ "src": "android-chrome-192x192.png?v=wAXex2OGrl",
+ "sizes": "192x192",
+ "type": "image/png"
+ },
+ {
+ "src": "android-chrome-512x512.png?v=wAXex2OGrl",
+ "sizes": "512x512",
+ "type": "image/png"
+ }
+ ],
+ "theme_color": "#ffffff",
+ "background_color": "#ffffff",
+ "display": "standalone"
+}
diff --git a/img.py b/img.py
new file mode 100644
index 0000000..4101c1c
--- /dev/null
+++ b/img.py
@@ -0,0 +1,15 @@
+#!/usr/bin/env python3
+
+from bs4 import BeautifulSoup
+import sys
+
+with open(sys.argv[1]) as f:
+ html = BeautifulSoup(f.read(), 'html.parser')
+
+
+for i in html.find_all('p'):
+ if len(i.find_all('img')) > 0:
+ i.unwrap()
+
+with open(sys.argv[1], 'w') as f:
+ f.write(str(html))
diff --git a/jquery-3.3.1.min.js b/jquery-3.3.1.min.js
deleted file mode 100644
index 4d9b3a2..0000000
--- a/jquery-3.3.1.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jQuery v3.3.1 | (c) JS Foundation and other contributors | jquery.org/license */
-!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){"use strict";var n=[],r=e.document,i=Object.getPrototypeOf,o=n.slice,a=n.concat,s=n.push,u=n.indexOf,l={},c=l.toString,f=l.hasOwnProperty,p=f.toString,d=p.call(Object),h={},g=function e(t){return"function"==typeof t&&"number"!=typeof t.nodeType},y=function e(t){return null!=t&&t===t.window},v={type:!0,src:!0,noModule:!0};function m(e,t,n){var i,o=(t=t||r).createElement("script");if(o.text=e,n)for(i in v)n[i]&&(o[i]=n[i]);t.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?l[c.call(e)]||"object":typeof e}var b="3.3.1",w=function(e,t){return new w.fn.init(e,t)},T=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.fn=w.prototype={jquery:"3.3.1",constructor:w,length:0,toArray:function(){return o.call(this)},get:function(e){return null==e?o.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,function(t,n){return e.call(t,n,t)}))},slice:function(){return this.pushStack(o.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n0&&t-1 in e)}var E=function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,y,v,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ae(),k=ae(),S=ae(),D=function(e,t){return e===t&&(f=!0),0},N={}.hasOwnProperty,A=[],j=A.pop,q=A.push,L=A.push,H=A.slice,O=function(e,t){for(var n=0,r=e.length;n+~]|"+M+")"+M+"*"),z=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),X=new RegExp(W),U=new RegExp("^"+R+"$"),V={ID:new RegExp("^#("+R+")"),CLASS:new RegExp("^\\.("+R+")"),TAG:new RegExp("^("+R+"|[*])"),ATTR:new RegExp("^"+I),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+P+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Q=/^[^{]+\{\s*\[native \w/,J=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,K=/[+~]/,Z=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ee=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},te=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ne=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},re=function(){p()},ie=me(function(e){return!0===e.disabled&&("form"in e||"label"in e)},{dir:"parentNode",next:"legend"});try{L.apply(A=H.call(w.childNodes),w.childNodes),A[w.childNodes.length].nodeType}catch(e){L={apply:A.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function oe(e,t,r,i){var o,s,l,c,f,h,v,m=t&&t.ownerDocument,T=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==T&&9!==T&&11!==T)return r;if(!i&&((t?t.ownerDocument||t:w)!==d&&p(t),t=t||d,g)){if(11!==T&&(f=J.exec(e)))if(o=f[1]){if(9===T){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return L.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return L.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!S[e+" "]&&(!y||!y.test(e))){if(1!==T)m=t,v=e;else if("object"!==t.nodeName.toLowerCase()){(c=t.getAttribute("id"))?c=c.replace(te,ne):t.setAttribute("id",c=b),s=(h=a(e)).length;while(s--)h[s]="#"+c+" "+ve(h[s]);v=h.join(","),m=K.test(e)&&ge(t.parentNode)||t}if(v)try{return L.apply(r,m.querySelectorAll(v)),r}catch(e){}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace(B,"$1"),t,r,i)}function ae(){var e=[];function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}return t}function se(e){return e[b]=!0,e}function ue(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function le(e,t){var n=e.split("|"),i=n.length;while(i--)r.attrHandle[n[i]]=t}function ce(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function fe(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function pe(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function de(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ie(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function he(e){return se(function(t){return t=+t,se(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function ge(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}n=oe.support={},o=oe.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},p=oe.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!==d&&9===a.nodeType&&a.documentElement?(d=a,h=d.documentElement,g=!o(d),w!==d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",re,!1):i.attachEvent&&i.attachEvent("onunload",re)),n.attributes=ue(function(e){return e.className="i",!e.getAttribute("className")}),n.getElementsByTagName=ue(function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length}),n.getElementsByClassName=Q.test(d.getElementsByClassName),n.getById=ue(function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length}),n.getById?(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(Z,ee);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&g)return t.getElementsByClassName(e)},v=[],y=[],(n.qsa=Q.test(d.querySelectorAll))&&(ue(function(e){h.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&y.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||y.push("\\["+M+"*(?:value|"+P+")"),e.querySelectorAll("[id~="+b+"-]").length||y.push("~="),e.querySelectorAll(":checked").length||y.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||y.push(".#.+[+~]")}),ue(function(e){e.innerHTML=" ";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&y.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&y.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&y.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),y.push(",.*:")})),(n.matchesSelector=Q.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ue(function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),v.push("!=",W)}),y=y.length&&new RegExp(y.join("|")),v=v.length&&new RegExp(v.join("|")),t=Q.test(h.compareDocumentPosition),x=t||Q.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e===d||e.ownerDocument===w&&x(w,e)?-1:t===d||t.ownerDocument===w&&x(w,t)?1:c?O(c,e)-O(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===d?-1:t===d?1:i?-1:o?1:c?O(c,e)-O(c,t):0;if(i===o)return ce(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?ce(a[r],s[r]):a[r]===w?-1:s[r]===w?1:0},d):d},oe.matches=function(e,t){return oe(e,null,null,t)},oe.matchesSelector=function(e,t){if((e.ownerDocument||e)!==d&&p(e),t=t.replace(z,"='$1']"),n.matchesSelector&&g&&!S[t+" "]&&(!v||!v.test(t))&&(!y||!y.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){}return oe(t,d,null,[e]).length>0},oe.contains=function(e,t){return(e.ownerDocument||e)!==d&&p(e),x(e,t)},oe.attr=function(e,t){(e.ownerDocument||e)!==d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&N.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},oe.escape=function(e){return(e+"").replace(te,ne)},oe.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},oe.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(D),f){while(t=e[o++])t===e[o]&&(i=r.push(o));while(i--)e.splice(r[i],1)}return c=null,e},i=oe.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else while(t=e[r++])n+=i(t);return n},(r=oe.selectors={cacheLength:50,createPseudo:se,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Z,ee),e[3]=(e[3]||e[4]||e[5]||"").replace(Z,ee),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||oe.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&oe.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return V.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Z,ee).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=oe.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace($," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",y=t.parentNode,v=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(y){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===v:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?y.firstChild:y.lastChild],a&&m){x=(d=(l=(c=(f=(p=y)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&y.childNodes[d];while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)while(p=++d&&p&&p[g]||(x=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===v:1===p.nodeType)&&++x&&(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p===t))break;return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||oe.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?se(function(e,n){var r,o=i(e,t),a=o.length;while(a--)e[r=O(e,o[a])]=!(n[r]=o[a])}):function(e){return i(e,0,n)}):i}},pseudos:{not:se(function(e){var t=[],n=[],r=s(e.replace(B,"$1"));return r[b]?se(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}}),has:se(function(e){return function(t){return oe(e,t).length>0}}),contains:se(function(e){return e=e.replace(Z,ee),function(t){return(t.textContent||t.innerText||i(t)).indexOf(e)>-1}}),lang:se(function(e){return U.test(e||"")||oe.error("unsupported lang: "+e),e=e.replace(Z,ee).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:de(!1),disabled:de(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return Y.test(e.nodeName)},input:function(e){return G.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:he(function(){return[0]}),last:he(function(e,t){return[t-1]}),eq:he(function(e,t,n){return[n<0?n+t:n]}),even:he(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:he(function(e,t,n){for(var r=n<0?n+t:n;++r1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function be(e,t,n){for(var r=0,i=t.length;r-1&&(o[l]=!(a[l]=f))}}else v=we(v===a?v.splice(h,v.length):v),i?i(null,a,v,u):L.apply(a,v)})}function Ce(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=me(function(e){return e===t},s,!0),f=me(function(e){return O(t,e)>-1},s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u1&&xe(p),u>1&&ve(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace(B,"$1"),n,u0,i=e.length>0,o=function(o,a,s,u,c){var f,h,y,v=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,k=C.length;for(c&&(l=a===d||a||c);m!==k&&null!=(f=C[m]);m++){if(i&&f){h=0,a||f.ownerDocument===d||(p(f),s=!g);while(y=e[h++])if(y(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!y&&f)&&v--,o&&x.push(f))}if(v+=m,n&&m!==v){h=0;while(y=t[h++])y(x,b,a,s);if(o){if(v>0)while(m--)x[m]||b[m]||(b[m]=j.call(u));b=we(b)}L.apply(u,b),c&&!o&&b.length>0&&v+t.length>1&&oe.uniqueSort(u)}return c&&(T=E,l=w),x};return n?se(o):o}return s=oe.compile=function(e,t){var n,r=[],i=[],o=S[e+" "];if(!o){t||(t=a(e)),n=t.length;while(n--)(o=Ce(t[n]))[b]?r.push(o):i.push(o);(o=S(e,Ee(i,r))).selector=e}return o},u=oe.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(Z,ee),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}o=V.needsContext.test(e)?0:u.length;while(o--){if(l=u[o],r.relative[c=l.type])break;if((f=r.find[c])&&(i=f(l.matches[0].replace(Z,ee),K.test(u[0].type)&&ge(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&ve(u)))return L.apply(n,i),n;break}}}return(p||s(e,d))(i,t,!g,n,!t||K.test(e)&&ge(t.parentNode)||t),n},n.sortStable=b.split("").sort(D).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ue(function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))}),ue(function(e){return e.innerHTML=" ","#"===e.firstChild.getAttribute("href")})||le("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),n.attributes&&ue(function(e){return e.innerHTML=" ",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||le("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ue(function(e){return null==e.getAttribute("disabled")})||le(P,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),oe}(e);w.find=E,w.expr=E.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=E.uniqueSort,w.text=E.getText,w.isXMLDoc=E.isXML,w.contains=E.contains,w.escapeSelector=E.escape;var k=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},D=w.expr.match.needsContext;function N(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var A=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return g(t)?w.grep(e,function(e,r){return!!t.call(e,r,e)!==n}):t.nodeType?w.grep(e,function(e){return e===t!==n}):"string"!=typeof t?w.grep(e,function(e){return u.call(t,e)>-1!==n}):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,function(e){return 1===e.nodeType}))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter(function(){for(t=0;t1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&D.test(e)?w(e):e||[],!1).length}});var q,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var i,o;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(i="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!i[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(i[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(i[1],t&&t.nodeType?t.ownerDocument||t:r,!0)),A.test(i[1])&&w.isPlainObject(t))for(i in t)g(this[i])?this[i](t[i]):this.attr(i,t[i]);return this}return(o=r.getElementById(i[2]))&&(this[0]=o,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):g(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,q=w(r);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter(function(){for(var e=0;e-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?u.call(w(e),this[0]):u.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return k(e,"parentNode")},parentsUntil:function(e,t,n){return k(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return k(e,"nextSibling")},prevAll:function(e){return k(e,"previousSibling")},nextUntil:function(e,t,n){return k(e,"nextSibling",n)},prevUntil:function(e,t,n){return k(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return N(e,"iframe")?e.contentDocument:(N(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),H.test(e)&&i.reverse()),this.pushStack(i)}});var M=/[^\x20\t\r\n\f]+/g;function R(e){var t={};return w.each(e.match(M)||[],function(e,n){t[n]=!0}),t}w.Callbacks=function(e){e="string"==typeof e?R(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1){n=a.shift();while(++s-1)o.splice(n,1),n<=s&&s--}),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l};function I(e){return e}function W(e){throw e}function $(e,t,n,r){var i;try{e&&g(i=e.promise)?i.call(e).done(t).fail(n):e&&g(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},"catch":function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred(function(t){w.each(n,function(n,r){var i=g(e[r[4]])&&e[r[4]];o[r[1]](function(){var e=i&&i.apply(this,arguments);e&&g(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)})}),e=null}).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;if(!(t=o&&(r!==W&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred(function(e){n[0][3].add(a(0,e,g(i)?i:I,e.notifyWith)),n[1][3].add(a(0,e,g(t)?t:I)),n[2][3].add(a(0,e,g(r)?r:W))}).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add(function(){r=s},n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith}),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),i=o.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,i[e]=arguments.length>1?o.call(arguments):n,--t||a.resolveWith(r,i)}};if(t<=1&&($(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||g(i[n]&&i[n].then)))return a.then();while(n--)$(i[n],s(n),a.reject);return a.promise()}});var B=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&B.test(t.name)&&e.console.warn("jQuery.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout(function(){throw t})};var F=w.Deferred();w.fn.ready=function(e){return F.then(e)["catch"](function(e){w.readyException(e)}),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(r,[w]))}}),w.ready.then=F.then;function _(){r.removeEventListener("DOMContentLoaded",_),e.removeEventListener("load",_),w.ready()}"complete"===r.readyState||"loading"!==r.readyState&&!r.documentElement.doScroll?e.setTimeout(w.ready):(r.addEventListener("DOMContentLoaded",_),e.addEventListener("load",_));var z=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n)){i=!0;for(s in n)z(e,t,s,n[s],!0,o,a)}else if(void 0!==r&&(i=!0,g(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s1,null,!0)},removeData:function(e){return this.each(function(){K.remove(this,e)})}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=J.get(e,t),n&&(!r||Array.isArray(n)?r=J.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t),a=function(){w.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return J.get(e,n)||J.access(e,n,{empty:w.Callbacks("once memory").add(function(){J.remove(e,[t+"queue",n])})})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length\x20\t\r\n\f]+)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""," "],thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};ge.optgroup=ge.option,ge.tbody=ge.tfoot=ge.colgroup=ge.caption=ge.thead,ge.th=ge.td;function ye(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&N(e,t)?w.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n-1)i&&i.push(o);else if(l=w.contains(o.ownerDocument,o),a=ye(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])he.test(o.type||"")&&n.push(o)}return f}!function(){var e=r.createDocumentFragment().appendChild(r.createElement("div")),t=r.createElement("input");t.setAttribute("type","radio"),t.setAttribute("checked","checked"),t.setAttribute("name","t"),e.appendChild(t),h.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,e.innerHTML="",h.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue}();var be=r.documentElement,we=/^key/,Te=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ce=/^([^.]*)(?:\.(.+)|)/;function Ee(){return!0}function ke(){return!1}function Se(){try{return r.activeElement}catch(e){}}function De(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)De(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=ke;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return w().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=w.guid++)),e.each(function(){w.event.add(this,t,i,r,n)})}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.get(e);if(y){n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(be,i),n.guid||(n.guid=w.guid++),(u=y.events)||(u=y.events={}),(a=y.handle)||(a=y.handle=function(t){return"undefined"!=typeof w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(M)||[""]).length;while(l--)d=g=(s=Ce.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,y=J.hasData(e)&&J.get(e);if(y&&(u=y.events)){l=(t=(t||"").match(M)||[""]).length;while(l--)if(s=Ce.exec(t[l])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,y.handle)||w.removeEvent(e,d,y.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&J.remove(e,"handle events")}},dispatch:function(e){var t=w.event.fix(e),n,r,i,o,a,s,u=new Array(arguments.length),l=(J.get(this,"events")||{})[t.type]||[],c=w.event.special[t.type]||{};for(u[0]=t,n=1;n=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u\x20\t\r\n\f]*)[^>]*)\/>/gi,Ae=/