utopia-wiki 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.github/workflows/development.yml +62 -0
- data/.gitignore +18 -0
- data/.rspec +2 -0
- data/.yarnrc +1 -0
- data/Gemfile +4 -0
- data/README.md +46 -0
- data/bake/utopia/wiki.rb +13 -0
- data/lib/components/.yarn-integrity +19 -0
- data/lib/components/jquery-litebox/README.md +66 -0
- data/lib/components/jquery-litebox/bower.json +27 -0
- data/lib/components/jquery-litebox/dist/jquery.litebox.css +23 -0
- data/lib/components/jquery-litebox/dist/jquery.litebox.gallery.css +48 -0
- data/lib/components/jquery-litebox/dist/jquery.litebox.js +30 -0
- data/lib/components/jquery-litebox/example/index.html +69 -0
- data/lib/components/jquery-litebox/example/jquery.min.js +4 -0
- data/lib/components/jquery-litebox/example/sample_images/large/IMG_3340.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/large/IMG_3341.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/large/IMG_3344.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/large/IMG_3351.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/medium/IMG_3340.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/medium/IMG_3341.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/medium/IMG_3344.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/medium/IMG_3351.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/small/IMG_3340.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/small/IMG_3341.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/small/IMG_3344.jpg +0 -0
- data/lib/components/jquery-litebox/example/sample_images/small/IMG_3351.jpg +0 -0
- data/lib/components/jquery-litebox/package.json +29 -0
- data/lib/components/jquery-syntax/Gemfile +5 -0
- data/lib/components/jquery-syntax/LICENSE.txt +19 -0
- data/lib/components/jquery-syntax/NOTES.txt +20 -0
- data/lib/components/jquery-syntax/README.md +95 -0
- data/lib/components/jquery-syntax/Rakefile +211 -0
- data/lib/components/jquery-syntax/bower.json +25 -0
- data/lib/components/jquery-syntax/config.ru +4 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.apache.css +12 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.applescript.css +5 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.assembly.css +8 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.bash-script.css +6 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.bash.css +4 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.clang.css +6 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.css.css +14 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.diff.css +16 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.html.css +5 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.ocaml.css +3 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.protobuf.css +2 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.python.css +6 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.ruby.css +2 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.brush.xml.css +18 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.core.css +58 -0
- data/lib/components/jquery-syntax/dist/base/jquery.syntax.editor.css +6 -0
- data/lib/components/jquery-syntax/dist/base/theme.js +1 -0
- data/lib/components/jquery-syntax/dist/bright/jquery.syntax.core.css +27 -0
- data/lib/components/jquery-syntax/dist/bright/theme.js +1 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.apache.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.applescript.js +5 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.assembly.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.bash-script.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.bash.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.basic.js +5 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.clang.js +5 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.csharp.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.css.js +5 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.diff.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.go.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.haskell.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.html.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.io.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.java.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.javascript.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.kai.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.lisp.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.lua.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.nginx.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.ocaml.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.ooc.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.pascal.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.perl5.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.php-script.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.php.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.plain.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.protobuf.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.python.js +5 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.ruby.js +5 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.scala.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.smalltalk.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.sql.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.super-collider.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.swift.js +3 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.trenni.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.xml.js +4 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.brush.yaml.js +2 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.cache.js +7 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.core.js +34 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.editor.js +11 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.js +8 -0
- data/lib/components/jquery-syntax/dist/jquery.syntax.min.js +13 -0
- data/lib/components/jquery-syntax/dist/paper/jquery.syntax.core.css +31 -0
- data/lib/components/jquery-syntax/dist/paper/theme.js +1 -0
- data/lib/components/jquery-syntax/examples/ex.applescript.html +120 -0
- data/lib/components/jquery-syntax/examples/ex.asm.html +43 -0
- data/lib/components/jquery-syntax/examples/ex.bash.html +139 -0
- data/lib/components/jquery-syntax/examples/ex.clang.html +337 -0
- data/lib/components/jquery-syntax/examples/ex.css.html +48 -0
- data/lib/components/jquery-syntax/examples/ex.diff.html +1226 -0
- data/lib/components/jquery-syntax/examples/ex.editor.html +28 -0
- data/lib/components/jquery-syntax/examples/ex.html.html +134 -0
- data/lib/components/jquery-syntax/examples/ex.javascript.html +330 -0
- data/lib/components/jquery-syntax/examples/ex.ooc.html +119 -0
- data/lib/components/jquery-syntax/examples/ex.php.html +54 -0
- data/lib/components/jquery-syntax/examples/ex.python.html +1510 -0
- data/lib/components/jquery-syntax/examples/ex.ruby.html +358 -0
- data/lib/components/jquery-syntax/examples/ex.swift.html +90 -0
- data/lib/components/jquery-syntax/examples/index.css +18 -0
- data/lib/components/jquery-syntax/examples/jquery-1.6.min.js +16 -0
- data/lib/components/jquery-syntax/examples/tests.html +71 -0
- data/lib/components/jquery-syntax/examples/wrapping-flex.html +71 -0
- data/lib/components/jquery-syntax/examples/wrapping.html +181 -0
- data/lib/components/jquery-syntax/ext/closure/COPYING +202 -0
- data/lib/components/jquery-syntax/ext/closure/README +292 -0
- data/lib/components/jquery-syntax/ext/closure/compiler.jar +0 -0
- data/lib/components/jquery-syntax/ext/theme.rb +85 -0
- data/lib/components/jquery-syntax/install.yaml +9 -0
- data/lib/components/jquery-syntax/jQuery.Syntax.artx/Preview/preview.png +0 -0
- data/lib/components/jquery-syntax/jQuery.Syntax.artx/doc.thread +0 -0
- data/lib/components/jquery-syntax/package.json +31 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.apache.js +41 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.applescript.js +57 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.assembly.js +37 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.bash-script.js +67 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.bash.js +33 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.basic.js +51 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.clang.js +89 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.csharp.js +47 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.css.js +80 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.diff.js +24 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.go.js +47 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.haskell.js +45 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.html.js +66 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.io.js +45 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.java.js +45 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.javascript.js +42 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.kai.js +29 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.lisp.js +34 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.lua.js +44 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.nginx.js +30 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.ocaml.js +73 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.ooc.js +46 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.pascal.js +51 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.perl5.js +52 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.php-script.js +48 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.php.js +15 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.plain.js +10 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.protobuf.js +43 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.python.js +44 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.ruby.js +77 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.scala.js +44 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.smalltalk.js +29 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.sql.js +31 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.super-collider.js +57 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.swift.js +55 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.trenni.js +35 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.xml.js +50 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.brush.yaml.js +29 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.core.js +1114 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.editor.js +291 -0
- data/lib/components/jquery-syntax/source/jquery.syntax.js +258 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.apache.sass +23 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.applescript.sass +11 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.assembly.sass +16 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.bash-script.sass +14 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.bash.sass +11 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.clang.sass +12 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.css.sass +25 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.diff.sass +25 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.html.sass +12 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.ocaml.sass +8 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.protobuf.sass +7 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.python.sass +12 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.ruby.sass +9 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.brush.xml.sass +30 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.core.sass +86 -0
- data/lib/components/jquery-syntax/themes/base/jquery.syntax.editor.sass +12 -0
- data/lib/components/jquery-syntax/themes/bright/_config.yaml +2 -0
- data/lib/components/jquery-syntax/themes/bright/jquery.syntax.core.sass +42 -0
- data/lib/components/jquery-syntax/themes/paper/_config.yaml +2 -0
- data/lib/components/jquery-syntax/themes/paper/jquery.syntax.core.sass +47 -0
- data/lib/components/jquery/AUTHORS.txt +327 -0
- data/lib/components/jquery/LICENSE.txt +20 -0
- data/lib/components/jquery/README.md +62 -0
- data/lib/components/jquery/bower.json +14 -0
- data/lib/components/jquery/dist/jquery.js +10872 -0
- data/lib/components/jquery/dist/jquery.min.js +2 -0
- data/lib/components/jquery/dist/jquery.min.map +1 -0
- data/lib/components/jquery/dist/jquery.slim.js +8777 -0
- data/lib/components/jquery/dist/jquery.slim.min.js +2 -0
- data/lib/components/jquery/dist/jquery.slim.min.map +1 -0
- data/lib/components/jquery/external/sizzle/LICENSE.txt +36 -0
- data/lib/components/jquery/external/sizzle/dist/sizzle.js +2478 -0
- data/lib/components/jquery/external/sizzle/dist/sizzle.min.js +3 -0
- data/lib/components/jquery/external/sizzle/dist/sizzle.min.map +1 -0
- data/lib/components/jquery/package.json +117 -0
- data/lib/components/jquery/src/ajax.js +873 -0
- data/lib/components/jquery/src/ajax/jsonp.js +103 -0
- data/lib/components/jquery/src/ajax/load.js +77 -0
- data/lib/components/jquery/src/ajax/script.js +74 -0
- data/lib/components/jquery/src/ajax/var/location.js +5 -0
- data/lib/components/jquery/src/ajax/var/nonce.js +5 -0
- data/lib/components/jquery/src/ajax/var/rquery.js +5 -0
- data/lib/components/jquery/src/ajax/xhr.js +170 -0
- data/lib/components/jquery/src/attributes.js +13 -0
- data/lib/components/jquery/src/attributes/attr.js +141 -0
- data/lib/components/jquery/src/attributes/classes.js +186 -0
- data/lib/components/jquery/src/attributes/prop.js +143 -0
- data/lib/components/jquery/src/attributes/support.js +33 -0
- data/lib/components/jquery/src/attributes/val.js +191 -0
- data/lib/components/jquery/src/callbacks.js +236 -0
- data/lib/components/jquery/src/core.js +400 -0
- data/lib/components/jquery/src/core/DOMEval.js +43 -0
- data/lib/components/jquery/src/core/access.js +72 -0
- data/lib/components/jquery/src/core/camelCase.js +23 -0
- data/lib/components/jquery/src/core/init.js +129 -0
- data/lib/components/jquery/src/core/isAttached.js +26 -0
- data/lib/components/jquery/src/core/nodeName.js +13 -0
- data/lib/components/jquery/src/core/parseHTML.js +65 -0
- data/lib/components/jquery/src/core/parseXML.js +30 -0
- data/lib/components/jquery/src/core/ready-no-deferred.js +97 -0
- data/lib/components/jquery/src/core/ready.js +86 -0
- data/lib/components/jquery/src/core/readyException.js +13 -0
- data/lib/components/jquery/src/core/stripAndCollapse.js +14 -0
- data/lib/components/jquery/src/core/support.js +20 -0
- data/lib/components/jquery/src/core/toType.js +20 -0
- data/lib/components/jquery/src/core/var/rsingleTag.js +7 -0
- data/lib/components/jquery/src/css.js +494 -0
- data/lib/components/jquery/src/css/addGetHookIf.js +26 -0
- data/lib/components/jquery/src/css/adjustCSS.js +74 -0
- data/lib/components/jquery/src/css/curCSS.js +65 -0
- data/lib/components/jquery/src/css/finalPropName.js +42 -0
- data/lib/components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/lib/components/jquery/src/css/showHide.js +105 -0
- data/lib/components/jquery/src/css/support.js +133 -0
- data/lib/components/jquery/src/css/var/cssExpand.js +5 -0
- data/lib/components/jquery/src/css/var/getStyles.js +17 -0
- data/lib/components/jquery/src/css/var/isHiddenWithinTree.js +34 -0
- data/lib/components/jquery/src/css/var/rboxStyle.js +7 -0
- data/lib/components/jquery/src/css/var/rnumnonpx.js +7 -0
- data/lib/components/jquery/src/css/var/swap.js +26 -0
- data/lib/components/jquery/src/data.js +180 -0
- data/lib/components/jquery/src/data/Data.js +162 -0
- data/lib/components/jquery/src/data/var/acceptData.js +19 -0
- data/lib/components/jquery/src/data/var/dataPriv.js +7 -0
- data/lib/components/jquery/src/data/var/dataUser.js +7 -0
- data/lib/components/jquery/src/deferred.js +399 -0
- data/lib/components/jquery/src/deferred/exceptionHook.js +21 -0
- data/lib/components/jquery/src/deprecated.js +87 -0
- data/lib/components/jquery/src/deprecated/ajax-event-alias.js +22 -0
- data/lib/components/jquery/src/deprecated/event.js +48 -0
- data/lib/components/jquery/src/dimensions.js +57 -0
- data/lib/components/jquery/src/effects.js +701 -0
- data/lib/components/jquery/src/effects/Tween.js +125 -0
- data/lib/components/jquery/src/effects/animatedSelector.js +15 -0
- data/lib/components/jquery/src/event.js +892 -0
- data/lib/components/jquery/src/event/focusin.js +58 -0
- data/lib/components/jquery/src/event/support.js +11 -0
- data/lib/components/jquery/src/event/trigger.js +201 -0
- data/lib/components/jquery/src/exports/amd.js +26 -0
- data/lib/components/jquery/src/exports/global.js +34 -0
- data/lib/components/jquery/src/jquery.js +41 -0
- data/lib/components/jquery/src/manipulation.js +480 -0
- data/lib/components/jquery/src/manipulation/_evalUrl.js +32 -0
- data/lib/components/jquery/src/manipulation/buildFragment.js +106 -0
- data/lib/components/jquery/src/manipulation/getAll.js +32 -0
- data/lib/components/jquery/src/manipulation/setGlobalEval.js +22 -0
- data/lib/components/jquery/src/manipulation/support.js +41 -0
- data/lib/components/jquery/src/manipulation/var/rscriptType.js +5 -0
- data/lib/components/jquery/src/manipulation/var/rtagName.js +8 -0
- data/lib/components/jquery/src/manipulation/wrapMap.js +30 -0
- data/lib/components/jquery/src/offset.js +238 -0
- data/lib/components/jquery/src/queue.js +145 -0
- data/lib/components/jquery/src/queue/delay.js +24 -0
- data/lib/components/jquery/src/selector-native.js +241 -0
- data/lib/components/jquery/src/selector-sizzle.js +19 -0
- data/lib/components/jquery/src/selector.js +3 -0
- data/lib/components/jquery/src/serialize.js +136 -0
- data/lib/components/jquery/src/traversing.js +198 -0
- data/lib/components/jquery/src/traversing/findFilter.js +97 -0
- data/lib/components/jquery/src/traversing/var/dir.js +22 -0
- data/lib/components/jquery/src/traversing/var/rneedsContext.js +8 -0
- data/lib/components/jquery/src/traversing/var/siblings.js +17 -0
- data/lib/components/jquery/src/var/ObjectFunctionString.js +7 -0
- data/lib/components/jquery/src/var/arr.js +5 -0
- data/lib/components/jquery/src/var/class2type.js +6 -0
- data/lib/components/jquery/src/var/document.js +5 -0
- data/lib/components/jquery/src/var/documentElement.js +7 -0
- data/lib/components/jquery/src/var/flat.js +16 -0
- data/lib/components/jquery/src/var/fnToString.js +7 -0
- data/lib/components/jquery/src/var/getProto.js +5 -0
- data/lib/components/jquery/src/var/hasOwn.js +7 -0
- data/lib/components/jquery/src/var/indexOf.js +7 -0
- data/lib/components/jquery/src/var/isFunction.js +13 -0
- data/lib/components/jquery/src/var/isWindow.js +8 -0
- data/lib/components/jquery/src/var/pnum.js +5 -0
- data/lib/components/jquery/src/var/push.js +7 -0
- data/lib/components/jquery/src/var/rcheckableType.js +5 -0
- data/lib/components/jquery/src/var/rcssNum.js +9 -0
- data/lib/components/jquery/src/var/rnothtmlwhite.js +8 -0
- data/lib/components/jquery/src/var/slice.js +7 -0
- data/lib/components/jquery/src/var/support.js +6 -0
- data/lib/components/jquery/src/var/toString.js +7 -0
- data/lib/components/jquery/src/wrap.js +78 -0
- data/lib/utopia/wiki.rb +80 -0
- data/lib/utopia/wiki/version.rb +27 -0
- data/package.json +6 -0
- data/pages/_editor.xnode +21 -0
- data/pages/_heading.xnode +2 -0
- data/pages/_listing.xnode +23 -0
- data/pages/_navigation.xnode +33 -0
- data/pages/_page.xnode +32 -0
- data/pages/_thumbnail.xnode +8 -0
- data/pages/controller.rb +77 -0
- data/pages/create.xnode +15 -0
- data/pages/edit.xnode +10 -0
- data/pages/errors/exception.xnode +5 -0
- data/pages/errors/file-not-found.xnode +5 -0
- data/pages/links.yaml +2 -0
- data/pages/show.xnode +15 -0
- data/public/.nojekyll +0 -0
- data/public/_components/jquery-litebox/jquery.litebox.css +23 -0
- data/public/_components/jquery-litebox/jquery.litebox.gallery.css +48 -0
- data/public/_components/jquery-litebox/jquery.litebox.js +30 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.apache.css +12 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.applescript.css +5 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.assembly.css +8 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.bash-script.css +6 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.bash.css +4 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.clang.css +6 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.css.css +14 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.diff.css +16 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.html.css +5 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.ocaml.css +3 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.protobuf.css +2 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.python.css +6 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.ruby.css +2 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.brush.xml.css +18 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.core.css +58 -0
- data/public/_components/jquery-syntax/base/jquery.syntax.editor.css +6 -0
- data/public/_components/jquery-syntax/base/theme.js +1 -0
- data/public/_components/jquery-syntax/bright/jquery.syntax.core.css +27 -0
- data/public/_components/jquery-syntax/bright/theme.js +1 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.apache.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.applescript.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.assembly.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.bash-script.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.bash.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.basic.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.clang.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.csharp.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.css.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.diff.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.go.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.haskell.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.html.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.io.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.java.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.javascript.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.kai.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.lisp.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.lua.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.nginx.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.ocaml.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.ooc.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.pascal.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.perl5.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.php-script.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.php.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.plain.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.protobuf.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.python.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.ruby.js +5 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.scala.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.smalltalk.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.sql.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.super-collider.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.swift.js +3 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.trenni.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.xml.js +4 -0
- data/public/_components/jquery-syntax/jquery.syntax.brush.yaml.js +2 -0
- data/public/_components/jquery-syntax/jquery.syntax.cache.js +7 -0
- data/public/_components/jquery-syntax/jquery.syntax.core.js +34 -0
- data/public/_components/jquery-syntax/jquery.syntax.editor.js +11 -0
- data/public/_components/jquery-syntax/jquery.syntax.js +8 -0
- data/public/_components/jquery-syntax/jquery.syntax.min.js +13 -0
- data/public/_components/jquery-syntax/paper/jquery.syntax.core.css +31 -0
- data/public/_components/jquery-syntax/paper/theme.js +1 -0
- data/public/_components/jquery/jquery.js +10872 -0
- data/public/_components/jquery/jquery.min.js +2 -0
- data/public/_components/jquery/jquery.min.map +1 -0
- data/public/_components/jquery/jquery.slim.js +8777 -0
- data/public/_components/jquery/jquery.slim.min.js +2 -0
- data/public/_components/jquery/jquery.slim.min.map +1 -0
- data/public/_static/icon.png +0 -0
- data/public/_static/site.css +191 -0
- data/utopia-wiki.gemspec +39 -0
- data/wiki/Gemfile +10 -0
- data/wiki/config.ru +7 -0
- data/wiki/pages/_logos/Async.png +0 -0
- data/wiki/pages/_logos/Falcon.png +0 -0
- data/wiki/pages/_logos/Utopia.png +0 -0
- data/wiki/pages/index.en.md +62 -0
- data/wiki/pages/index.md +57 -0
- data/wiki/pages/links.yaml +2 -0
- data/wiki/pages/usage/merging/index.md +3 -0
- data/yarn.lock +22 -0
- metadata +675 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! jQuery v3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector | (c) JS Foundation and other contributors | jquery.org/license */
|
2
|
+
!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(g,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,v=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,y=n.hasOwnProperty,a=y.toString,l=a.call(Object),m={},b=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},w=g.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function C(e,t,n){var r,i,o=(n=n||w).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function T(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.0 -ajax,-ajax/jsonp,-ajax/load,-ajax/script,-ajax/var/location,-ajax/var/nonce,-ajax/var/rquery,-ajax/xhr,-manipulation/_evalUrl,-deprecated/ajax-event-alias,-effects,-effects/Tween,-effects/animatedSelector",E=function(e,t){return new E.fn.init(e,t)};function d(e){var t=!!e&&"length"in e&&e.length,n=T(e);return!b(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}E.fn=E.prototype={jquery:f,constructor:E,length:0,toArray:function(){return s.call(this)},get:function(e){return null==e?s.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=E.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return E.each(this,e)},map:function(n){return this.pushStack(E.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(s.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(E.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(E.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:u,sort:t.sort,splice:t.splice},E.extend=E.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||b(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(E.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||E.isPlainObject(n)?n:{},i=!1,a[t]=E.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},E.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==o.call(e))&&(!(t=r(e))||"function"==typeof(n=y.call(t,"constructor")&&t.constructor)&&a.call(n)===l)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){C(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(d(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(d(Object(e))?E.merge(n,"string"==typeof e?[e]:e):u.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:i.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(d(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return v(a)},guid:1,support:m}),"function"==typeof Symbol&&(E.fn[Symbol.iterator]=t[Symbol.iterator]),E.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var p=function(n){var e,p,x,o,i,h,f,g,w,u,l,C,T,a,E,v,s,c,y,A="sizzle"+1*new Date,d=n.document,N=0,r=0,m=ue(),b=ue(),S=ue(),k=ue(),D=function(e,t){return e===t&&(l=!0),0},L={}.hasOwnProperty,t=[],j=t.pop,q=t.push,O=t.push,P=t.slice,H=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},I="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",R="[\\x20\\t\\r\\n\\f]",B="(?:\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",M="\\["+R+"*("+B+")(?:"+R+"*([*^$|!~]?=)"+R+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+B+"))|)"+R+"*\\]",W=":("+B+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",F=new RegExp(R+"+","g"),$=new RegExp("^"+R+"+|((?:^|[^\\\\])(?:\\\\.)*)"+R+"+$","g"),z=new RegExp("^"+R+"*,"+R+"*"),_=new RegExp("^"+R+"*([>+~]|"+R+")"+R+"*"),U=new RegExp(R+"|>"),V=new RegExp(W),X=new RegExp("^"+B+"$"),Q={ID:new RegExp("^#("+B+")"),CLASS:new RegExp("^\\.("+B+")"),TAG:new RegExp("^("+B+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+W),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+R+"*(even|odd|(([+-]|)(\\d*)n|)"+R+"*(?:([+-]|)"+R+"*(\\d+)|))"+R+"*\\)|)","i"),bool:new RegExp("^(?:"+I+")$","i"),needsContext:new RegExp("^"+R+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+R+"*((?:-\\d)?\\d*)"+R+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,G=/^(?:input|select|textarea|button)$/i,K=/^h\d$/i,J=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+R+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){C()},ae=xe(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{O.apply(t=P.call(d.childNodes),d.childNodes),t[d.childNodes.length].nodeType}catch(e){O={apply:t.length?function(e,t){q.apply(e,P.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,d=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==d&&9!==d&&11!==d)return n;if(!r&&(C(e),e=e||T,E)){if(11!==d&&(u=Z.exec(t)))if(i=u[1]){if(9===d){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return O.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&p.getElementsByClassName&&e.getElementsByClassName)return O.apply(n,e.getElementsByClassName(i)),n}if(p.qsa&&!k[t+" "]&&(!v||!v.test(t))&&(1!==d||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===d&&(U.test(t)||_.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&p.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=A)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+be(l[o]);c=l.join(",")}try{return O.apply(n,f.querySelectorAll(c)),n}catch(e){k(t,!0)}finally{s===A&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>x.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[A]=!0,e}function ce(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)x.attrHandle[n[r]]=t}function de(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 pe(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in p=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},C=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:d;return r!=T&&9===r.nodeType&&r.documentElement&&(a=(T=r).documentElement,E=!i(T),d!=T&&(n=T.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),p.scope=ce(function(e){return a.appendChild(e).appendChild(T.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),p.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),p.getElementsByTagName=ce(function(e){return e.appendChild(T.createComment("")),!e.getElementsByTagName("*").length}),p.getElementsByClassName=J.test(T.getElementsByClassName),p.getById=ce(function(e){return a.appendChild(e).id=A,!T.getElementsByName||!T.getElementsByName(A).length}),p.getById?(x.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(x.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},x.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){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[]}}),x.find.TAG=p.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):p.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},x.find.CLASS=p.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(p.qsa=J.test(T.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="<a id='"+A+"'></a><select id='"+A+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+R+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+R+"*(?:value|"+I+")"),e.querySelectorAll("[id~="+A+"-]").length||v.push("~="),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+R+"*name"+R+"*="+R+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+A+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=T.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+R+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(p.matchesSelector=J.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){p.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",W)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=J.test(a.compareDocumentPosition),y=t||J.test(a.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 l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!p.sortDetached&&t.compareDocumentPosition(e)===n?e==T||e.ownerDocument==d&&y(d,e)?-1:t==T||t.ownerDocument==d&&y(d,t)?1:u?H(u,e)-H(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==T?-1:t==T?1:i?-1:o?1:u?H(u,e)-H(u,t):0;if(i===o)return de(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?de(a[r],s[r]):a[r]==d?-1:s[r]==d?1:0}),T},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(C(e),p.matchesSelector&&E&&!k[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||p.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){k(t,!0)}return 0<se(t,T,null,[e]).length},se.contains=function(e,t){return(e.ownerDocument||e)!=T&&C(e),y(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=T&&C(e);var n=x.attrHandle[t.toLowerCase()],r=n&&L.call(x.attrHandle,t.toLowerCase())?n(e,t,!E):void 0;return void 0!==r?r:p.attributes||!E?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,n=[],r=0,i=0;if(l=!p.detectDuplicates,u=!p.sortStable&&e.slice(0),e.sort(D),l){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)e.splice(n[r],1)}return u=null,e},o=se.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=o(e)}else if(3===i||4===i)return e.nodeValue}else while(t=e[r++])n+=o(t);return n},(x=se.selectors={cacheLength:50,createPseudo:le,match:Q,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(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===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]||se.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]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&V.test(n)&&(t=h(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(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+R+")"+e+"("+R+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(F," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(h,e,t,g,v){var y="nth"!==h.slice(0,3),m="last"!==h.slice(-4),b="of-type"===e;return 1===g&&0===v?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u,l=y!==m?"nextSibling":"previousSibling",c=e.parentNode,f=b&&e.nodeName.toLowerCase(),d=!n&&!b,p=!1;if(c){if(y){while(l){a=e;while(a=a[l])if(b?a.nodeName.toLowerCase()===f:1===a.nodeType)return!1;u=l="only"===h&&!u&&"nextSibling"}return!0}if(u=[m?c.firstChild:c.lastChild],m&&d){p=(s=(r=(i=(o=(a=c)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1])&&r[2],a=s&&c.childNodes[s];while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if(1===a.nodeType&&++p&&a===e){i[h]=[N,s,p];break}}else if(d&&(p=s=(r=(i=(o=(a=e)[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]||[])[0]===N&&r[1]),!1===p)while(a=++s&&a&&a[l]||(p=s=0)||u.pop())if((b?a.nodeName.toLowerCase()===f:1===a.nodeType)&&++p&&(d&&((i=(o=a[A]||(a[A]={}))[a.uniqueID]||(o[a.uniqueID]={}))[h]=[N,p]),a===e))break;return(p-=v)===g||p%g==0&&0<=p/g}}},PSEUDO:function(e,o){var t,a=x.pseudos[e]||x.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return a[A]?a(o):1<a.length?(t=[e,e,"",o],x.setFilters.hasOwnProperty(e.toLowerCase())?le(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=H(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:le(function(e){var r=[],i=[],s=f(e.replace($,"$1"));return s[A]?le(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:le(function(t){return function(e){return 0<se(t,e).length}}),contains:le(function(t){return t=t.replace(te,ne),function(e){return-1<(e.textContent||o(e)).indexOf(t)}}),lang:le(function(n){return X.test(n||"")||se.error("unsupported lang: "+n),n=n.replace(te,ne).toLowerCase(),function(e){var t;do{if(t=E?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=n.location&&n.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===a},focus:function(e){return e===T.activeElement&&(!T.hasFocus||T.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!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!x.pseudos.empty(e)},header:function(e){return K.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:ve(function(){return[0]}),last:ve(function(e,t){return[t-1]}),eq:ve(function(e,t,n){return[n<0?n+t:n]}),even:ve(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ve(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ve(function(e,t,n){for(var r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:ve(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=x.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})x.pseudos[e]=pe(e);for(e in{submit:!0,reset:!0})x.pseudos[e]=he(e);function me(){}function be(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function xe(s,e,t){var u=e.dir,l=e.next,c=l||u,f=t&&"parentNode"===c,d=r++;return e.first?function(e,t,n){while(e=e[u])if(1===e.nodeType||f)return s(e,t,n);return!1}:function(e,t,n){var r,i,o,a=[N,d];if(n){while(e=e[u])if((1===e.nodeType||f)&&s(e,t,n))return!0}else while(e=e[u])if(1===e.nodeType||f)if(i=(o=e[A]||(e[A]={}))[e.uniqueID]||(o[e.uniqueID]={}),l&&l===e.nodeName.toLowerCase())e=e[u]||e;else{if((r=i[c])&&r[0]===N&&r[1]===d)return a[2]=r[2];if((i[c]=a)[2]=s(e,t,n))return!0}return!1}}function we(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Ce(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Te(p,h,g,v,y,e){return v&&!v[A]&&(v=Te(v)),y&&!y[A]&&(y=Te(y,e)),le(function(e,t,n,r){var i,o,a,s=[],u=[],l=t.length,c=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),f=!p||!e&&h?c:Ce(c,s,p,n,r),d=g?y||(e?p:l||v)?[]:t:f;if(g&&g(f,d,n,r),v){i=Ce(d,u),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(d[u[o]]=!(f[u[o]]=a))}if(e){if(y||p){if(y){i=[],o=d.length;while(o--)(a=d[o])&&i.push(f[o]=a);y(null,d=[],i,r)}o=d.length;while(o--)(a=d[o])&&-1<(i=y?H(e,a):s[o])&&(e[i]=!(t[i]=a))}}else d=Ce(d===t?d.splice(l,d.length):d),y?y(null,t,d,r):O.apply(t,d)})}function Ee(e){for(var i,t,n,r=e.length,o=x.relative[e[0].type],a=o||x.relative[" "],s=o?1:0,u=xe(function(e){return e===i},a,!0),l=xe(function(e){return-1<H(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!==w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=x.relative[e[s].type])c=[xe(we(c),t)];else{if((t=x.filter[e[s].type].apply(null,e[s].matches))[A]){for(n=++s;n<r;n++)if(x.relative[e[n].type])break;return Te(1<s&&we(c),1<s&&be(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace($,"$1"),t,s<n&&Ee(e.slice(s,n)),n<r&&Ee(e=e.slice(n)),n<r&&be(e))}c.push(t)}return we(c)}return me.prototype=x.filters=x.pseudos,x.setFilters=new me,h=se.tokenize=function(e,t){var n,r,i,o,a,s,u,l=b[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=x.preFilter;while(a){for(o in n&&!(r=z.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=_.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace($," ")}),a=a.slice(n.length)),x.filter)!(r=Q[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?se.error(e):b(e,s).slice(0)},f=se.compile=function(e,t){var n,v,y,m,b,r,i=[],o=[],a=S[e+" "];if(!a){t||(t=h(e)),n=t.length;while(n--)(a=Ee(t[n]))[A]?i.push(a):o.push(a);(a=S(e,(v=o,m=0<(y=i).length,b=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],d=w,p=e||b&&x.find.TAG("*",i),h=N+=null==d?1:Math.random()||.1,g=p.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=p[l]);l++){if(b&&o){a=0,t||o.ownerDocument==T||(C(o),n=!E);while(s=v[a++])if(s(o,t||T,n)){r.push(o);break}i&&(N=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=j.call(r));f=Ce(f)}O.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&se.uniqueSort(r)}return i&&(N=h,w=d),c},m?le(r):r))).selector=e}return a},g=se.select=function(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&h(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&E&&x.relative[o[1].type]){if(!(t=(x.find.ID(a.matches[0].replace(te,ne),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=Q.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],x.relative[s=a.type])break;if((u=x.find[s])&&(r=u(a.matches[0].replace(te,ne),ee.test(o[0].type)&&ye(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&be(o)))return O.apply(n,r),n;break}}}return(l||f(e,c))(r,t,!E,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},p.sortStable=A.split("").sort(D).join("")===A,p.detectDuplicates=!!l,C(),p.sortDetached=ce(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||fe("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),p.attributes&&ce(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||fe("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),ce(function(e){return null==e.getAttribute("disabled")})||fe(I,function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),se}(g);E.find=p,E.expr=p.selectors,E.expr[":"]=E.expr.pseudos,E.uniqueSort=E.unique=p.uniqueSort,E.text=p.getText,E.isXMLDoc=p.isXML,E.contains=p.contains,E.escapeSelector=p.escape;var h=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&E(e).is(n))break;r.push(e)}return r},A=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},N=E.expr.match.needsContext;function S(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var k=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return b(n)?E.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?E.grep(e,function(e){return e===n!==r}):"string"!=typeof n?E.grep(e,function(e){return-1<i.call(n,e)!==r}):E.filter(n,e,r)}E.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?E.find.matchesSelector(r,e)?[r]:[]:E.find.matches(e,E.grep(t,function(e){return 1===e.nodeType}))},E.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(E(e).filter(function(){for(t=0;t<r;t++)if(E.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)E.find(e,i[t],n);return 1<r?E.uniqueSort(n):n},filter:function(e){return this.pushStack(D(this,e||[],!1))},not:function(e){return this.pushStack(D(this,e||[],!0))},is:function(e){return!!D(this,"string"==typeof e&&N.test(e)?E(e):e||[],!1).length}});var L,j=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(E.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||L,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:j.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof E?t[0]:t,E.merge(this,E.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:w,!0)),k.test(r[1])&&E.isPlainObject(t))for(r in t)b(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=w.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):b(e)?void 0!==n.ready?n.ready(e):e(E):E.makeArray(e,this)}).prototype=E.fn,L=E(w);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}E.fn.extend({has:function(e){var t=E(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(E.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&E(e);if(!N.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&E.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?E.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?i.call(E(e),this[0]):i.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(E.uniqueSort(E.merge(this.get(),E(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),E.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return h(e,"parentNode")},parentsUntil:function(e,t,n){return h(e,"parentNode",n)},next:function(e){return P(e,"nextSibling")},prev:function(e){return P(e,"previousSibling")},nextAll:function(e){return h(e,"nextSibling")},prevAll:function(e){return h(e,"previousSibling")},nextUntil:function(e,t,n){return h(e,"nextSibling",n)},prevUntil:function(e,t,n){return h(e,"previousSibling",n)},siblings:function(e){return A((e.parentNode||{}).firstChild,e)},children:function(e){return A(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(S(e,"template")&&(e=e.content||e),E.merge([],e.childNodes))}},function(r,i){E.fn[r]=function(e,t){var n=E.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=E.filter(t,n)),1<this.length&&(O[r]||E.uniqueSort(n),q.test(r)&&n.reverse()),this.pushStack(n)}});var H=/[^\x20\t\r\n\f]+/g;function I(e){return e}function R(e){throw e}function B(e,t,n,r){var i;try{e&&b(i=e.promise)?i.call(e).done(t).fail(n):e&&b(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}E.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},E.each(e.match(H)||[],function(e,t){n[t]=!0}),n):E.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){E.each(e,function(e,t){b(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==T(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return E.each(arguments,function(e,t){var n;while(-1<(n=E.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<E.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},E.extend({Deferred:function(e){var o=[["notify","progress",E.Callbacks("memory"),E.Callbacks("memory"),2],["resolve","done",E.Callbacks("once memory"),E.Callbacks("once memory"),0,"resolved"],["reject","fail",E.Callbacks("once memory"),E.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return E.Deferred(function(r){E.each(o,function(e,t){var n=b(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&b(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,b(t)?s?t.call(e,l(u,o,I,s),l(u,o,R,s)):(u++,t.call(e,l(u,o,I,s),l(u,o,R,s),l(u,o,I,o.notifyWith))):(a!==I&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){E.Deferred.exceptionHook&&E.Deferred.exceptionHook(e,t.stackTrace),u<=i+1&&(a!==R&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(E.Deferred.getStackHook&&(t.stackTrace=E.Deferred.getStackHook()),g.setTimeout(t))}}return E.Deferred(function(e){o[0][3].add(l(0,e,b(r)?r:I,e.notifyWith)),o[1][3].add(l(0,e,b(t)?t:I)),o[2][3].add(l(0,e,b(n)?n:R))}).promise()},promise:function(e){return null!=e?E.extend(e,a):a}},s={};return E.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=s.call(arguments),o=E.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?s.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(B(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||b(i[t]&&i[t].then)))return o.then();while(t--)B(i[t],a(t),o.reject);return o.promise()}});var M=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;E.Deferred.exceptionHook=function(e,t){g.console&&g.console.warn&&e&&M.test(e.name)&&g.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},E.readyException=function(e){g.setTimeout(function(){throw e})};var W=E.Deferred();function F(){w.removeEventListener("DOMContentLoaded",F),g.removeEventListener("load",F),E.ready()}E.fn.ready=function(e){return W.then(e)["catch"](function(e){E.readyException(e)}),this},E.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--E.readyWait:E.isReady)||(E.isReady=!0)!==e&&0<--E.readyWait||W.resolveWith(w,[E])}}),E.ready.then=W.then,"complete"===w.readyState||"loading"!==w.readyState&&!w.documentElement.doScroll?g.setTimeout(E.ready):(w.addEventListener("DOMContentLoaded",F),g.addEventListener("load",F));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===T(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,b(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(E(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},z=/^-ms-/,_=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function V(e){return e.replace(z,"ms-").replace(_,U)}var X=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=E.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t=Object.create(null),X(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[V(t)]=n;else for(r in t)i[V(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][V(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(V):(t=V(t))in r?[t]:t.match(H)||[]).length;while(n--)delete r[t[n]]}(void 0===t||E.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!E.isEmptyObject(t)}};var Y=new Q,G=new Q,K=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,J=/[A-Z]/g;function Z(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(J,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:K.test(i)?JSON.parse(i):i)}catch(e){}G.set(e,t,n)}else n=void 0;return n}E.extend({hasData:function(e){return G.hasData(e)||Y.hasData(e)},data:function(e,t,n){return G.access(e,t,n)},removeData:function(e,t){G.remove(e,t)},_data:function(e,t,n){return Y.access(e,t,n)},_removeData:function(e,t){Y.remove(e,t)}}),E.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=G.get(o),1===o.nodeType&&!Y.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=V(r.slice(5)),Z(o,r,i[r]));Y.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){G.set(this,n)}):$(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=G.get(o,n))?t:void 0!==(t=Z(o,n))?t:void 0;this.each(function(){G.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){G.remove(this,e)})}}),E.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=Y.get(e,t),n&&(!r||Array.isArray(n)?r=Y.access(e,t,E.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=E.queue(e,t),r=n.length,i=n.shift(),o=E._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){E.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return Y.get(e,n)||Y.access(e,n,{empty:E.Callbacks("once memory").add(function(){Y.remove(e,[t+"queue",n])})})}}),E.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?E.queue(this[0],t):void 0===n?this:this.each(function(){var e=E.queue(this,t,n);E._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&E.dequeue(this,t)})},dequeue:function(e){return this.each(function(){E.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=E.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=Y.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=w.documentElement,ie=function(e){return E.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return E.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===E.css(e,"display")};var se={};function ue(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=Y.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ae(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=se[s])||(o=a.body.appendChild(a.createElement(s)),u=E.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),se[s]=u)))):"none"!==n&&(l[c]="none",Y.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}E.fn.extend({show:function(){return ue(this,!0)},hide:function(){return ue(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ae(this)?E(this).show():E(this).hide()})}});var le,ce,fe=/^(?:checkbox|radio)$/i,de=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,pe=/^$|^module$|\/(?:java|ecma)script/i;le=w.createDocumentFragment().appendChild(w.createElement("div")),(ce=w.createElement("input")).setAttribute("type","radio"),ce.setAttribute("checked","checked"),ce.setAttribute("name","t"),le.appendChild(ce),m.checkClone=le.cloneNode(!0).cloneNode(!0).lastChild.checked,le.innerHTML="<textarea>x</textarea>",m.noCloneChecked=!!le.cloneNode(!0).lastChild.defaultValue,le.innerHTML="<option></option>",m.option=!!le.lastChild;var he={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ge(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&S(e,t)?E.merge([e],n):n}function ve(e,t){for(var n=0,r=e.length;n<r;n++)Y.set(e[n],"globalEval",!t||Y.get(t[n],"globalEval"))}he.tbody=he.tfoot=he.colgroup=he.caption=he.thead,he.th=he.td,m.option||(he.optgroup=he.option=[1,"<select multiple='multiple'>","</select>"]);var ye=/<|&#?\w+;/;function me(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),d=[],p=0,h=e.length;p<h;p++)if((o=e[p])||0===o)if("object"===T(o))E.merge(d,o.nodeType?[o]:o);else if(ye.test(o)){a=a||f.appendChild(t.createElement("div")),s=(de.exec(o)||["",""])[1].toLowerCase(),u=he[s]||he._default,a.innerHTML=u[1]+E.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;E.merge(d,a.childNodes),(a=f.firstChild).textContent=""}else d.push(t.createTextNode(o));f.textContent="",p=0;while(o=d[p++])if(r&&-1<E.inArray(o,r))i&&i.push(o);else if(l=ie(o),a=ge(f.appendChild(o),"script"),l&&ve(a),n){c=0;while(o=a[c++])pe.test(o.type||"")&&n.push(o)}return f}var be=/^key/,xe=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,we=/^([^.]*)(?:\.(.+)|)/;function Ce(){return!0}function Te(){return!1}function Ee(e,t){return e===function(){try{return w.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(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=Te;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return E().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=E.guid++)),e.each(function(){E.event.add(this,t,i,r,n)})}function Ne(e,i,o){o?(Y.set(e,i,!1),E.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Y.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(E.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Y.set(this,i,r),t=o(this,i),this[i](),r!==(n=Y.get(this,i))||t?Y.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Y.set(this,i,{value:E.event.trigger(E.extend(r[0],E.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Y.get(e,i)&&E.event.add(e,i,Ce)}E.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.get(t);if(X(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&E.find.matchesSelector(re,i),n.guid||(n.guid=E.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof E&&E.event.triggered!==e.type?E.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(H)||[""]).length;while(l--)p=g=(s=we.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),p&&(f=E.event.special[p]||{},p=(i?f.delegateType:f.bindType)||p,f=E.event.special[p]||{},c=E.extend({type:p,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&E.expr.match.needsContext.test(i),namespace:h.join(".")},o),(d=u[p])||((d=u[p]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(p,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?d.splice(d.delegateCount++,0,c):d.push(c),E.event.global[p]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,d,p,h,g,v=Y.hasData(e)&&Y.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(H)||[""]).length;while(l--)if(p=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),p){f=E.event.special[p]||{},d=u[p=(r?f.delegateType:f.bindType)||p]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=d.length;while(o--)c=d[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(d.splice(o,1),c.selector&&d.delegateCount--,f.remove&&f.remove.call(e,c));a&&!d.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||E.removeEvent(e,p,v.handle),delete u[p])}else for(p in u)E.event.remove(e,p+t[l],n,r,!0);E.isEmptyObject(u)&&Y.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=E.event.fix(e),l=(Y.get(this,"events")||Object.create(null))[u.type]||[],c=E.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=E.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((E.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<E(i,this).index(l):E.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(E.Event.prototype,t,{enumerable:!0,configurable:!0,get:b(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[E.expando]?e:new E.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click",Ce),!1},trigger:function(e){var t=this||e;return fe.test(t.type)&&t.click&&S(t,"input")&&Ne(t,"click"),!0},_default:function(e){var t=e.target;return fe.test(t.type)&&t.click&&S(t,"input")&&Y.get(t,"click")||S(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},E.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},E.Event=function(e,t){if(!(this instanceof E.Event))return new E.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ce:Te,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&E.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[E.expando]=!0},E.Event.prototype={constructor:E.Event,isDefaultPrevented:Te,isPropagationStopped:Te,isImmediatePropagationStopped:Te,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ce,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ce,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ce,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},E.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:function(e){var t=e.button;return null==e.which&&be.test(e.type)?null!=e.charCode?e.charCode:e.keyCode:!e.which&&void 0!==t&&xe.test(e.type)?1&t?1:2&t?3:4&t?2:0:e.which}},E.event.addProp),E.each({focus:"focusin",blur:"focusout"},function(e,t){E.event.special[e]={setup:function(){return Ne(this,e,Ee),!1},trigger:function(){return Ne(this,e),!0},delegateType:t}}),E.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){E.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||E.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),E.fn.extend({on:function(e,t,n,r){return Ae(this,e,t,n,r)},one:function(e,t,n,r){return Ae(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,E(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Te),this.each(function(){E.event.remove(this,e,n,t)})}});var Se=/<script|<style|<link/i,ke=/checked\s*(?:[^=]|=\s*.checked.)/i,De=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function Le(e,t){return S(e,"table")&&S(11!==t.nodeType?t:t.firstChild,"tr")&&E(e).children("tbody")[0]||e}function je(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)E.event.add(t,i,s[i][n]);G.hasData(e)&&(o=G.access(e),a=E.extend({},o),G.set(t,a))}}function Pe(n,r,i,o){r=v(r);var e,t,a,s,u,l,c=0,f=n.length,d=f-1,p=r[0],h=b(p);if(h||1<f&&"string"==typeof p&&!m.checkClone&&ke.test(p))return n.each(function(e){var t=n.eq(e);h&&(r[0]=p.call(this,e,t.html())),Pe(t,r,i,o)});if(f&&(t=(e=me(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=E.map(ge(e,"script"),je)).length;c<f;c++)u=e,c!==d&&(u=E.clone(u,!0,!0),s&&E.merge(a,ge(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,E.map(a,qe),c=0;c<s;c++)u=a[c],pe.test(u.type||"")&&!Y.access(u,"globalEval")&&E.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?E._evalUrl&&!u.noModule&&E._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):C(u.textContent.replace(De,""),u,l))}return n}function He(e,t,n){for(var r,i=t?E.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||E.cleanData(ge(r)),r.parentNode&&(n&&ie(r)&&ve(ge(r,"script")),r.parentNode.removeChild(r));return e}E.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=ie(e);if(!(m.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||E.isXMLDoc(e)))for(a=ge(c),r=0,i=(o=ge(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&fe.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||ge(e),a=a||ge(c),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,c);return 0<(a=ge(c,"script")).length&&ve(a,!f&&ge(e,"script")),c},cleanData:function(e){for(var t,n,r,i=E.event.special,o=0;void 0!==(n=e[o]);o++)if(X(n)){if(t=n[Y.expando]){if(t.events)for(r in t.events)i[r]?E.event.remove(n,r):E.removeEvent(n,r,t.handle);n[Y.expando]=void 0}n[G.expando]&&(n[G.expando]=void 0)}}}),E.fn.extend({detach:function(e){return He(this,e,!0)},remove:function(e){return He(this,e)},text:function(e){return $(this,function(e){return void 0===e?E.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return Pe(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Le(this,e).appendChild(e)})},prepend:function(){return Pe(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Le(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return Pe(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(E.cleanData(ge(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return E.clone(this,e,t)})},html:function(e){return $(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Se.test(e)&&!he[(de.exec(e)||["",""])[1].toLowerCase()]){e=E.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(E.cleanData(ge(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return Pe(this,arguments,function(e){var t=this.parentNode;E.inArray(this,n)<0&&(E.cleanData(ge(this)),t&&t.replaceChild(e,this))},n)}}),E.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){E.fn[e]=function(e){for(var t,n=[],r=E(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),E(r[o])[a](t),u.apply(n,t.get());return this.pushStack(n)}});var Ie=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Re=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=g),t.getComputedStyle(e)},Be=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Me=new RegExp(ne.join("|"),"i");function We(e,t,n){var r,i,o,a,s=e.style;return(n=n||Re(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=E.style(e,t)),!m.pixelBoxStyles()&&Ie.test(a)&&Me.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function Fe(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(u).appendChild(l);var e=g.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),re.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=w.createElement("div"),l=w.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",m.clearCloneStyle="content-box"===l.style.backgroundClip,E.extend(m,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=w.createElement("table"),t=w.createElement("tr"),n=w.createElement("div"),e.style.cssText="position:absolute;left:-11111px",t.style.height="1px",n.style.height="9px",re.appendChild(e).appendChild(t).appendChild(n),r=g.getComputedStyle(t),a=3<parseInt(r.height),re.removeChild(e)),a}}))}();var $e=["Webkit","Moz","ms"],ze=w.createElement("div").style,_e={};function Ue(e){var t=E.cssProps[e]||_e[e];return t||(e in ze?e:_e[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=$e.length;while(n--)if((e=$e[n]+t)in ze)return e}(e)||e)}var Ve,Xe,Qe=/^(none|table(?!-c[ea]).+)/,Ye=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ke={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ze(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=E.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=E.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=E.css(e,"border"+ne[a]+"Width",!0,i))):(u+=E.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=E.css(e,"border"+ne[a]+"Width",!0,i):s+=E.css(e,"border"+ne[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function et(e,t,n){var r=Re(e),i=(!m.boxSizingReliable()||n)&&"border-box"===E.css(e,"boxSizing",!1,r),o=i,a=We(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Ie.test(a)){if(!n)return a;a="auto"}return(!m.boxSizingReliable()&&i||!m.reliableTrDimensions()&&S(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===E.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===E.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ze(e,t,n||(i?"border":"content"),o,r,a)+"px"}E.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=We(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=V(t),u=Ye.test(t),l=e.style;if(u||(t=Ue(s)),a=E.cssHooks[t]||E.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=function(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return E.css(e,t,"")},u=s(),l=n&&n[3]||(E.cssNumber[t]?"":"px"),c=e.nodeType&&(E.cssNumber[t]||"px"!==l&&+u)&&te.exec(E.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)E.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,E.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(E.cssNumber[s]?"":"px")),m.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=V(t);return Ye.test(t)||(t=Ue(s)),(a=E.cssHooks[t]||E.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=We(e,t,r)),"normal"===i&&t in Ke&&(i=Ke[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),E.each(["height","width"],function(e,u){E.cssHooks[u]={get:function(e,t,n){if(t)return!Qe.test(E.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?et(e,u,n):Be(e,Ge,function(){return et(e,u,n)})},set:function(e,t,n){var r,i=Re(e),o=!m.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===E.css(e,"boxSizing",!1,i),s=n?Ze(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-Ze(e,u,"border",!1,i)-.5)),s&&(r=te.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=E.css(e,u)),Je(0,t,s)}}}),E.cssHooks.marginLeft=Fe(m.reliableMarginLeft,function(e,t){if(t)return(parseFloat(We(e,"marginLeft"))||e.getBoundingClientRect().left-Be(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),E.each({margin:"",padding:"",border:"Width"},function(i,o){E.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+ne[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(E.cssHooks[i+o].set=Je)}),E.fn.extend({css:function(e,t){return $(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Re(e),i=t.length;a<i;a++)o[t[a]]=E.css(e,t[a],!1,r);return o}return void 0!==n?E.style(e,t,n):E.css(e,t)},e,t,1<arguments.length)}}),E.fn.delay=function(r,e){return r=E.fx&&E.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=g.setTimeout(e,r);t.stop=function(){g.clearTimeout(n)}})},Ve=w.createElement("input"),Xe=w.createElement("select").appendChild(w.createElement("option")),Ve.type="checkbox",m.checkOn=""!==Ve.value,m.optSelected=Xe.selected,(Ve=w.createElement("input")).value="t",Ve.type="radio",m.radioValue="t"===Ve.value;var tt,nt=E.expr.attrHandle;E.fn.extend({attr:function(e,t){return $(this,E.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){E.removeAttr(this,e)})}}),E.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?E.prop(e,t,n):(1===o&&E.isXMLDoc(e)||(i=E.attrHooks[t.toLowerCase()]||(E.expr.match.bool.test(t)?tt:void 0)),void 0!==n?null===n?void E.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=E.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!m.radioValue&&"radio"===t&&S(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(H);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),tt={set:function(e,t,n){return!1===t?E.removeAttr(e,n):e.setAttribute(n,n),n}},E.each(E.expr.match.bool.source.match(/\w+/g),function(e,t){var a=nt[t]||E.find.attr;nt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=nt[o],nt[o]=r,r=null!=a(e,t,n)?o:null,nt[o]=i),r}});var rt=/^(?:input|select|textarea|button)$/i,it=/^(?:a|area)$/i;function ot(e){return(e.match(H)||[]).join(" ")}function at(e){return e.getAttribute&&e.getAttribute("class")||""}function st(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(H)||[]}E.fn.extend({prop:function(e,t){return $(this,E.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[E.propFix[e]||e]})}}),E.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&E.isXMLDoc(e)||(t=E.propFix[t]||t,i=E.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=E.find.attr(e,"tabindex");return t?parseInt(t,10):rt.test(e.nodeName)||it.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),m.optSelected||(E.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),E.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){E.propFix[this.toLowerCase()]=this}),E.fn.extend({addClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).addClass(t.call(this,e,at(this)))});if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},removeClass:function(t){var e,n,r,i,o,a,s,u=0;if(b(t))return this.each(function(e){E(this).removeClass(t.call(this,e,at(this)))});if(!arguments.length)return this.attr("class","");if((e=st(t)).length)while(n=this[u++])if(i=at(n),r=1===n.nodeType&&" "+ot(i)+" "){a=0;while(o=e[a++])while(-1<r.indexOf(" "+o+" "))r=r.replace(" "+o+" "," ");i!==(s=ot(r))&&n.setAttribute("class",s)}return this},toggleClass:function(i,t){var o=typeof i,a="string"===o||Array.isArray(i);return"boolean"==typeof t&&a?t?this.addClass(i):this.removeClass(i):b(i)?this.each(function(e){E(this).toggleClass(i.call(this,e,at(this),t),t)}):this.each(function(){var e,t,n,r;if(a){t=0,n=E(this),r=st(i);while(e=r[t++])n.hasClass(e)?n.removeClass(e):n.addClass(e)}else void 0!==i&&"boolean"!==o||((e=at(this))&&Y.set(this,"__className__",e),this.setAttribute&&this.setAttribute("class",e||!1===i?"":Y.get(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+ot(at(n))+" ").indexOf(t))return!0;return!1}});var ut=/\r/g;E.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=b(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,E(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=E.map(t,function(e){return null==e?"":e+""})),(r=E.valHooks[this.type]||E.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=E.valHooks[t.type]||E.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(ut,""):null==e?"":e:void 0}}),E.extend({valHooks:{option:{get:function(e){var t=E.find.attr(e,"value");return null!=t?t:ot(E.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!S(n.parentNode,"optgroup"))){if(t=E(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=E.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<E.inArray(E.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),E.each(["radio","checkbox"],function(){E.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<E.inArray(E(e).val(),t)}},m.checkOn||(E.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})}),m.focusin="onfocusin"in g;var lt=/^(?:focusinfocus|focusoutblur)$/,ct=function(e){e.stopPropagation()};E.extend(E.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,d=[n||w],p=y.call(e,"type")?e.type:e,h=y.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||w,3!==n.nodeType&&8!==n.nodeType&&!lt.test(p+E.event.triggered)&&(-1<p.indexOf(".")&&(p=(h=p.split(".")).shift(),h.sort()),u=p.indexOf(":")<0&&"on"+p,(e=e[E.expando]?e:new E.Event(p,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:E.makeArray(t,[e]),c=E.event.special[p]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!x(n)){for(s=c.delegateType||p,lt.test(s+p)||(o=o.parentNode);o;o=o.parentNode)d.push(o),a=o;a===(n.ownerDocument||w)&&d.push(a.defaultView||a.parentWindow||g)}i=0;while((o=d[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||p,(l=(Y.get(o,"events")||Object.create(null))[e.type]&&Y.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&X(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=p,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(d.pop(),t)||!X(n)||u&&b(n[p])&&!x(n)&&((a=n[u])&&(n[u]=null),E.event.triggered=p,e.isPropagationStopped()&&f.addEventListener(p,ct),n[p](),e.isPropagationStopped()&&f.removeEventListener(p,ct),E.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=E.extend(new E.Event,n,{type:e,isSimulated:!0});E.event.trigger(r,null,t)}}),E.fn.extend({trigger:function(e,t){return this.each(function(){E.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return E.event.trigger(e,t,n,!0)}}),m.focusin||E.each({focus:"focusin",blur:"focusout"},function(n,r){var i=function(e){E.event.simulate(r,e.target,E.event.fix(e))};E.event.special[r]={setup:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r);t||e.addEventListener(n,i,!0),Y.access(e,r,(t||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=Y.access(e,r)-1;t?Y.access(e,r,t):(e.removeEventListener(n,i,!0),Y.remove(e,r))}}}),E.parseXML=function(e){var t;if(!e||"string"!=typeof e)return null;try{t=(new g.DOMParser).parseFromString(e,"text/xml")}catch(e){t=void 0}return t&&!t.getElementsByTagName("parsererror").length||E.error("Invalid XML: "+e),t};var ft,dt=/\[\]$/,pt=/\r?\n/g,ht=/^(?:submit|button|image|reset|file)$/i,gt=/^(?:input|select|textarea|keygen)/i;function vt(n,e,r,i){var t;if(Array.isArray(e))E.each(e,function(e,t){r||dt.test(n)?i(n,t):vt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==T(e))i(n,e);else for(t in e)vt(n+"["+t+"]",e[t],r,i)}E.param=function(e,t){var n,r=[],i=function(e,t){var n=b(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!E.isPlainObject(e))E.each(e,function(){i(this.name,this.value)});else for(n in e)vt(n,e[n],t,i);return r.join("&")},E.fn.extend({serialize:function(){return E.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=E.prop(this,"elements");return e?E.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!E(this).is(":disabled")&>.test(this.nodeName)&&!ht.test(e)&&(this.checked||!fe.test(e))}).map(function(e,t){var n=E(this).val();return null==n?null:Array.isArray(n)?E.map(n,function(e){return{name:t.name,value:e.replace(pt,"\r\n")}}):{name:t.name,value:n.replace(pt,"\r\n")}}).get()}}),E.fn.extend({wrapAll:function(e){var t;return this[0]&&(b(e)&&(e=e.call(this[0])),t=E(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return b(n)?this.each(function(e){E(this).wrapInner(n.call(this,e))}):this.each(function(){var e=E(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=b(t);return this.each(function(e){E(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){E(this).replaceWith(this.childNodes)}),this}}),E.expr.pseudos.hidden=function(e){return!E.expr.pseudos.visible(e)},E.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},m.createHTMLDocument=((ft=w.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===ft.childNodes.length),E.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(m.createHTMLDocument?((r=(t=w.implementation.createHTMLDocument("")).createElement("base")).href=w.location.href,t.head.appendChild(r)):t=w),o=!n&&[],(i=k.exec(e))?[t.createElement(i[1])]:(i=me([e],t,o),o&&o.length&&E(o).remove(),E.merge([],i.childNodes)));var r,i,o},E.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=E.css(e,"position"),c=E(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=E.css(e,"top"),u=E.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),b(t)&&(t=t.call(e,n,E.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},E.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){E.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===E.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===E.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=E(e).offset()).top+=E.css(e,"borderTopWidth",!0),i.left+=E.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-E.css(r,"marginTop",!0),left:t.left-i.left-E.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===E.css(e,"position"))e=e.offsetParent;return e||re})}}),E.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;E.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),E.each(["top","left"],function(e,n){E.cssHooks[n]=Fe(m.pixelPosition,function(e,t){if(t)return t=We(e,n),Ie.test(t)?E(e).position()[n]+"px":t})}),E.each({Height:"height",Width:"width"},function(a,s){E.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){E.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?E.css(e,t,i):E.style(e,t,n,i)},s,n?e:void 0,n)}})}),E.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),E.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){E.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var yt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;E.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),b(e))return r=s.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(s.call(arguments)))}).guid=e.guid=e.guid||E.guid++,i},E.holdReady=function(e){e?E.readyWait++:E.ready(!0)},E.isArray=Array.isArray,E.parseJSON=JSON.parse,E.nodeName=S,E.isFunction=b,E.isWindow=x,E.camelCase=V,E.type=T,E.now=Date.now,E.isNumeric=function(e){var t=E.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},E.trim=function(e){return null==e?"":(e+"").replace(yt,"")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return E});var mt=g.jQuery,bt=g.$;return E.noConflict=function(e){return g.$===E&&(g.$=bt),e&&g.jQuery===E&&(g.jQuery=mt),E},"undefined"==typeof e&&(g.jQuery=g.$=E),E});
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"sources":["jquery.slim.js"],"names":["global","factory","module","exports","document","w","Error","window","this","noGlobal","arr","getProto","Object","getPrototypeOf","slice","flat","array","call","concat","apply","push","indexOf","class2type","toString","hasOwn","hasOwnProperty","fnToString","ObjectFunctionString","support","isFunction","obj","nodeType","isWindow","preservedScriptAttributes","type","src","nonce","noModule","DOMEval","code","node","doc","i","val","script","createElement","text","getAttribute","setAttribute","head","appendChild","parentNode","removeChild","toType","version","jQuery","selector","context","fn","init","isArrayLike","length","prototype","jquery","constructor","toArray","get","num","pushStack","elems","ret","merge","prevObject","each","callback","map","elem","arguments","first","eq","last","even","grep","_elem","odd","len","j","end","sort","splice","extend","options","name","copy","copyIsArray","clone","target","deep","isPlainObject","Array","isArray","undefined","expando","Math","random","replace","isReady","error","msg","noop","proto","Ctor","isEmptyObject","globalEval","makeArray","results","inArray","second","invert","matches","callbackExpect","arg","value","guid","Symbol","iterator","split","_i","toLowerCase","Sizzle","Expr","getText","isXML","tokenize","compile","select","outermostContext","sortInput","hasDuplicate","setDocument","docElem","documentIsHTML","rbuggyQSA","rbuggyMatches","contains","Date","preferredDoc","dirruns","done","classCache","createCache","tokenCache","compilerCache","nonnativeSelectorCache","sortOrder","a","b","pop","pushNative","list","booleans","whitespace","identifier","attributes","pseudos","rwhitespace","RegExp","rtrim","rcomma","rcombinators","rdescend","rpseudo","ridentifier","matchExpr","ID","CLASS","TAG","ATTR","PSEUDO","CHILD","bool","needsContext","rhtml","rinputs","rheader","rnative","rquickExpr","rsibling","runescape","funescape","escape","nonHex","high","String","fromCharCode","rcssescape","fcssescape","ch","asCodePoint","charCodeAt","unloadHandler","inDisabledFieldset","addCombinator","disabled","nodeName","dir","next","childNodes","e","els","seed","m","nid","match","groups","newSelector","newContext","ownerDocument","exec","getElementById","id","getElementsByTagName","getElementsByClassName","qsa","test","testContext","scope","toSelector","join","querySelectorAll","qsaError","removeAttribute","keys","cache","key","cacheLength","shift","markFunction","assert","el","addHandle","attrs","handler","attrHandle","siblingCheck","cur","diff","sourceIndex","nextSibling","createInputPseudo","createButtonPseudo","createDisabledPseudo","isDisabled","createPositionalPseudo","argument","matchIndexes","namespace","namespaceURI","documentElement","hasCompare","subWindow","defaultView","top","addEventListener","attachEvent","className","createComment","getById","getElementsByName","filter","attrId","find","getAttributeNode","tag","tmp","input","innerHTML","matchesSelector","webkitMatchesSelector","mozMatchesSelector","oMatchesSelector","msMatchesSelector","disconnectedMatch","compareDocumentPosition","adown","bup","compare","sortDetached","aup","ap","bp","unshift","expr","elements","attr","specified","sel","uniqueSort","duplicates","detectDuplicates","sortStable","textContent","firstChild","nodeValue","selectors","createPseudo","relative",">"," ","+","~","preFilter","excess","unquoted","nodeNameSelector","pattern","operator","check","result","what","_argument","simple","forward","ofType","_context","xml","uniqueCache","outerCache","nodeIndex","start","parent","useCache","lastChild","uniqueID","pseudo","args","setFilters","idx","matched","not","matcher","unmatched","has","lang","elemLang","hash","location","root","focus","activeElement","hasFocus","href","tabIndex","enabled","checked","selected","selectedIndex","empty","header","button","_matchIndexes","lt","gt","radio","checkbox","file","password","image","submit","reset","tokens","combinator","base","skip","checkNonElements","doneName","oldCache","newCache","elementMatcher","matchers","condense","newUnmatched","mapped","setMatcher","postFilter","postFinder","postSelector","temp","preMap","postMap","preexisting","contexts","multipleContexts","matcherIn","matcherOut","matcherFromTokens","checkContext","leadingRelative","implicitRelative","matchContext","matchAnyContext","filters","parseOnly","soFar","preFilters","cached","elementMatchers","setMatchers","bySet","byElement","superMatcher","outermost","matchedCount","setMatched","contextBackup","dirrunsUnique","token","compiled","_name","defaultValue","unique","isXMLDoc","escapeSelector","until","truncate","is","siblings","n","rneedsContext","rsingleTag","winnow","qualifier","self","rootjQuery","parseHTML","ready","rparentsprev","guaranteedUnique","children","contents","prev","sibling","targets","l","closest","index","prevAll","add","addBack","parents","parentsUntil","nextAll","nextUntil","prevUntil","contentDocument","content","reverse","rnothtmlwhite","Identity","v","Thrower","ex","adoptValue","resolve","reject","noValue","method","promise","fail","then","Callbacks","object","_","flag","firing","memory","fired","locked","queue","firingIndex","fire","once","stopOnFalse","remove","disable","lock","fireWith","Deferred","func","tuples","state","always","deferred","catch","pipe","fns","newDefer","tuple","returned","progress","notify","onFulfilled","onRejected","onProgress","maxDepth","depth","special","that","mightThrow","TypeError","notifyWith","resolveWith","process","exceptionHook","stackTrace","rejectWith","getStackHook","setTimeout","stateString","when","singleValue","remaining","resolveContexts","resolveValues","master","updateFunc","rerrorNames","stack","console","warn","message","readyException","readyList","completed","removeEventListener","readyWait","wait","readyState","doScroll","access","chainable","emptyGet","raw","bulk","_key","rmsPrefix","rdashAlpha","fcamelCase","_all","letter","toUpperCase","camelCase","string","acceptData","owner","Data","uid","create","defineProperty","configurable","set","data","prop","hasData","dataPriv","dataUser","rbrace","rmultiDash","dataAttr","JSON","parse","removeData","_data","_removeData","dequeue","startLength","hooks","_queueHooks","stop","setter","clearQueue","count","defer","pnum","source","rcssNum","cssExpand","isAttached","composed","getRootNode","isHiddenWithinTree","style","display","css","defaultDisplayMap","showHide","show","values","body","hide","toggle","div","rcheckableType","rtagName","rscriptType","createDocumentFragment","checkClone","cloneNode","noCloneChecked","option","wrapMap","thead","col","tr","td","_default","getAll","setGlobalEval","refElements","tbody","tfoot","colgroup","caption","th","optgroup","buildFragment","scripts","selection","ignored","wrap","attached","fragment","nodes","htmlPrefilter","createTextNode","rkeyEvent","rmouseEvent","rtypenamespace","returnTrue","returnFalse","expectSync","err","safeActiveElement","on","types","one","origFn","event","off","leverageNative","notAsync","saved","isTrigger","delegateType","stopPropagation","stopImmediatePropagation","preventDefault","trigger","Event","handleObjIn","eventHandle","events","t","handleObj","handlers","namespaces","origType","elemData","handle","triggered","dispatch","bindType","delegateCount","setup","mappedTypes","origCount","teardown","removeEvent","nativeEvent","handlerQueue","fix","delegateTarget","preDispatch","isPropagationStopped","currentTarget","isImmediatePropagationStopped","rnamespace","postDispatch","matchedHandlers","matchedSelectors","addProp","hook","enumerable","originalEvent","writable","load","noBubble","click","beforeunload","returnValue","props","isDefaultPrevented","defaultPrevented","relatedTarget","timeStamp","now","isSimulated","altKey","bubbles","cancelable","changedTouches","ctrlKey","detail","eventPhase","metaKey","pageX","pageY","shiftKey","view","char","charCode","keyCode","buttons","clientX","clientY","offsetX","offsetY","pointerId","pointerType","screenX","screenY","targetTouches","toElement","touches","which","blur","mouseenter","mouseleave","pointerenter","pointerleave","orig","related","rnoInnerhtml","rchecked","rcleanScript","manipulationTarget","disableScript","restoreScript","cloneCopyEvent","dest","udataOld","udataCur","domManip","collection","hasScripts","iNoClone","valueIsFunction","html","_evalUrl","keepData","cleanData","dataAndEvents","deepDataAndEvents","srcElements","destElements","inPage","detach","append","prepend","insertBefore","before","after","replaceWith","replaceChild","appendTo","prependTo","insertAfter","replaceAll","original","insert","rnumnonpx","getStyles","opener","getComputedStyle","swap","old","rboxStyle","curCSS","computed","width","minWidth","maxWidth","getPropertyValue","pixelBoxStyles","addGetHookIf","conditionFn","hookFn","computeStyleTests","container","cssText","divStyle","pixelPositionVal","reliableMarginLeftVal","roundPixelMeasures","marginLeft","right","pixelBoxStylesVal","boxSizingReliableVal","position","scrollboxSizeVal","offsetWidth","measure","round","parseFloat","reliableTrDimensionsVal","backgroundClip","clearCloneStyle","boxSizingReliable","pixelPosition","reliableMarginLeft","scrollboxSize","reliableTrDimensions","table","trChild","trStyle","height","parseInt","cssPrefixes","emptyStyle","vendorProps","finalPropName","final","cssProps","capName","vendorPropName","opt","rdisplayswap","rcustomProp","cssShow","visibility","cssNormalTransform","letterSpacing","fontWeight","setPositiveNumber","subtract","max","boxModelAdjustment","dimension","box","isBorderBox","styles","computedVal","extra","delta","ceil","getWidthOrHeight","valueIsBorderBox","offsetProp","getClientRects","cssHooks","opacity","cssNumber","animationIterationCount","columnCount","fillOpacity","flexGrow","flexShrink","gridArea","gridColumn","gridColumnEnd","gridColumnStart","gridRow","gridRowEnd","gridRowStart","lineHeight","order","orphans","widows","zIndex","zoom","origName","isCustomProp","valueParts","tween","adjusted","scale","maxIterations","currentValue","initial","unit","initialInUnit","adjustCSS","setProperty","isFinite","getBoundingClientRect","scrollboxSizeBuggy","left","margin","padding","border","prefix","suffix","expand","expanded","parts","delay","time","fx","speeds","timeout","clearTimeout","checkOn","optSelected","radioValue","boolHook","removeAttr","nType","attrHooks","attrNames","getter","lowercaseName","rfocusable","rclickable","stripAndCollapse","getClass","classesToArray","removeProp","propFix","propHooks","tabindex","for","class","addClass","classes","curValue","clazz","finalValue","removeClass","toggleClass","stateVal","isValidValue","classNames","hasClass","rreturn","valHooks","optionSet","focusin","rfocusMorph","stopPropagationCallback","onlyHandlers","bubbleType","ontype","lastElement","eventPath","parentWindow","simulate","triggerHandler","attaches","parseXML","DOMParser","parseFromString","rbracket","rCRLF","rsubmitterTypes","rsubmittable","buildParams","traditional","param","s","valueOrFunction","encodeURIComponent","serialize","serializeArray","wrapAll","firstElementChild","wrapInner","htmlIsFunction","unwrap","hidden","visible","offsetHeight","createHTMLDocument","implementation","keepScripts","parsed","offset","setOffset","curPosition","curLeft","curCSSTop","curTop","curOffset","curCSSLeft","curElem","using","rect","win","pageYOffset","pageXOffset","offsetParent","parentOffset","scrollLeft","scrollTop","scrollTo","Height","Width","","defaultExtra","funcName","bind","unbind","delegate","undelegate","hover","fnOver","fnOut","proxy","holdReady","hold","parseJSON","isNumeric","isNaN","trim","define","amd","_jQuery","_$","$","noConflict"],"mappings":"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","file":"jquery.slim.min.js"}
|
@@ -0,0 +1,36 @@
|
|
1
|
+
Copyright JS Foundation and other contributors, https://js.foundation/
|
2
|
+
|
3
|
+
This software consists of voluntary contributions made by many
|
4
|
+
individuals. For exact contribution history, see the revision history
|
5
|
+
available at https://github.com/jquery/sizzle
|
6
|
+
|
7
|
+
The following license applies to all parts of this software except as
|
8
|
+
documented below:
|
9
|
+
|
10
|
+
====
|
11
|
+
|
12
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
13
|
+
a copy of this software and associated documentation files (the
|
14
|
+
"Software"), to deal in the Software without restriction, including
|
15
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
16
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
17
|
+
permit persons to whom the Software is furnished to do so, subject to
|
18
|
+
the following conditions:
|
19
|
+
|
20
|
+
The above copyright notice and this permission notice shall be
|
21
|
+
included in all copies or substantial portions of the Software.
|
22
|
+
|
23
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
24
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
25
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
26
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
27
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
28
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
29
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
30
|
+
|
31
|
+
====
|
32
|
+
|
33
|
+
All files located in the node_modules and external directories are
|
34
|
+
externally maintained libraries used by this software which have their
|
35
|
+
own licenses; we recommend you read them, as their terms may differ from
|
36
|
+
the terms above.
|
@@ -0,0 +1,2478 @@
|
|
1
|
+
/*!
|
2
|
+
* Sizzle CSS Selector Engine v2.3.5
|
3
|
+
* https://sizzlejs.com/
|
4
|
+
*
|
5
|
+
* Copyright JS Foundation and other contributors
|
6
|
+
* Released under the MIT license
|
7
|
+
* https://js.foundation/
|
8
|
+
*
|
9
|
+
* Date: 2020-03-14
|
10
|
+
*/
|
11
|
+
( function( window ) {
|
12
|
+
var i,
|
13
|
+
support,
|
14
|
+
Expr,
|
15
|
+
getText,
|
16
|
+
isXML,
|
17
|
+
tokenize,
|
18
|
+
compile,
|
19
|
+
select,
|
20
|
+
outermostContext,
|
21
|
+
sortInput,
|
22
|
+
hasDuplicate,
|
23
|
+
|
24
|
+
// Local document vars
|
25
|
+
setDocument,
|
26
|
+
document,
|
27
|
+
docElem,
|
28
|
+
documentIsHTML,
|
29
|
+
rbuggyQSA,
|
30
|
+
rbuggyMatches,
|
31
|
+
matches,
|
32
|
+
contains,
|
33
|
+
|
34
|
+
// Instance-specific data
|
35
|
+
expando = "sizzle" + 1 * new Date(),
|
36
|
+
preferredDoc = window.document,
|
37
|
+
dirruns = 0,
|
38
|
+
done = 0,
|
39
|
+
classCache = createCache(),
|
40
|
+
tokenCache = createCache(),
|
41
|
+
compilerCache = createCache(),
|
42
|
+
nonnativeSelectorCache = createCache(),
|
43
|
+
sortOrder = function( a, b ) {
|
44
|
+
if ( a === b ) {
|
45
|
+
hasDuplicate = true;
|
46
|
+
}
|
47
|
+
return 0;
|
48
|
+
},
|
49
|
+
|
50
|
+
// Instance methods
|
51
|
+
hasOwn = ( {} ).hasOwnProperty,
|
52
|
+
arr = [],
|
53
|
+
pop = arr.pop,
|
54
|
+
pushNative = arr.push,
|
55
|
+
push = arr.push,
|
56
|
+
slice = arr.slice,
|
57
|
+
|
58
|
+
// Use a stripped-down indexOf as it's faster than native
|
59
|
+
// https://jsperf.com/thor-indexof-vs-for/5
|
60
|
+
indexOf = function( list, elem ) {
|
61
|
+
var i = 0,
|
62
|
+
len = list.length;
|
63
|
+
for ( ; i < len; i++ ) {
|
64
|
+
if ( list[ i ] === elem ) {
|
65
|
+
return i;
|
66
|
+
}
|
67
|
+
}
|
68
|
+
return -1;
|
69
|
+
},
|
70
|
+
|
71
|
+
booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|" +
|
72
|
+
"ismap|loop|multiple|open|readonly|required|scoped",
|
73
|
+
|
74
|
+
// Regular expressions
|
75
|
+
|
76
|
+
// http://www.w3.org/TR/css3-selectors/#whitespace
|
77
|
+
whitespace = "[\\x20\\t\\r\\n\\f]",
|
78
|
+
|
79
|
+
// https://www.w3.org/TR/css-syntax-3/#ident-token-diagram
|
80
|
+
identifier = "(?:\\\\[\\da-fA-F]{1,6}" + whitespace +
|
81
|
+
"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",
|
82
|
+
|
83
|
+
// Attribute selectors: http://www.w3.org/TR/selectors/#attribute-selectors
|
84
|
+
attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace +
|
85
|
+
|
86
|
+
// Operator (capture 2)
|
87
|
+
"*([*^$|!~]?=)" + whitespace +
|
88
|
+
|
89
|
+
// "Attribute values must be CSS identifiers [capture 5]
|
90
|
+
// or strings [capture 3 or capture 4]"
|
91
|
+
"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" +
|
92
|
+
whitespace + "*\\]",
|
93
|
+
|
94
|
+
pseudos = ":(" + identifier + ")(?:\\((" +
|
95
|
+
|
96
|
+
// To reduce the number of selectors needing tokenize in the preFilter, prefer arguments:
|
97
|
+
// 1. quoted (capture 3; capture 4 or capture 5)
|
98
|
+
"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|" +
|
99
|
+
|
100
|
+
// 2. simple (capture 6)
|
101
|
+
"((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|" +
|
102
|
+
|
103
|
+
// 3. anything else (capture 2)
|
104
|
+
".*" +
|
105
|
+
")\\)|)",
|
106
|
+
|
107
|
+
// Leading and non-escaped trailing whitespace, capturing some non-whitespace characters preceding the latter
|
108
|
+
rwhitespace = new RegExp( whitespace + "+", "g" ),
|
109
|
+
rtrim = new RegExp( "^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" +
|
110
|
+
whitespace + "+$", "g" ),
|
111
|
+
|
112
|
+
rcomma = new RegExp( "^" + whitespace + "*," + whitespace + "*" ),
|
113
|
+
rcombinators = new RegExp( "^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace +
|
114
|
+
"*" ),
|
115
|
+
rdescend = new RegExp( whitespace + "|>" ),
|
116
|
+
|
117
|
+
rpseudo = new RegExp( pseudos ),
|
118
|
+
ridentifier = new RegExp( "^" + identifier + "$" ),
|
119
|
+
|
120
|
+
matchExpr = {
|
121
|
+
"ID": new RegExp( "^#(" + identifier + ")" ),
|
122
|
+
"CLASS": new RegExp( "^\\.(" + identifier + ")" ),
|
123
|
+
"TAG": new RegExp( "^(" + identifier + "|[*])" ),
|
124
|
+
"ATTR": new RegExp( "^" + attributes ),
|
125
|
+
"PSEUDO": new RegExp( "^" + pseudos ),
|
126
|
+
"CHILD": new RegExp( "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" +
|
127
|
+
whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" +
|
128
|
+
whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i" ),
|
129
|
+
"bool": new RegExp( "^(?:" + booleans + ")$", "i" ),
|
130
|
+
|
131
|
+
// For use in libraries implementing .is()
|
132
|
+
// We use this for POS matching in `select`
|
133
|
+
"needsContext": new RegExp( "^" + whitespace +
|
134
|
+
"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace +
|
135
|
+
"*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i" )
|
136
|
+
},
|
137
|
+
|
138
|
+
rhtml = /HTML$/i,
|
139
|
+
rinputs = /^(?:input|select|textarea|button)$/i,
|
140
|
+
rheader = /^h\d$/i,
|
141
|
+
|
142
|
+
rnative = /^[^{]+\{\s*\[native \w/,
|
143
|
+
|
144
|
+
// Easily-parseable/retrievable ID or TAG or CLASS selectors
|
145
|
+
rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
|
146
|
+
|
147
|
+
rsibling = /[+~]/,
|
148
|
+
|
149
|
+
// CSS escapes
|
150
|
+
// http://www.w3.org/TR/CSS21/syndata.html#escaped-characters
|
151
|
+
runescape = new RegExp( "\\\\[\\da-fA-F]{1,6}" + whitespace + "?|\\\\([^\\r\\n\\f])", "g" ),
|
152
|
+
funescape = function( escape, nonHex ) {
|
153
|
+
var high = "0x" + escape.slice( 1 ) - 0x10000;
|
154
|
+
|
155
|
+
return nonHex ?
|
156
|
+
|
157
|
+
// Strip the backslash prefix from a non-hex escape sequence
|
158
|
+
nonHex :
|
159
|
+
|
160
|
+
// Replace a hexadecimal escape sequence with the encoded Unicode code point
|
161
|
+
// Support: IE <=11+
|
162
|
+
// For values outside the Basic Multilingual Plane (BMP), manually construct a
|
163
|
+
// surrogate pair
|
164
|
+
high < 0 ?
|
165
|
+
String.fromCharCode( high + 0x10000 ) :
|
166
|
+
String.fromCharCode( high >> 10 | 0xD800, high & 0x3FF | 0xDC00 );
|
167
|
+
},
|
168
|
+
|
169
|
+
// CSS string/identifier serialization
|
170
|
+
// https://drafts.csswg.org/cssom/#common-serializing-idioms
|
171
|
+
rcssescape = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,
|
172
|
+
fcssescape = function( ch, asCodePoint ) {
|
173
|
+
if ( asCodePoint ) {
|
174
|
+
|
175
|
+
// U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER
|
176
|
+
if ( ch === "\0" ) {
|
177
|
+
return "\uFFFD";
|
178
|
+
}
|
179
|
+
|
180
|
+
// Control characters and (dependent upon position) numbers get escaped as code points
|
181
|
+
return ch.slice( 0, -1 ) + "\\" +
|
182
|
+
ch.charCodeAt( ch.length - 1 ).toString( 16 ) + " ";
|
183
|
+
}
|
184
|
+
|
185
|
+
// Other potentially-special ASCII characters get backslash-escaped
|
186
|
+
return "\\" + ch;
|
187
|
+
},
|
188
|
+
|
189
|
+
// Used for iframes
|
190
|
+
// See setDocument()
|
191
|
+
// Removing the function wrapper causes a "Permission Denied"
|
192
|
+
// error in IE
|
193
|
+
unloadHandler = function() {
|
194
|
+
setDocument();
|
195
|
+
},
|
196
|
+
|
197
|
+
inDisabledFieldset = addCombinator(
|
198
|
+
function( elem ) {
|
199
|
+
return elem.disabled === true && elem.nodeName.toLowerCase() === "fieldset";
|
200
|
+
},
|
201
|
+
{ dir: "parentNode", next: "legend" }
|
202
|
+
);
|
203
|
+
|
204
|
+
// Optimize for push.apply( _, NodeList )
|
205
|
+
try {
|
206
|
+
push.apply(
|
207
|
+
( arr = slice.call( preferredDoc.childNodes ) ),
|
208
|
+
preferredDoc.childNodes
|
209
|
+
);
|
210
|
+
|
211
|
+
// Support: Android<4.0
|
212
|
+
// Detect silently failing push.apply
|
213
|
+
// eslint-disable-next-line no-unused-expressions
|
214
|
+
arr[ preferredDoc.childNodes.length ].nodeType;
|
215
|
+
} catch ( e ) {
|
216
|
+
push = { apply: arr.length ?
|
217
|
+
|
218
|
+
// Leverage slice if possible
|
219
|
+
function( target, els ) {
|
220
|
+
pushNative.apply( target, slice.call( els ) );
|
221
|
+
} :
|
222
|
+
|
223
|
+
// Support: IE<9
|
224
|
+
// Otherwise append directly
|
225
|
+
function( target, els ) {
|
226
|
+
var j = target.length,
|
227
|
+
i = 0;
|
228
|
+
|
229
|
+
// Can't trust NodeList.length
|
230
|
+
while ( ( target[ j++ ] = els[ i++ ] ) ) {}
|
231
|
+
target.length = j - 1;
|
232
|
+
}
|
233
|
+
};
|
234
|
+
}
|
235
|
+
|
236
|
+
function Sizzle( selector, context, results, seed ) {
|
237
|
+
var m, i, elem, nid, match, groups, newSelector,
|
238
|
+
newContext = context && context.ownerDocument,
|
239
|
+
|
240
|
+
// nodeType defaults to 9, since context defaults to document
|
241
|
+
nodeType = context ? context.nodeType : 9;
|
242
|
+
|
243
|
+
results = results || [];
|
244
|
+
|
245
|
+
// Return early from calls with invalid selector or context
|
246
|
+
if ( typeof selector !== "string" || !selector ||
|
247
|
+
nodeType !== 1 && nodeType !== 9 && nodeType !== 11 ) {
|
248
|
+
|
249
|
+
return results;
|
250
|
+
}
|
251
|
+
|
252
|
+
// Try to shortcut find operations (as opposed to filters) in HTML documents
|
253
|
+
if ( !seed ) {
|
254
|
+
setDocument( context );
|
255
|
+
context = context || document;
|
256
|
+
|
257
|
+
if ( documentIsHTML ) {
|
258
|
+
|
259
|
+
// If the selector is sufficiently simple, try using a "get*By*" DOM method
|
260
|
+
// (excepting DocumentFragment context, where the methods don't exist)
|
261
|
+
if ( nodeType !== 11 && ( match = rquickExpr.exec( selector ) ) ) {
|
262
|
+
|
263
|
+
// ID selector
|
264
|
+
if ( ( m = match[ 1 ] ) ) {
|
265
|
+
|
266
|
+
// Document context
|
267
|
+
if ( nodeType === 9 ) {
|
268
|
+
if ( ( elem = context.getElementById( m ) ) ) {
|
269
|
+
|
270
|
+
// Support: IE, Opera, Webkit
|
271
|
+
// TODO: identify versions
|
272
|
+
// getElementById can match elements by name instead of ID
|
273
|
+
if ( elem.id === m ) {
|
274
|
+
results.push( elem );
|
275
|
+
return results;
|
276
|
+
}
|
277
|
+
} else {
|
278
|
+
return results;
|
279
|
+
}
|
280
|
+
|
281
|
+
// Element context
|
282
|
+
} else {
|
283
|
+
|
284
|
+
// Support: IE, Opera, Webkit
|
285
|
+
// TODO: identify versions
|
286
|
+
// getElementById can match elements by name instead of ID
|
287
|
+
if ( newContext && ( elem = newContext.getElementById( m ) ) &&
|
288
|
+
contains( context, elem ) &&
|
289
|
+
elem.id === m ) {
|
290
|
+
|
291
|
+
results.push( elem );
|
292
|
+
return results;
|
293
|
+
}
|
294
|
+
}
|
295
|
+
|
296
|
+
// Type selector
|
297
|
+
} else if ( match[ 2 ] ) {
|
298
|
+
push.apply( results, context.getElementsByTagName( selector ) );
|
299
|
+
return results;
|
300
|
+
|
301
|
+
// Class selector
|
302
|
+
} else if ( ( m = match[ 3 ] ) && support.getElementsByClassName &&
|
303
|
+
context.getElementsByClassName ) {
|
304
|
+
|
305
|
+
push.apply( results, context.getElementsByClassName( m ) );
|
306
|
+
return results;
|
307
|
+
}
|
308
|
+
}
|
309
|
+
|
310
|
+
// Take advantage of querySelectorAll
|
311
|
+
if ( support.qsa &&
|
312
|
+
!nonnativeSelectorCache[ selector + " " ] &&
|
313
|
+
( !rbuggyQSA || !rbuggyQSA.test( selector ) ) &&
|
314
|
+
|
315
|
+
// Support: IE 8 only
|
316
|
+
// Exclude object elements
|
317
|
+
( nodeType !== 1 || context.nodeName.toLowerCase() !== "object" ) ) {
|
318
|
+
|
319
|
+
newSelector = selector;
|
320
|
+
newContext = context;
|
321
|
+
|
322
|
+
// qSA considers elements outside a scoping root when evaluating child or
|
323
|
+
// descendant combinators, which is not what we want.
|
324
|
+
// In such cases, we work around the behavior by prefixing every selector in the
|
325
|
+
// list with an ID selector referencing the scope context.
|
326
|
+
// The technique has to be used as well when a leading combinator is used
|
327
|
+
// as such selectors are not recognized by querySelectorAll.
|
328
|
+
// Thanks to Andrew Dupont for this technique.
|
329
|
+
if ( nodeType === 1 &&
|
330
|
+
( rdescend.test( selector ) || rcombinators.test( selector ) ) ) {
|
331
|
+
|
332
|
+
// Expand context for sibling selectors
|
333
|
+
newContext = rsibling.test( selector ) && testContext( context.parentNode ) ||
|
334
|
+
context;
|
335
|
+
|
336
|
+
// We can use :scope instead of the ID hack if the browser
|
337
|
+
// supports it & if we're not changing the context.
|
338
|
+
if ( newContext !== context || !support.scope ) {
|
339
|
+
|
340
|
+
// Capture the context ID, setting it first if necessary
|
341
|
+
if ( ( nid = context.getAttribute( "id" ) ) ) {
|
342
|
+
nid = nid.replace( rcssescape, fcssescape );
|
343
|
+
} else {
|
344
|
+
context.setAttribute( "id", ( nid = expando ) );
|
345
|
+
}
|
346
|
+
}
|
347
|
+
|
348
|
+
// Prefix every selector in the list
|
349
|
+
groups = tokenize( selector );
|
350
|
+
i = groups.length;
|
351
|
+
while ( i-- ) {
|
352
|
+
groups[ i ] = ( nid ? "#" + nid : ":scope" ) + " " +
|
353
|
+
toSelector( groups[ i ] );
|
354
|
+
}
|
355
|
+
newSelector = groups.join( "," );
|
356
|
+
}
|
357
|
+
|
358
|
+
try {
|
359
|
+
push.apply( results,
|
360
|
+
newContext.querySelectorAll( newSelector )
|
361
|
+
);
|
362
|
+
return results;
|
363
|
+
} catch ( qsaError ) {
|
364
|
+
nonnativeSelectorCache( selector, true );
|
365
|
+
} finally {
|
366
|
+
if ( nid === expando ) {
|
367
|
+
context.removeAttribute( "id" );
|
368
|
+
}
|
369
|
+
}
|
370
|
+
}
|
371
|
+
}
|
372
|
+
}
|
373
|
+
|
374
|
+
// All others
|
375
|
+
return select( selector.replace( rtrim, "$1" ), context, results, seed );
|
376
|
+
}
|
377
|
+
|
378
|
+
/**
|
379
|
+
* Create key-value caches of limited size
|
380
|
+
* @returns {function(string, object)} Returns the Object data after storing it on itself with
|
381
|
+
* property name the (space-suffixed) string and (if the cache is larger than Expr.cacheLength)
|
382
|
+
* deleting the oldest entry
|
383
|
+
*/
|
384
|
+
function createCache() {
|
385
|
+
var keys = [];
|
386
|
+
|
387
|
+
function cache( key, value ) {
|
388
|
+
|
389
|
+
// Use (key + " ") to avoid collision with native prototype properties (see Issue #157)
|
390
|
+
if ( keys.push( key + " " ) > Expr.cacheLength ) {
|
391
|
+
|
392
|
+
// Only keep the most recent entries
|
393
|
+
delete cache[ keys.shift() ];
|
394
|
+
}
|
395
|
+
return ( cache[ key + " " ] = value );
|
396
|
+
}
|
397
|
+
return cache;
|
398
|
+
}
|
399
|
+
|
400
|
+
/**
|
401
|
+
* Mark a function for special use by Sizzle
|
402
|
+
* @param {Function} fn The function to mark
|
403
|
+
*/
|
404
|
+
function markFunction( fn ) {
|
405
|
+
fn[ expando ] = true;
|
406
|
+
return fn;
|
407
|
+
}
|
408
|
+
|
409
|
+
/**
|
410
|
+
* Support testing using an element
|
411
|
+
* @param {Function} fn Passed the created element and returns a boolean result
|
412
|
+
*/
|
413
|
+
function assert( fn ) {
|
414
|
+
var el = document.createElement( "fieldset" );
|
415
|
+
|
416
|
+
try {
|
417
|
+
return !!fn( el );
|
418
|
+
} catch ( e ) {
|
419
|
+
return false;
|
420
|
+
} finally {
|
421
|
+
|
422
|
+
// Remove from its parent by default
|
423
|
+
if ( el.parentNode ) {
|
424
|
+
el.parentNode.removeChild( el );
|
425
|
+
}
|
426
|
+
|
427
|
+
// release memory in IE
|
428
|
+
el = null;
|
429
|
+
}
|
430
|
+
}
|
431
|
+
|
432
|
+
/**
|
433
|
+
* Adds the same handler for all of the specified attrs
|
434
|
+
* @param {String} attrs Pipe-separated list of attributes
|
435
|
+
* @param {Function} handler The method that will be applied
|
436
|
+
*/
|
437
|
+
function addHandle( attrs, handler ) {
|
438
|
+
var arr = attrs.split( "|" ),
|
439
|
+
i = arr.length;
|
440
|
+
|
441
|
+
while ( i-- ) {
|
442
|
+
Expr.attrHandle[ arr[ i ] ] = handler;
|
443
|
+
}
|
444
|
+
}
|
445
|
+
|
446
|
+
/**
|
447
|
+
* Checks document order of two siblings
|
448
|
+
* @param {Element} a
|
449
|
+
* @param {Element} b
|
450
|
+
* @returns {Number} Returns less than 0 if a precedes b, greater than 0 if a follows b
|
451
|
+
*/
|
452
|
+
function siblingCheck( a, b ) {
|
453
|
+
var cur = b && a,
|
454
|
+
diff = cur && a.nodeType === 1 && b.nodeType === 1 &&
|
455
|
+
a.sourceIndex - b.sourceIndex;
|
456
|
+
|
457
|
+
// Use IE sourceIndex if available on both nodes
|
458
|
+
if ( diff ) {
|
459
|
+
return diff;
|
460
|
+
}
|
461
|
+
|
462
|
+
// Check if b follows a
|
463
|
+
if ( cur ) {
|
464
|
+
while ( ( cur = cur.nextSibling ) ) {
|
465
|
+
if ( cur === b ) {
|
466
|
+
return -1;
|
467
|
+
}
|
468
|
+
}
|
469
|
+
}
|
470
|
+
|
471
|
+
return a ? 1 : -1;
|
472
|
+
}
|
473
|
+
|
474
|
+
/**
|
475
|
+
* Returns a function to use in pseudos for input types
|
476
|
+
* @param {String} type
|
477
|
+
*/
|
478
|
+
function createInputPseudo( type ) {
|
479
|
+
return function( elem ) {
|
480
|
+
var name = elem.nodeName.toLowerCase();
|
481
|
+
return name === "input" && elem.type === type;
|
482
|
+
};
|
483
|
+
}
|
484
|
+
|
485
|
+
/**
|
486
|
+
* Returns a function to use in pseudos for buttons
|
487
|
+
* @param {String} type
|
488
|
+
*/
|
489
|
+
function createButtonPseudo( type ) {
|
490
|
+
return function( elem ) {
|
491
|
+
var name = elem.nodeName.toLowerCase();
|
492
|
+
return ( name === "input" || name === "button" ) && elem.type === type;
|
493
|
+
};
|
494
|
+
}
|
495
|
+
|
496
|
+
/**
|
497
|
+
* Returns a function to use in pseudos for :enabled/:disabled
|
498
|
+
* @param {Boolean} disabled true for :disabled; false for :enabled
|
499
|
+
*/
|
500
|
+
function createDisabledPseudo( disabled ) {
|
501
|
+
|
502
|
+
// Known :disabled false positives: fieldset[disabled] > legend:nth-of-type(n+2) :can-disable
|
503
|
+
return function( elem ) {
|
504
|
+
|
505
|
+
// Only certain elements can match :enabled or :disabled
|
506
|
+
// https://html.spec.whatwg.org/multipage/scripting.html#selector-enabled
|
507
|
+
// https://html.spec.whatwg.org/multipage/scripting.html#selector-disabled
|
508
|
+
if ( "form" in elem ) {
|
509
|
+
|
510
|
+
// Check for inherited disabledness on relevant non-disabled elements:
|
511
|
+
// * listed form-associated elements in a disabled fieldset
|
512
|
+
// https://html.spec.whatwg.org/multipage/forms.html#category-listed
|
513
|
+
// https://html.spec.whatwg.org/multipage/forms.html#concept-fe-disabled
|
514
|
+
// * option elements in a disabled optgroup
|
515
|
+
// https://html.spec.whatwg.org/multipage/forms.html#concept-option-disabled
|
516
|
+
// All such elements have a "form" property.
|
517
|
+
if ( elem.parentNode && elem.disabled === false ) {
|
518
|
+
|
519
|
+
// Option elements defer to a parent optgroup if present
|
520
|
+
if ( "label" in elem ) {
|
521
|
+
if ( "label" in elem.parentNode ) {
|
522
|
+
return elem.parentNode.disabled === disabled;
|
523
|
+
} else {
|
524
|
+
return elem.disabled === disabled;
|
525
|
+
}
|
526
|
+
}
|
527
|
+
|
528
|
+
// Support: IE 6 - 11
|
529
|
+
// Use the isDisabled shortcut property to check for disabled fieldset ancestors
|
530
|
+
return elem.isDisabled === disabled ||
|
531
|
+
|
532
|
+
// Where there is no isDisabled, check manually
|
533
|
+
/* jshint -W018 */
|
534
|
+
elem.isDisabled !== !disabled &&
|
535
|
+
inDisabledFieldset( elem ) === disabled;
|
536
|
+
}
|
537
|
+
|
538
|
+
return elem.disabled === disabled;
|
539
|
+
|
540
|
+
// Try to winnow out elements that can't be disabled before trusting the disabled property.
|
541
|
+
// Some victims get caught in our net (label, legend, menu, track), but it shouldn't
|
542
|
+
// even exist on them, let alone have a boolean value.
|
543
|
+
} else if ( "label" in elem ) {
|
544
|
+
return elem.disabled === disabled;
|
545
|
+
}
|
546
|
+
|
547
|
+
// Remaining elements are neither :enabled nor :disabled
|
548
|
+
return false;
|
549
|
+
};
|
550
|
+
}
|
551
|
+
|
552
|
+
/**
|
553
|
+
* Returns a function to use in pseudos for positionals
|
554
|
+
* @param {Function} fn
|
555
|
+
*/
|
556
|
+
function createPositionalPseudo( fn ) {
|
557
|
+
return markFunction( function( argument ) {
|
558
|
+
argument = +argument;
|
559
|
+
return markFunction( function( seed, matches ) {
|
560
|
+
var j,
|
561
|
+
matchIndexes = fn( [], seed.length, argument ),
|
562
|
+
i = matchIndexes.length;
|
563
|
+
|
564
|
+
// Match elements found at the specified indexes
|
565
|
+
while ( i-- ) {
|
566
|
+
if ( seed[ ( j = matchIndexes[ i ] ) ] ) {
|
567
|
+
seed[ j ] = !( matches[ j ] = seed[ j ] );
|
568
|
+
}
|
569
|
+
}
|
570
|
+
} );
|
571
|
+
} );
|
572
|
+
}
|
573
|
+
|
574
|
+
/**
|
575
|
+
* Checks a node for validity as a Sizzle context
|
576
|
+
* @param {Element|Object=} context
|
577
|
+
* @returns {Element|Object|Boolean} The input node if acceptable, otherwise a falsy value
|
578
|
+
*/
|
579
|
+
function testContext( context ) {
|
580
|
+
return context && typeof context.getElementsByTagName !== "undefined" && context;
|
581
|
+
}
|
582
|
+
|
583
|
+
// Expose support vars for convenience
|
584
|
+
support = Sizzle.support = {};
|
585
|
+
|
586
|
+
/**
|
587
|
+
* Detects XML nodes
|
588
|
+
* @param {Element|Object} elem An element or a document
|
589
|
+
* @returns {Boolean} True iff elem is a non-HTML XML node
|
590
|
+
*/
|
591
|
+
isXML = Sizzle.isXML = function( elem ) {
|
592
|
+
var namespace = elem.namespaceURI,
|
593
|
+
docElem = ( elem.ownerDocument || elem ).documentElement;
|
594
|
+
|
595
|
+
// Support: IE <=8
|
596
|
+
// Assume HTML when documentElement doesn't yet exist, such as inside loading iframes
|
597
|
+
// https://bugs.jquery.com/ticket/4833
|
598
|
+
return !rhtml.test( namespace || docElem && docElem.nodeName || "HTML" );
|
599
|
+
};
|
600
|
+
|
601
|
+
/**
|
602
|
+
* Sets document-related variables once based on the current document
|
603
|
+
* @param {Element|Object} [doc] An element or document object to use to set the document
|
604
|
+
* @returns {Object} Returns the current document
|
605
|
+
*/
|
606
|
+
setDocument = Sizzle.setDocument = function( node ) {
|
607
|
+
var hasCompare, subWindow,
|
608
|
+
doc = node ? node.ownerDocument || node : preferredDoc;
|
609
|
+
|
610
|
+
// Return early if doc is invalid or already selected
|
611
|
+
// Support: IE 11+, Edge 17 - 18+
|
612
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
613
|
+
// two documents; shallow comparisons work.
|
614
|
+
// eslint-disable-next-line eqeqeq
|
615
|
+
if ( doc == document || doc.nodeType !== 9 || !doc.documentElement ) {
|
616
|
+
return document;
|
617
|
+
}
|
618
|
+
|
619
|
+
// Update global variables
|
620
|
+
document = doc;
|
621
|
+
docElem = document.documentElement;
|
622
|
+
documentIsHTML = !isXML( document );
|
623
|
+
|
624
|
+
// Support: IE 9 - 11+, Edge 12 - 18+
|
625
|
+
// Accessing iframe documents after unload throws "permission denied" errors (jQuery #13936)
|
626
|
+
// Support: IE 11+, Edge 17 - 18+
|
627
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
628
|
+
// two documents; shallow comparisons work.
|
629
|
+
// eslint-disable-next-line eqeqeq
|
630
|
+
if ( preferredDoc != document &&
|
631
|
+
( subWindow = document.defaultView ) && subWindow.top !== subWindow ) {
|
632
|
+
|
633
|
+
// Support: IE 11, Edge
|
634
|
+
if ( subWindow.addEventListener ) {
|
635
|
+
subWindow.addEventListener( "unload", unloadHandler, false );
|
636
|
+
|
637
|
+
// Support: IE 9 - 10 only
|
638
|
+
} else if ( subWindow.attachEvent ) {
|
639
|
+
subWindow.attachEvent( "onunload", unloadHandler );
|
640
|
+
}
|
641
|
+
}
|
642
|
+
|
643
|
+
// Support: IE 8 - 11+, Edge 12 - 18+, Chrome <=16 - 25 only, Firefox <=3.6 - 31 only,
|
644
|
+
// Safari 4 - 5 only, Opera <=11.6 - 12.x only
|
645
|
+
// IE/Edge & older browsers don't support the :scope pseudo-class.
|
646
|
+
// Support: Safari 6.0 only
|
647
|
+
// Safari 6.0 supports :scope but it's an alias of :root there.
|
648
|
+
support.scope = assert( function( el ) {
|
649
|
+
docElem.appendChild( el ).appendChild( document.createElement( "div" ) );
|
650
|
+
return typeof el.querySelectorAll !== "undefined" &&
|
651
|
+
!el.querySelectorAll( ":scope fieldset div" ).length;
|
652
|
+
} );
|
653
|
+
|
654
|
+
/* Attributes
|
655
|
+
---------------------------------------------------------------------- */
|
656
|
+
|
657
|
+
// Support: IE<8
|
658
|
+
// Verify that getAttribute really returns attributes and not properties
|
659
|
+
// (excepting IE8 booleans)
|
660
|
+
support.attributes = assert( function( el ) {
|
661
|
+
el.className = "i";
|
662
|
+
return !el.getAttribute( "className" );
|
663
|
+
} );
|
664
|
+
|
665
|
+
/* getElement(s)By*
|
666
|
+
---------------------------------------------------------------------- */
|
667
|
+
|
668
|
+
// Check if getElementsByTagName("*") returns only elements
|
669
|
+
support.getElementsByTagName = assert( function( el ) {
|
670
|
+
el.appendChild( document.createComment( "" ) );
|
671
|
+
return !el.getElementsByTagName( "*" ).length;
|
672
|
+
} );
|
673
|
+
|
674
|
+
// Support: IE<9
|
675
|
+
support.getElementsByClassName = rnative.test( document.getElementsByClassName );
|
676
|
+
|
677
|
+
// Support: IE<10
|
678
|
+
// Check if getElementById returns elements by name
|
679
|
+
// The broken getElementById methods don't pick up programmatically-set names,
|
680
|
+
// so use a roundabout getElementsByName test
|
681
|
+
support.getById = assert( function( el ) {
|
682
|
+
docElem.appendChild( el ).id = expando;
|
683
|
+
return !document.getElementsByName || !document.getElementsByName( expando ).length;
|
684
|
+
} );
|
685
|
+
|
686
|
+
// ID filter and find
|
687
|
+
if ( support.getById ) {
|
688
|
+
Expr.filter[ "ID" ] = function( id ) {
|
689
|
+
var attrId = id.replace( runescape, funescape );
|
690
|
+
return function( elem ) {
|
691
|
+
return elem.getAttribute( "id" ) === attrId;
|
692
|
+
};
|
693
|
+
};
|
694
|
+
Expr.find[ "ID" ] = function( id, context ) {
|
695
|
+
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
|
696
|
+
var elem = context.getElementById( id );
|
697
|
+
return elem ? [ elem ] : [];
|
698
|
+
}
|
699
|
+
};
|
700
|
+
} else {
|
701
|
+
Expr.filter[ "ID" ] = function( id ) {
|
702
|
+
var attrId = id.replace( runescape, funescape );
|
703
|
+
return function( elem ) {
|
704
|
+
var node = typeof elem.getAttributeNode !== "undefined" &&
|
705
|
+
elem.getAttributeNode( "id" );
|
706
|
+
return node && node.value === attrId;
|
707
|
+
};
|
708
|
+
};
|
709
|
+
|
710
|
+
// Support: IE 6 - 7 only
|
711
|
+
// getElementById is not reliable as a find shortcut
|
712
|
+
Expr.find[ "ID" ] = function( id, context ) {
|
713
|
+
if ( typeof context.getElementById !== "undefined" && documentIsHTML ) {
|
714
|
+
var node, i, elems,
|
715
|
+
elem = context.getElementById( id );
|
716
|
+
|
717
|
+
if ( elem ) {
|
718
|
+
|
719
|
+
// Verify the id attribute
|
720
|
+
node = elem.getAttributeNode( "id" );
|
721
|
+
if ( node && node.value === id ) {
|
722
|
+
return [ elem ];
|
723
|
+
}
|
724
|
+
|
725
|
+
// Fall back on getElementsByName
|
726
|
+
elems = context.getElementsByName( id );
|
727
|
+
i = 0;
|
728
|
+
while ( ( elem = elems[ i++ ] ) ) {
|
729
|
+
node = elem.getAttributeNode( "id" );
|
730
|
+
if ( node && node.value === id ) {
|
731
|
+
return [ elem ];
|
732
|
+
}
|
733
|
+
}
|
734
|
+
}
|
735
|
+
|
736
|
+
return [];
|
737
|
+
}
|
738
|
+
};
|
739
|
+
}
|
740
|
+
|
741
|
+
// Tag
|
742
|
+
Expr.find[ "TAG" ] = support.getElementsByTagName ?
|
743
|
+
function( tag, context ) {
|
744
|
+
if ( typeof context.getElementsByTagName !== "undefined" ) {
|
745
|
+
return context.getElementsByTagName( tag );
|
746
|
+
|
747
|
+
// DocumentFragment nodes don't have gEBTN
|
748
|
+
} else if ( support.qsa ) {
|
749
|
+
return context.querySelectorAll( tag );
|
750
|
+
}
|
751
|
+
} :
|
752
|
+
|
753
|
+
function( tag, context ) {
|
754
|
+
var elem,
|
755
|
+
tmp = [],
|
756
|
+
i = 0,
|
757
|
+
|
758
|
+
// By happy coincidence, a (broken) gEBTN appears on DocumentFragment nodes too
|
759
|
+
results = context.getElementsByTagName( tag );
|
760
|
+
|
761
|
+
// Filter out possible comments
|
762
|
+
if ( tag === "*" ) {
|
763
|
+
while ( ( elem = results[ i++ ] ) ) {
|
764
|
+
if ( elem.nodeType === 1 ) {
|
765
|
+
tmp.push( elem );
|
766
|
+
}
|
767
|
+
}
|
768
|
+
|
769
|
+
return tmp;
|
770
|
+
}
|
771
|
+
return results;
|
772
|
+
};
|
773
|
+
|
774
|
+
// Class
|
775
|
+
Expr.find[ "CLASS" ] = support.getElementsByClassName && function( className, context ) {
|
776
|
+
if ( typeof context.getElementsByClassName !== "undefined" && documentIsHTML ) {
|
777
|
+
return context.getElementsByClassName( className );
|
778
|
+
}
|
779
|
+
};
|
780
|
+
|
781
|
+
/* QSA/matchesSelector
|
782
|
+
---------------------------------------------------------------------- */
|
783
|
+
|
784
|
+
// QSA and matchesSelector support
|
785
|
+
|
786
|
+
// matchesSelector(:active) reports false when true (IE9/Opera 11.5)
|
787
|
+
rbuggyMatches = [];
|
788
|
+
|
789
|
+
// qSa(:focus) reports false when true (Chrome 21)
|
790
|
+
// We allow this because of a bug in IE8/9 that throws an error
|
791
|
+
// whenever `document.activeElement` is accessed on an iframe
|
792
|
+
// So, we allow :focus to pass through QSA all the time to avoid the IE error
|
793
|
+
// See https://bugs.jquery.com/ticket/13378
|
794
|
+
rbuggyQSA = [];
|
795
|
+
|
796
|
+
if ( ( support.qsa = rnative.test( document.querySelectorAll ) ) ) {
|
797
|
+
|
798
|
+
// Build QSA regex
|
799
|
+
// Regex strategy adopted from Diego Perini
|
800
|
+
assert( function( el ) {
|
801
|
+
|
802
|
+
var input;
|
803
|
+
|
804
|
+
// Select is set to empty string on purpose
|
805
|
+
// This is to test IE's treatment of not explicitly
|
806
|
+
// setting a boolean content attribute,
|
807
|
+
// since its presence should be enough
|
808
|
+
// https://bugs.jquery.com/ticket/12359
|
809
|
+
docElem.appendChild( el ).innerHTML = "<a id='" + expando + "'></a>" +
|
810
|
+
"<select id='" + expando + "-\r\\' msallowcapture=''>" +
|
811
|
+
"<option selected=''></option></select>";
|
812
|
+
|
813
|
+
// Support: IE8, Opera 11-12.16
|
814
|
+
// Nothing should be selected when empty strings follow ^= or $= or *=
|
815
|
+
// The test attribute must be unknown in Opera but "safe" for WinRT
|
816
|
+
// https://msdn.microsoft.com/en-us/library/ie/hh465388.aspx#attribute_section
|
817
|
+
if ( el.querySelectorAll( "[msallowcapture^='']" ).length ) {
|
818
|
+
rbuggyQSA.push( "[*^$]=" + whitespace + "*(?:''|\"\")" );
|
819
|
+
}
|
820
|
+
|
821
|
+
// Support: IE8
|
822
|
+
// Boolean attributes and "value" are not treated correctly
|
823
|
+
if ( !el.querySelectorAll( "[selected]" ).length ) {
|
824
|
+
rbuggyQSA.push( "\\[" + whitespace + "*(?:value|" + booleans + ")" );
|
825
|
+
}
|
826
|
+
|
827
|
+
// Support: Chrome<29, Android<4.4, Safari<7.0+, iOS<7.0+, PhantomJS<1.9.8+
|
828
|
+
if ( !el.querySelectorAll( "[id~=" + expando + "-]" ).length ) {
|
829
|
+
rbuggyQSA.push( "~=" );
|
830
|
+
}
|
831
|
+
|
832
|
+
// Support: IE 11+, Edge 15 - 18+
|
833
|
+
// IE 11/Edge don't find elements on a `[name='']` query in some cases.
|
834
|
+
// Adding a temporary attribute to the document before the selection works
|
835
|
+
// around the issue.
|
836
|
+
// Interestingly, IE 10 & older don't seem to have the issue.
|
837
|
+
input = document.createElement( "input" );
|
838
|
+
input.setAttribute( "name", "" );
|
839
|
+
el.appendChild( input );
|
840
|
+
if ( !el.querySelectorAll( "[name='']" ).length ) {
|
841
|
+
rbuggyQSA.push( "\\[" + whitespace + "*name" + whitespace + "*=" +
|
842
|
+
whitespace + "*(?:''|\"\")" );
|
843
|
+
}
|
844
|
+
|
845
|
+
// Webkit/Opera - :checked should return selected option elements
|
846
|
+
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
847
|
+
// IE8 throws error here and will not see later tests
|
848
|
+
if ( !el.querySelectorAll( ":checked" ).length ) {
|
849
|
+
rbuggyQSA.push( ":checked" );
|
850
|
+
}
|
851
|
+
|
852
|
+
// Support: Safari 8+, iOS 8+
|
853
|
+
// https://bugs.webkit.org/show_bug.cgi?id=136851
|
854
|
+
// In-page `selector#id sibling-combinator selector` fails
|
855
|
+
if ( !el.querySelectorAll( "a#" + expando + "+*" ).length ) {
|
856
|
+
rbuggyQSA.push( ".#.+[+~]" );
|
857
|
+
}
|
858
|
+
|
859
|
+
// Support: Firefox <=3.6 - 5 only
|
860
|
+
// Old Firefox doesn't throw on a badly-escaped identifier.
|
861
|
+
el.querySelectorAll( "\\\f" );
|
862
|
+
rbuggyQSA.push( "[\\r\\n\\f]" );
|
863
|
+
} );
|
864
|
+
|
865
|
+
assert( function( el ) {
|
866
|
+
el.innerHTML = "<a href='' disabled='disabled'></a>" +
|
867
|
+
"<select disabled='disabled'><option/></select>";
|
868
|
+
|
869
|
+
// Support: Windows 8 Native Apps
|
870
|
+
// The type and name attributes are restricted during .innerHTML assignment
|
871
|
+
var input = document.createElement( "input" );
|
872
|
+
input.setAttribute( "type", "hidden" );
|
873
|
+
el.appendChild( input ).setAttribute( "name", "D" );
|
874
|
+
|
875
|
+
// Support: IE8
|
876
|
+
// Enforce case-sensitivity of name attribute
|
877
|
+
if ( el.querySelectorAll( "[name=d]" ).length ) {
|
878
|
+
rbuggyQSA.push( "name" + whitespace + "*[*^$|!~]?=" );
|
879
|
+
}
|
880
|
+
|
881
|
+
// FF 3.5 - :enabled/:disabled and hidden elements (hidden elements are still enabled)
|
882
|
+
// IE8 throws error here and will not see later tests
|
883
|
+
if ( el.querySelectorAll( ":enabled" ).length !== 2 ) {
|
884
|
+
rbuggyQSA.push( ":enabled", ":disabled" );
|
885
|
+
}
|
886
|
+
|
887
|
+
// Support: IE9-11+
|
888
|
+
// IE's :disabled selector does not pick up the children of disabled fieldsets
|
889
|
+
docElem.appendChild( el ).disabled = true;
|
890
|
+
if ( el.querySelectorAll( ":disabled" ).length !== 2 ) {
|
891
|
+
rbuggyQSA.push( ":enabled", ":disabled" );
|
892
|
+
}
|
893
|
+
|
894
|
+
// Support: Opera 10 - 11 only
|
895
|
+
// Opera 10-11 does not throw on post-comma invalid pseudos
|
896
|
+
el.querySelectorAll( "*,:x" );
|
897
|
+
rbuggyQSA.push( ",.*:" );
|
898
|
+
} );
|
899
|
+
}
|
900
|
+
|
901
|
+
if ( ( support.matchesSelector = rnative.test( ( matches = docElem.matches ||
|
902
|
+
docElem.webkitMatchesSelector ||
|
903
|
+
docElem.mozMatchesSelector ||
|
904
|
+
docElem.oMatchesSelector ||
|
905
|
+
docElem.msMatchesSelector ) ) ) ) {
|
906
|
+
|
907
|
+
assert( function( el ) {
|
908
|
+
|
909
|
+
// Check to see if it's possible to do matchesSelector
|
910
|
+
// on a disconnected node (IE 9)
|
911
|
+
support.disconnectedMatch = matches.call( el, "*" );
|
912
|
+
|
913
|
+
// This should fail with an exception
|
914
|
+
// Gecko does not error, returns false instead
|
915
|
+
matches.call( el, "[s!='']:x" );
|
916
|
+
rbuggyMatches.push( "!=", pseudos );
|
917
|
+
} );
|
918
|
+
}
|
919
|
+
|
920
|
+
rbuggyQSA = rbuggyQSA.length && new RegExp( rbuggyQSA.join( "|" ) );
|
921
|
+
rbuggyMatches = rbuggyMatches.length && new RegExp( rbuggyMatches.join( "|" ) );
|
922
|
+
|
923
|
+
/* Contains
|
924
|
+
---------------------------------------------------------------------- */
|
925
|
+
hasCompare = rnative.test( docElem.compareDocumentPosition );
|
926
|
+
|
927
|
+
// Element contains another
|
928
|
+
// Purposefully self-exclusive
|
929
|
+
// As in, an element does not contain itself
|
930
|
+
contains = hasCompare || rnative.test( docElem.contains ) ?
|
931
|
+
function( a, b ) {
|
932
|
+
var adown = a.nodeType === 9 ? a.documentElement : a,
|
933
|
+
bup = b && b.parentNode;
|
934
|
+
return a === bup || !!( bup && bup.nodeType === 1 && (
|
935
|
+
adown.contains ?
|
936
|
+
adown.contains( bup ) :
|
937
|
+
a.compareDocumentPosition && a.compareDocumentPosition( bup ) & 16
|
938
|
+
) );
|
939
|
+
} :
|
940
|
+
function( a, b ) {
|
941
|
+
if ( b ) {
|
942
|
+
while ( ( b = b.parentNode ) ) {
|
943
|
+
if ( b === a ) {
|
944
|
+
return true;
|
945
|
+
}
|
946
|
+
}
|
947
|
+
}
|
948
|
+
return false;
|
949
|
+
};
|
950
|
+
|
951
|
+
/* Sorting
|
952
|
+
---------------------------------------------------------------------- */
|
953
|
+
|
954
|
+
// Document order sorting
|
955
|
+
sortOrder = hasCompare ?
|
956
|
+
function( a, b ) {
|
957
|
+
|
958
|
+
// Flag for duplicate removal
|
959
|
+
if ( a === b ) {
|
960
|
+
hasDuplicate = true;
|
961
|
+
return 0;
|
962
|
+
}
|
963
|
+
|
964
|
+
// Sort on method existence if only one input has compareDocumentPosition
|
965
|
+
var compare = !a.compareDocumentPosition - !b.compareDocumentPosition;
|
966
|
+
if ( compare ) {
|
967
|
+
return compare;
|
968
|
+
}
|
969
|
+
|
970
|
+
// Calculate position if both inputs belong to the same document
|
971
|
+
// Support: IE 11+, Edge 17 - 18+
|
972
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
973
|
+
// two documents; shallow comparisons work.
|
974
|
+
// eslint-disable-next-line eqeqeq
|
975
|
+
compare = ( a.ownerDocument || a ) == ( b.ownerDocument || b ) ?
|
976
|
+
a.compareDocumentPosition( b ) :
|
977
|
+
|
978
|
+
// Otherwise we know they are disconnected
|
979
|
+
1;
|
980
|
+
|
981
|
+
// Disconnected nodes
|
982
|
+
if ( compare & 1 ||
|
983
|
+
( !support.sortDetached && b.compareDocumentPosition( a ) === compare ) ) {
|
984
|
+
|
985
|
+
// Choose the first element that is related to our preferred document
|
986
|
+
// Support: IE 11+, Edge 17 - 18+
|
987
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
988
|
+
// two documents; shallow comparisons work.
|
989
|
+
// eslint-disable-next-line eqeqeq
|
990
|
+
if ( a == document || a.ownerDocument == preferredDoc &&
|
991
|
+
contains( preferredDoc, a ) ) {
|
992
|
+
return -1;
|
993
|
+
}
|
994
|
+
|
995
|
+
// Support: IE 11+, Edge 17 - 18+
|
996
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
997
|
+
// two documents; shallow comparisons work.
|
998
|
+
// eslint-disable-next-line eqeqeq
|
999
|
+
if ( b == document || b.ownerDocument == preferredDoc &&
|
1000
|
+
contains( preferredDoc, b ) ) {
|
1001
|
+
return 1;
|
1002
|
+
}
|
1003
|
+
|
1004
|
+
// Maintain original order
|
1005
|
+
return sortInput ?
|
1006
|
+
( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
|
1007
|
+
0;
|
1008
|
+
}
|
1009
|
+
|
1010
|
+
return compare & 4 ? -1 : 1;
|
1011
|
+
} :
|
1012
|
+
function( a, b ) {
|
1013
|
+
|
1014
|
+
// Exit early if the nodes are identical
|
1015
|
+
if ( a === b ) {
|
1016
|
+
hasDuplicate = true;
|
1017
|
+
return 0;
|
1018
|
+
}
|
1019
|
+
|
1020
|
+
var cur,
|
1021
|
+
i = 0,
|
1022
|
+
aup = a.parentNode,
|
1023
|
+
bup = b.parentNode,
|
1024
|
+
ap = [ a ],
|
1025
|
+
bp = [ b ];
|
1026
|
+
|
1027
|
+
// Parentless nodes are either documents or disconnected
|
1028
|
+
if ( !aup || !bup ) {
|
1029
|
+
|
1030
|
+
// Support: IE 11+, Edge 17 - 18+
|
1031
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
1032
|
+
// two documents; shallow comparisons work.
|
1033
|
+
/* eslint-disable eqeqeq */
|
1034
|
+
return a == document ? -1 :
|
1035
|
+
b == document ? 1 :
|
1036
|
+
/* eslint-enable eqeqeq */
|
1037
|
+
aup ? -1 :
|
1038
|
+
bup ? 1 :
|
1039
|
+
sortInput ?
|
1040
|
+
( indexOf( sortInput, a ) - indexOf( sortInput, b ) ) :
|
1041
|
+
0;
|
1042
|
+
|
1043
|
+
// If the nodes are siblings, we can do a quick check
|
1044
|
+
} else if ( aup === bup ) {
|
1045
|
+
return siblingCheck( a, b );
|
1046
|
+
}
|
1047
|
+
|
1048
|
+
// Otherwise we need full lists of their ancestors for comparison
|
1049
|
+
cur = a;
|
1050
|
+
while ( ( cur = cur.parentNode ) ) {
|
1051
|
+
ap.unshift( cur );
|
1052
|
+
}
|
1053
|
+
cur = b;
|
1054
|
+
while ( ( cur = cur.parentNode ) ) {
|
1055
|
+
bp.unshift( cur );
|
1056
|
+
}
|
1057
|
+
|
1058
|
+
// Walk down the tree looking for a discrepancy
|
1059
|
+
while ( ap[ i ] === bp[ i ] ) {
|
1060
|
+
i++;
|
1061
|
+
}
|
1062
|
+
|
1063
|
+
return i ?
|
1064
|
+
|
1065
|
+
// Do a sibling check if the nodes have a common ancestor
|
1066
|
+
siblingCheck( ap[ i ], bp[ i ] ) :
|
1067
|
+
|
1068
|
+
// Otherwise nodes in our document sort first
|
1069
|
+
// Support: IE 11+, Edge 17 - 18+
|
1070
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
1071
|
+
// two documents; shallow comparisons work.
|
1072
|
+
/* eslint-disable eqeqeq */
|
1073
|
+
ap[ i ] == preferredDoc ? -1 :
|
1074
|
+
bp[ i ] == preferredDoc ? 1 :
|
1075
|
+
/* eslint-enable eqeqeq */
|
1076
|
+
0;
|
1077
|
+
};
|
1078
|
+
|
1079
|
+
return document;
|
1080
|
+
};
|
1081
|
+
|
1082
|
+
Sizzle.matches = function( expr, elements ) {
|
1083
|
+
return Sizzle( expr, null, null, elements );
|
1084
|
+
};
|
1085
|
+
|
1086
|
+
Sizzle.matchesSelector = function( elem, expr ) {
|
1087
|
+
setDocument( elem );
|
1088
|
+
|
1089
|
+
if ( support.matchesSelector && documentIsHTML &&
|
1090
|
+
!nonnativeSelectorCache[ expr + " " ] &&
|
1091
|
+
( !rbuggyMatches || !rbuggyMatches.test( expr ) ) &&
|
1092
|
+
( !rbuggyQSA || !rbuggyQSA.test( expr ) ) ) {
|
1093
|
+
|
1094
|
+
try {
|
1095
|
+
var ret = matches.call( elem, expr );
|
1096
|
+
|
1097
|
+
// IE 9's matchesSelector returns false on disconnected nodes
|
1098
|
+
if ( ret || support.disconnectedMatch ||
|
1099
|
+
|
1100
|
+
// As well, disconnected nodes are said to be in a document
|
1101
|
+
// fragment in IE 9
|
1102
|
+
elem.document && elem.document.nodeType !== 11 ) {
|
1103
|
+
return ret;
|
1104
|
+
}
|
1105
|
+
} catch ( e ) {
|
1106
|
+
nonnativeSelectorCache( expr, true );
|
1107
|
+
}
|
1108
|
+
}
|
1109
|
+
|
1110
|
+
return Sizzle( expr, document, null, [ elem ] ).length > 0;
|
1111
|
+
};
|
1112
|
+
|
1113
|
+
Sizzle.contains = function( context, elem ) {
|
1114
|
+
|
1115
|
+
// Set document vars if needed
|
1116
|
+
// Support: IE 11+, Edge 17 - 18+
|
1117
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
1118
|
+
// two documents; shallow comparisons work.
|
1119
|
+
// eslint-disable-next-line eqeqeq
|
1120
|
+
if ( ( context.ownerDocument || context ) != document ) {
|
1121
|
+
setDocument( context );
|
1122
|
+
}
|
1123
|
+
return contains( context, elem );
|
1124
|
+
};
|
1125
|
+
|
1126
|
+
Sizzle.attr = function( elem, name ) {
|
1127
|
+
|
1128
|
+
// Set document vars if needed
|
1129
|
+
// Support: IE 11+, Edge 17 - 18+
|
1130
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
1131
|
+
// two documents; shallow comparisons work.
|
1132
|
+
// eslint-disable-next-line eqeqeq
|
1133
|
+
if ( ( elem.ownerDocument || elem ) != document ) {
|
1134
|
+
setDocument( elem );
|
1135
|
+
}
|
1136
|
+
|
1137
|
+
var fn = Expr.attrHandle[ name.toLowerCase() ],
|
1138
|
+
|
1139
|
+
// Don't get fooled by Object.prototype properties (jQuery #13807)
|
1140
|
+
val = fn && hasOwn.call( Expr.attrHandle, name.toLowerCase() ) ?
|
1141
|
+
fn( elem, name, !documentIsHTML ) :
|
1142
|
+
undefined;
|
1143
|
+
|
1144
|
+
return val !== undefined ?
|
1145
|
+
val :
|
1146
|
+
support.attributes || !documentIsHTML ?
|
1147
|
+
elem.getAttribute( name ) :
|
1148
|
+
( val = elem.getAttributeNode( name ) ) && val.specified ?
|
1149
|
+
val.value :
|
1150
|
+
null;
|
1151
|
+
};
|
1152
|
+
|
1153
|
+
Sizzle.escape = function( sel ) {
|
1154
|
+
return ( sel + "" ).replace( rcssescape, fcssescape );
|
1155
|
+
};
|
1156
|
+
|
1157
|
+
Sizzle.error = function( msg ) {
|
1158
|
+
throw new Error( "Syntax error, unrecognized expression: " + msg );
|
1159
|
+
};
|
1160
|
+
|
1161
|
+
/**
|
1162
|
+
* Document sorting and removing duplicates
|
1163
|
+
* @param {ArrayLike} results
|
1164
|
+
*/
|
1165
|
+
Sizzle.uniqueSort = function( results ) {
|
1166
|
+
var elem,
|
1167
|
+
duplicates = [],
|
1168
|
+
j = 0,
|
1169
|
+
i = 0;
|
1170
|
+
|
1171
|
+
// Unless we *know* we can detect duplicates, assume their presence
|
1172
|
+
hasDuplicate = !support.detectDuplicates;
|
1173
|
+
sortInput = !support.sortStable && results.slice( 0 );
|
1174
|
+
results.sort( sortOrder );
|
1175
|
+
|
1176
|
+
if ( hasDuplicate ) {
|
1177
|
+
while ( ( elem = results[ i++ ] ) ) {
|
1178
|
+
if ( elem === results[ i ] ) {
|
1179
|
+
j = duplicates.push( i );
|
1180
|
+
}
|
1181
|
+
}
|
1182
|
+
while ( j-- ) {
|
1183
|
+
results.splice( duplicates[ j ], 1 );
|
1184
|
+
}
|
1185
|
+
}
|
1186
|
+
|
1187
|
+
// Clear input after sorting to release objects
|
1188
|
+
// See https://github.com/jquery/sizzle/pull/225
|
1189
|
+
sortInput = null;
|
1190
|
+
|
1191
|
+
return results;
|
1192
|
+
};
|
1193
|
+
|
1194
|
+
/**
|
1195
|
+
* Utility function for retrieving the text value of an array of DOM nodes
|
1196
|
+
* @param {Array|Element} elem
|
1197
|
+
*/
|
1198
|
+
getText = Sizzle.getText = function( elem ) {
|
1199
|
+
var node,
|
1200
|
+
ret = "",
|
1201
|
+
i = 0,
|
1202
|
+
nodeType = elem.nodeType;
|
1203
|
+
|
1204
|
+
if ( !nodeType ) {
|
1205
|
+
|
1206
|
+
// If no nodeType, this is expected to be an array
|
1207
|
+
while ( ( node = elem[ i++ ] ) ) {
|
1208
|
+
|
1209
|
+
// Do not traverse comment nodes
|
1210
|
+
ret += getText( node );
|
1211
|
+
}
|
1212
|
+
} else if ( nodeType === 1 || nodeType === 9 || nodeType === 11 ) {
|
1213
|
+
|
1214
|
+
// Use textContent for elements
|
1215
|
+
// innerText usage removed for consistency of new lines (jQuery #11153)
|
1216
|
+
if ( typeof elem.textContent === "string" ) {
|
1217
|
+
return elem.textContent;
|
1218
|
+
} else {
|
1219
|
+
|
1220
|
+
// Traverse its children
|
1221
|
+
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
|
1222
|
+
ret += getText( elem );
|
1223
|
+
}
|
1224
|
+
}
|
1225
|
+
} else if ( nodeType === 3 || nodeType === 4 ) {
|
1226
|
+
return elem.nodeValue;
|
1227
|
+
}
|
1228
|
+
|
1229
|
+
// Do not include comment or processing instruction nodes
|
1230
|
+
|
1231
|
+
return ret;
|
1232
|
+
};
|
1233
|
+
|
1234
|
+
Expr = Sizzle.selectors = {
|
1235
|
+
|
1236
|
+
// Can be adjusted by the user
|
1237
|
+
cacheLength: 50,
|
1238
|
+
|
1239
|
+
createPseudo: markFunction,
|
1240
|
+
|
1241
|
+
match: matchExpr,
|
1242
|
+
|
1243
|
+
attrHandle: {},
|
1244
|
+
|
1245
|
+
find: {},
|
1246
|
+
|
1247
|
+
relative: {
|
1248
|
+
">": { dir: "parentNode", first: true },
|
1249
|
+
" ": { dir: "parentNode" },
|
1250
|
+
"+": { dir: "previousSibling", first: true },
|
1251
|
+
"~": { dir: "previousSibling" }
|
1252
|
+
},
|
1253
|
+
|
1254
|
+
preFilter: {
|
1255
|
+
"ATTR": function( match ) {
|
1256
|
+
match[ 1 ] = match[ 1 ].replace( runescape, funescape );
|
1257
|
+
|
1258
|
+
// Move the given value to match[3] whether quoted or unquoted
|
1259
|
+
match[ 3 ] = ( match[ 3 ] || match[ 4 ] ||
|
1260
|
+
match[ 5 ] || "" ).replace( runescape, funescape );
|
1261
|
+
|
1262
|
+
if ( match[ 2 ] === "~=" ) {
|
1263
|
+
match[ 3 ] = " " + match[ 3 ] + " ";
|
1264
|
+
}
|
1265
|
+
|
1266
|
+
return match.slice( 0, 4 );
|
1267
|
+
},
|
1268
|
+
|
1269
|
+
"CHILD": function( match ) {
|
1270
|
+
|
1271
|
+
/* matches from matchExpr["CHILD"]
|
1272
|
+
1 type (only|nth|...)
|
1273
|
+
2 what (child|of-type)
|
1274
|
+
3 argument (even|odd|\d*|\d*n([+-]\d+)?|...)
|
1275
|
+
4 xn-component of xn+y argument ([+-]?\d*n|)
|
1276
|
+
5 sign of xn-component
|
1277
|
+
6 x of xn-component
|
1278
|
+
7 sign of y-component
|
1279
|
+
8 y of y-component
|
1280
|
+
*/
|
1281
|
+
match[ 1 ] = match[ 1 ].toLowerCase();
|
1282
|
+
|
1283
|
+
if ( match[ 1 ].slice( 0, 3 ) === "nth" ) {
|
1284
|
+
|
1285
|
+
// nth-* requires argument
|
1286
|
+
if ( !match[ 3 ] ) {
|
1287
|
+
Sizzle.error( match[ 0 ] );
|
1288
|
+
}
|
1289
|
+
|
1290
|
+
// numeric x and y parameters for Expr.filter.CHILD
|
1291
|
+
// remember that false/true cast respectively to 0/1
|
1292
|
+
match[ 4 ] = +( match[ 4 ] ?
|
1293
|
+
match[ 5 ] + ( match[ 6 ] || 1 ) :
|
1294
|
+
2 * ( match[ 3 ] === "even" || match[ 3 ] === "odd" ) );
|
1295
|
+
match[ 5 ] = +( ( match[ 7 ] + match[ 8 ] ) || match[ 3 ] === "odd" );
|
1296
|
+
|
1297
|
+
// other types prohibit arguments
|
1298
|
+
} else if ( match[ 3 ] ) {
|
1299
|
+
Sizzle.error( match[ 0 ] );
|
1300
|
+
}
|
1301
|
+
|
1302
|
+
return match;
|
1303
|
+
},
|
1304
|
+
|
1305
|
+
"PSEUDO": function( match ) {
|
1306
|
+
var excess,
|
1307
|
+
unquoted = !match[ 6 ] && match[ 2 ];
|
1308
|
+
|
1309
|
+
if ( matchExpr[ "CHILD" ].test( match[ 0 ] ) ) {
|
1310
|
+
return null;
|
1311
|
+
}
|
1312
|
+
|
1313
|
+
// Accept quoted arguments as-is
|
1314
|
+
if ( match[ 3 ] ) {
|
1315
|
+
match[ 2 ] = match[ 4 ] || match[ 5 ] || "";
|
1316
|
+
|
1317
|
+
// Strip excess characters from unquoted arguments
|
1318
|
+
} else if ( unquoted && rpseudo.test( unquoted ) &&
|
1319
|
+
|
1320
|
+
// Get excess from tokenize (recursively)
|
1321
|
+
( excess = tokenize( unquoted, true ) ) &&
|
1322
|
+
|
1323
|
+
// advance to the next closing parenthesis
|
1324
|
+
( excess = unquoted.indexOf( ")", unquoted.length - excess ) - unquoted.length ) ) {
|
1325
|
+
|
1326
|
+
// excess is a negative index
|
1327
|
+
match[ 0 ] = match[ 0 ].slice( 0, excess );
|
1328
|
+
match[ 2 ] = unquoted.slice( 0, excess );
|
1329
|
+
}
|
1330
|
+
|
1331
|
+
// Return only captures needed by the pseudo filter method (type and argument)
|
1332
|
+
return match.slice( 0, 3 );
|
1333
|
+
}
|
1334
|
+
},
|
1335
|
+
|
1336
|
+
filter: {
|
1337
|
+
|
1338
|
+
"TAG": function( nodeNameSelector ) {
|
1339
|
+
var nodeName = nodeNameSelector.replace( runescape, funescape ).toLowerCase();
|
1340
|
+
return nodeNameSelector === "*" ?
|
1341
|
+
function() {
|
1342
|
+
return true;
|
1343
|
+
} :
|
1344
|
+
function( elem ) {
|
1345
|
+
return elem.nodeName && elem.nodeName.toLowerCase() === nodeName;
|
1346
|
+
};
|
1347
|
+
},
|
1348
|
+
|
1349
|
+
"CLASS": function( className ) {
|
1350
|
+
var pattern = classCache[ className + " " ];
|
1351
|
+
|
1352
|
+
return pattern ||
|
1353
|
+
( pattern = new RegExp( "(^|" + whitespace +
|
1354
|
+
")" + className + "(" + whitespace + "|$)" ) ) && classCache(
|
1355
|
+
className, function( elem ) {
|
1356
|
+
return pattern.test(
|
1357
|
+
typeof elem.className === "string" && elem.className ||
|
1358
|
+
typeof elem.getAttribute !== "undefined" &&
|
1359
|
+
elem.getAttribute( "class" ) ||
|
1360
|
+
""
|
1361
|
+
);
|
1362
|
+
} );
|
1363
|
+
},
|
1364
|
+
|
1365
|
+
"ATTR": function( name, operator, check ) {
|
1366
|
+
return function( elem ) {
|
1367
|
+
var result = Sizzle.attr( elem, name );
|
1368
|
+
|
1369
|
+
if ( result == null ) {
|
1370
|
+
return operator === "!=";
|
1371
|
+
}
|
1372
|
+
if ( !operator ) {
|
1373
|
+
return true;
|
1374
|
+
}
|
1375
|
+
|
1376
|
+
result += "";
|
1377
|
+
|
1378
|
+
/* eslint-disable max-len */
|
1379
|
+
|
1380
|
+
return operator === "=" ? result === check :
|
1381
|
+
operator === "!=" ? result !== check :
|
1382
|
+
operator === "^=" ? check && result.indexOf( check ) === 0 :
|
1383
|
+
operator === "*=" ? check && result.indexOf( check ) > -1 :
|
1384
|
+
operator === "$=" ? check && result.slice( -check.length ) === check :
|
1385
|
+
operator === "~=" ? ( " " + result.replace( rwhitespace, " " ) + " " ).indexOf( check ) > -1 :
|
1386
|
+
operator === "|=" ? result === check || result.slice( 0, check.length + 1 ) === check + "-" :
|
1387
|
+
false;
|
1388
|
+
/* eslint-enable max-len */
|
1389
|
+
|
1390
|
+
};
|
1391
|
+
},
|
1392
|
+
|
1393
|
+
"CHILD": function( type, what, _argument, first, last ) {
|
1394
|
+
var simple = type.slice( 0, 3 ) !== "nth",
|
1395
|
+
forward = type.slice( -4 ) !== "last",
|
1396
|
+
ofType = what === "of-type";
|
1397
|
+
|
1398
|
+
return first === 1 && last === 0 ?
|
1399
|
+
|
1400
|
+
// Shortcut for :nth-*(n)
|
1401
|
+
function( elem ) {
|
1402
|
+
return !!elem.parentNode;
|
1403
|
+
} :
|
1404
|
+
|
1405
|
+
function( elem, _context, xml ) {
|
1406
|
+
var cache, uniqueCache, outerCache, node, nodeIndex, start,
|
1407
|
+
dir = simple !== forward ? "nextSibling" : "previousSibling",
|
1408
|
+
parent = elem.parentNode,
|
1409
|
+
name = ofType && elem.nodeName.toLowerCase(),
|
1410
|
+
useCache = !xml && !ofType,
|
1411
|
+
diff = false;
|
1412
|
+
|
1413
|
+
if ( parent ) {
|
1414
|
+
|
1415
|
+
// :(first|last|only)-(child|of-type)
|
1416
|
+
if ( simple ) {
|
1417
|
+
while ( dir ) {
|
1418
|
+
node = elem;
|
1419
|
+
while ( ( node = node[ dir ] ) ) {
|
1420
|
+
if ( ofType ?
|
1421
|
+
node.nodeName.toLowerCase() === name :
|
1422
|
+
node.nodeType === 1 ) {
|
1423
|
+
|
1424
|
+
return false;
|
1425
|
+
}
|
1426
|
+
}
|
1427
|
+
|
1428
|
+
// Reverse direction for :only-* (if we haven't yet done so)
|
1429
|
+
start = dir = type === "only" && !start && "nextSibling";
|
1430
|
+
}
|
1431
|
+
return true;
|
1432
|
+
}
|
1433
|
+
|
1434
|
+
start = [ forward ? parent.firstChild : parent.lastChild ];
|
1435
|
+
|
1436
|
+
// non-xml :nth-child(...) stores cache data on `parent`
|
1437
|
+
if ( forward && useCache ) {
|
1438
|
+
|
1439
|
+
// Seek `elem` from a previously-cached index
|
1440
|
+
|
1441
|
+
// ...in a gzip-friendly way
|
1442
|
+
node = parent;
|
1443
|
+
outerCache = node[ expando ] || ( node[ expando ] = {} );
|
1444
|
+
|
1445
|
+
// Support: IE <9 only
|
1446
|
+
// Defend against cloned attroperties (jQuery gh-1709)
|
1447
|
+
uniqueCache = outerCache[ node.uniqueID ] ||
|
1448
|
+
( outerCache[ node.uniqueID ] = {} );
|
1449
|
+
|
1450
|
+
cache = uniqueCache[ type ] || [];
|
1451
|
+
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
|
1452
|
+
diff = nodeIndex && cache[ 2 ];
|
1453
|
+
node = nodeIndex && parent.childNodes[ nodeIndex ];
|
1454
|
+
|
1455
|
+
while ( ( node = ++nodeIndex && node && node[ dir ] ||
|
1456
|
+
|
1457
|
+
// Fallback to seeking `elem` from the start
|
1458
|
+
( diff = nodeIndex = 0 ) || start.pop() ) ) {
|
1459
|
+
|
1460
|
+
// When found, cache indexes on `parent` and break
|
1461
|
+
if ( node.nodeType === 1 && ++diff && node === elem ) {
|
1462
|
+
uniqueCache[ type ] = [ dirruns, nodeIndex, diff ];
|
1463
|
+
break;
|
1464
|
+
}
|
1465
|
+
}
|
1466
|
+
|
1467
|
+
} else {
|
1468
|
+
|
1469
|
+
// Use previously-cached element index if available
|
1470
|
+
if ( useCache ) {
|
1471
|
+
|
1472
|
+
// ...in a gzip-friendly way
|
1473
|
+
node = elem;
|
1474
|
+
outerCache = node[ expando ] || ( node[ expando ] = {} );
|
1475
|
+
|
1476
|
+
// Support: IE <9 only
|
1477
|
+
// Defend against cloned attroperties (jQuery gh-1709)
|
1478
|
+
uniqueCache = outerCache[ node.uniqueID ] ||
|
1479
|
+
( outerCache[ node.uniqueID ] = {} );
|
1480
|
+
|
1481
|
+
cache = uniqueCache[ type ] || [];
|
1482
|
+
nodeIndex = cache[ 0 ] === dirruns && cache[ 1 ];
|
1483
|
+
diff = nodeIndex;
|
1484
|
+
}
|
1485
|
+
|
1486
|
+
// xml :nth-child(...)
|
1487
|
+
// or :nth-last-child(...) or :nth(-last)?-of-type(...)
|
1488
|
+
if ( diff === false ) {
|
1489
|
+
|
1490
|
+
// Use the same loop as above to seek `elem` from the start
|
1491
|
+
while ( ( node = ++nodeIndex && node && node[ dir ] ||
|
1492
|
+
( diff = nodeIndex = 0 ) || start.pop() ) ) {
|
1493
|
+
|
1494
|
+
if ( ( ofType ?
|
1495
|
+
node.nodeName.toLowerCase() === name :
|
1496
|
+
node.nodeType === 1 ) &&
|
1497
|
+
++diff ) {
|
1498
|
+
|
1499
|
+
// Cache the index of each encountered element
|
1500
|
+
if ( useCache ) {
|
1501
|
+
outerCache = node[ expando ] ||
|
1502
|
+
( node[ expando ] = {} );
|
1503
|
+
|
1504
|
+
// Support: IE <9 only
|
1505
|
+
// Defend against cloned attroperties (jQuery gh-1709)
|
1506
|
+
uniqueCache = outerCache[ node.uniqueID ] ||
|
1507
|
+
( outerCache[ node.uniqueID ] = {} );
|
1508
|
+
|
1509
|
+
uniqueCache[ type ] = [ dirruns, diff ];
|
1510
|
+
}
|
1511
|
+
|
1512
|
+
if ( node === elem ) {
|
1513
|
+
break;
|
1514
|
+
}
|
1515
|
+
}
|
1516
|
+
}
|
1517
|
+
}
|
1518
|
+
}
|
1519
|
+
|
1520
|
+
// Incorporate the offset, then check against cycle size
|
1521
|
+
diff -= last;
|
1522
|
+
return diff === first || ( diff % first === 0 && diff / first >= 0 );
|
1523
|
+
}
|
1524
|
+
};
|
1525
|
+
},
|
1526
|
+
|
1527
|
+
"PSEUDO": function( pseudo, argument ) {
|
1528
|
+
|
1529
|
+
// pseudo-class names are case-insensitive
|
1530
|
+
// http://www.w3.org/TR/selectors/#pseudo-classes
|
1531
|
+
// Prioritize by case sensitivity in case custom pseudos are added with uppercase letters
|
1532
|
+
// Remember that setFilters inherits from pseudos
|
1533
|
+
var args,
|
1534
|
+
fn = Expr.pseudos[ pseudo ] || Expr.setFilters[ pseudo.toLowerCase() ] ||
|
1535
|
+
Sizzle.error( "unsupported pseudo: " + pseudo );
|
1536
|
+
|
1537
|
+
// The user may use createPseudo to indicate that
|
1538
|
+
// arguments are needed to create the filter function
|
1539
|
+
// just as Sizzle does
|
1540
|
+
if ( fn[ expando ] ) {
|
1541
|
+
return fn( argument );
|
1542
|
+
}
|
1543
|
+
|
1544
|
+
// But maintain support for old signatures
|
1545
|
+
if ( fn.length > 1 ) {
|
1546
|
+
args = [ pseudo, pseudo, "", argument ];
|
1547
|
+
return Expr.setFilters.hasOwnProperty( pseudo.toLowerCase() ) ?
|
1548
|
+
markFunction( function( seed, matches ) {
|
1549
|
+
var idx,
|
1550
|
+
matched = fn( seed, argument ),
|
1551
|
+
i = matched.length;
|
1552
|
+
while ( i-- ) {
|
1553
|
+
idx = indexOf( seed, matched[ i ] );
|
1554
|
+
seed[ idx ] = !( matches[ idx ] = matched[ i ] );
|
1555
|
+
}
|
1556
|
+
} ) :
|
1557
|
+
function( elem ) {
|
1558
|
+
return fn( elem, 0, args );
|
1559
|
+
};
|
1560
|
+
}
|
1561
|
+
|
1562
|
+
return fn;
|
1563
|
+
}
|
1564
|
+
},
|
1565
|
+
|
1566
|
+
pseudos: {
|
1567
|
+
|
1568
|
+
// Potentially complex pseudos
|
1569
|
+
"not": markFunction( function( selector ) {
|
1570
|
+
|
1571
|
+
// Trim the selector passed to compile
|
1572
|
+
// to avoid treating leading and trailing
|
1573
|
+
// spaces as combinators
|
1574
|
+
var input = [],
|
1575
|
+
results = [],
|
1576
|
+
matcher = compile( selector.replace( rtrim, "$1" ) );
|
1577
|
+
|
1578
|
+
return matcher[ expando ] ?
|
1579
|
+
markFunction( function( seed, matches, _context, xml ) {
|
1580
|
+
var elem,
|
1581
|
+
unmatched = matcher( seed, null, xml, [] ),
|
1582
|
+
i = seed.length;
|
1583
|
+
|
1584
|
+
// Match elements unmatched by `matcher`
|
1585
|
+
while ( i-- ) {
|
1586
|
+
if ( ( elem = unmatched[ i ] ) ) {
|
1587
|
+
seed[ i ] = !( matches[ i ] = elem );
|
1588
|
+
}
|
1589
|
+
}
|
1590
|
+
} ) :
|
1591
|
+
function( elem, _context, xml ) {
|
1592
|
+
input[ 0 ] = elem;
|
1593
|
+
matcher( input, null, xml, results );
|
1594
|
+
|
1595
|
+
// Don't keep the element (issue #299)
|
1596
|
+
input[ 0 ] = null;
|
1597
|
+
return !results.pop();
|
1598
|
+
};
|
1599
|
+
} ),
|
1600
|
+
|
1601
|
+
"has": markFunction( function( selector ) {
|
1602
|
+
return function( elem ) {
|
1603
|
+
return Sizzle( selector, elem ).length > 0;
|
1604
|
+
};
|
1605
|
+
} ),
|
1606
|
+
|
1607
|
+
"contains": markFunction( function( text ) {
|
1608
|
+
text = text.replace( runescape, funescape );
|
1609
|
+
return function( elem ) {
|
1610
|
+
return ( elem.textContent || getText( elem ) ).indexOf( text ) > -1;
|
1611
|
+
};
|
1612
|
+
} ),
|
1613
|
+
|
1614
|
+
// "Whether an element is represented by a :lang() selector
|
1615
|
+
// is based solely on the element's language value
|
1616
|
+
// being equal to the identifier C,
|
1617
|
+
// or beginning with the identifier C immediately followed by "-".
|
1618
|
+
// The matching of C against the element's language value is performed case-insensitively.
|
1619
|
+
// The identifier C does not have to be a valid language name."
|
1620
|
+
// http://www.w3.org/TR/selectors/#lang-pseudo
|
1621
|
+
"lang": markFunction( function( lang ) {
|
1622
|
+
|
1623
|
+
// lang value must be a valid identifier
|
1624
|
+
if ( !ridentifier.test( lang || "" ) ) {
|
1625
|
+
Sizzle.error( "unsupported lang: " + lang );
|
1626
|
+
}
|
1627
|
+
lang = lang.replace( runescape, funescape ).toLowerCase();
|
1628
|
+
return function( elem ) {
|
1629
|
+
var elemLang;
|
1630
|
+
do {
|
1631
|
+
if ( ( elemLang = documentIsHTML ?
|
1632
|
+
elem.lang :
|
1633
|
+
elem.getAttribute( "xml:lang" ) || elem.getAttribute( "lang" ) ) ) {
|
1634
|
+
|
1635
|
+
elemLang = elemLang.toLowerCase();
|
1636
|
+
return elemLang === lang || elemLang.indexOf( lang + "-" ) === 0;
|
1637
|
+
}
|
1638
|
+
} while ( ( elem = elem.parentNode ) && elem.nodeType === 1 );
|
1639
|
+
return false;
|
1640
|
+
};
|
1641
|
+
} ),
|
1642
|
+
|
1643
|
+
// Miscellaneous
|
1644
|
+
"target": function( elem ) {
|
1645
|
+
var hash = window.location && window.location.hash;
|
1646
|
+
return hash && hash.slice( 1 ) === elem.id;
|
1647
|
+
},
|
1648
|
+
|
1649
|
+
"root": function( elem ) {
|
1650
|
+
return elem === docElem;
|
1651
|
+
},
|
1652
|
+
|
1653
|
+
"focus": function( elem ) {
|
1654
|
+
return elem === document.activeElement &&
|
1655
|
+
( !document.hasFocus || document.hasFocus() ) &&
|
1656
|
+
!!( elem.type || elem.href || ~elem.tabIndex );
|
1657
|
+
},
|
1658
|
+
|
1659
|
+
// Boolean properties
|
1660
|
+
"enabled": createDisabledPseudo( false ),
|
1661
|
+
"disabled": createDisabledPseudo( true ),
|
1662
|
+
|
1663
|
+
"checked": function( elem ) {
|
1664
|
+
|
1665
|
+
// In CSS3, :checked should return both checked and selected elements
|
1666
|
+
// http://www.w3.org/TR/2011/REC-css3-selectors-20110929/#checked
|
1667
|
+
var nodeName = elem.nodeName.toLowerCase();
|
1668
|
+
return ( nodeName === "input" && !!elem.checked ) ||
|
1669
|
+
( nodeName === "option" && !!elem.selected );
|
1670
|
+
},
|
1671
|
+
|
1672
|
+
"selected": function( elem ) {
|
1673
|
+
|
1674
|
+
// Accessing this property makes selected-by-default
|
1675
|
+
// options in Safari work properly
|
1676
|
+
if ( elem.parentNode ) {
|
1677
|
+
// eslint-disable-next-line no-unused-expressions
|
1678
|
+
elem.parentNode.selectedIndex;
|
1679
|
+
}
|
1680
|
+
|
1681
|
+
return elem.selected === true;
|
1682
|
+
},
|
1683
|
+
|
1684
|
+
// Contents
|
1685
|
+
"empty": function( elem ) {
|
1686
|
+
|
1687
|
+
// http://www.w3.org/TR/selectors/#empty-pseudo
|
1688
|
+
// :empty is negated by element (1) or content nodes (text: 3; cdata: 4; entity ref: 5),
|
1689
|
+
// but not by others (comment: 8; processing instruction: 7; etc.)
|
1690
|
+
// nodeType < 6 works because attributes (2) do not appear as children
|
1691
|
+
for ( elem = elem.firstChild; elem; elem = elem.nextSibling ) {
|
1692
|
+
if ( elem.nodeType < 6 ) {
|
1693
|
+
return false;
|
1694
|
+
}
|
1695
|
+
}
|
1696
|
+
return true;
|
1697
|
+
},
|
1698
|
+
|
1699
|
+
"parent": function( elem ) {
|
1700
|
+
return !Expr.pseudos[ "empty" ]( elem );
|
1701
|
+
},
|
1702
|
+
|
1703
|
+
// Element/input types
|
1704
|
+
"header": function( elem ) {
|
1705
|
+
return rheader.test( elem.nodeName );
|
1706
|
+
},
|
1707
|
+
|
1708
|
+
"input": function( elem ) {
|
1709
|
+
return rinputs.test( elem.nodeName );
|
1710
|
+
},
|
1711
|
+
|
1712
|
+
"button": function( elem ) {
|
1713
|
+
var name = elem.nodeName.toLowerCase();
|
1714
|
+
return name === "input" && elem.type === "button" || name === "button";
|
1715
|
+
},
|
1716
|
+
|
1717
|
+
"text": function( elem ) {
|
1718
|
+
var attr;
|
1719
|
+
return elem.nodeName.toLowerCase() === "input" &&
|
1720
|
+
elem.type === "text" &&
|
1721
|
+
|
1722
|
+
// Support: IE<8
|
1723
|
+
// New HTML5 attribute values (e.g., "search") appear with elem.type === "text"
|
1724
|
+
( ( attr = elem.getAttribute( "type" ) ) == null ||
|
1725
|
+
attr.toLowerCase() === "text" );
|
1726
|
+
},
|
1727
|
+
|
1728
|
+
// Position-in-collection
|
1729
|
+
"first": createPositionalPseudo( function() {
|
1730
|
+
return [ 0 ];
|
1731
|
+
} ),
|
1732
|
+
|
1733
|
+
"last": createPositionalPseudo( function( _matchIndexes, length ) {
|
1734
|
+
return [ length - 1 ];
|
1735
|
+
} ),
|
1736
|
+
|
1737
|
+
"eq": createPositionalPseudo( function( _matchIndexes, length, argument ) {
|
1738
|
+
return [ argument < 0 ? argument + length : argument ];
|
1739
|
+
} ),
|
1740
|
+
|
1741
|
+
"even": createPositionalPseudo( function( matchIndexes, length ) {
|
1742
|
+
var i = 0;
|
1743
|
+
for ( ; i < length; i += 2 ) {
|
1744
|
+
matchIndexes.push( i );
|
1745
|
+
}
|
1746
|
+
return matchIndexes;
|
1747
|
+
} ),
|
1748
|
+
|
1749
|
+
"odd": createPositionalPseudo( function( matchIndexes, length ) {
|
1750
|
+
var i = 1;
|
1751
|
+
for ( ; i < length; i += 2 ) {
|
1752
|
+
matchIndexes.push( i );
|
1753
|
+
}
|
1754
|
+
return matchIndexes;
|
1755
|
+
} ),
|
1756
|
+
|
1757
|
+
"lt": createPositionalPseudo( function( matchIndexes, length, argument ) {
|
1758
|
+
var i = argument < 0 ?
|
1759
|
+
argument + length :
|
1760
|
+
argument > length ?
|
1761
|
+
length :
|
1762
|
+
argument;
|
1763
|
+
for ( ; --i >= 0; ) {
|
1764
|
+
matchIndexes.push( i );
|
1765
|
+
}
|
1766
|
+
return matchIndexes;
|
1767
|
+
} ),
|
1768
|
+
|
1769
|
+
"gt": createPositionalPseudo( function( matchIndexes, length, argument ) {
|
1770
|
+
var i = argument < 0 ? argument + length : argument;
|
1771
|
+
for ( ; ++i < length; ) {
|
1772
|
+
matchIndexes.push( i );
|
1773
|
+
}
|
1774
|
+
return matchIndexes;
|
1775
|
+
} )
|
1776
|
+
}
|
1777
|
+
};
|
1778
|
+
|
1779
|
+
Expr.pseudos[ "nth" ] = Expr.pseudos[ "eq" ];
|
1780
|
+
|
1781
|
+
// Add button/input type pseudos
|
1782
|
+
for ( i in { radio: true, checkbox: true, file: true, password: true, image: true } ) {
|
1783
|
+
Expr.pseudos[ i ] = createInputPseudo( i );
|
1784
|
+
}
|
1785
|
+
for ( i in { submit: true, reset: true } ) {
|
1786
|
+
Expr.pseudos[ i ] = createButtonPseudo( i );
|
1787
|
+
}
|
1788
|
+
|
1789
|
+
// Easy API for creating new setFilters
|
1790
|
+
function setFilters() {}
|
1791
|
+
setFilters.prototype = Expr.filters = Expr.pseudos;
|
1792
|
+
Expr.setFilters = new setFilters();
|
1793
|
+
|
1794
|
+
tokenize = Sizzle.tokenize = function( selector, parseOnly ) {
|
1795
|
+
var matched, match, tokens, type,
|
1796
|
+
soFar, groups, preFilters,
|
1797
|
+
cached = tokenCache[ selector + " " ];
|
1798
|
+
|
1799
|
+
if ( cached ) {
|
1800
|
+
return parseOnly ? 0 : cached.slice( 0 );
|
1801
|
+
}
|
1802
|
+
|
1803
|
+
soFar = selector;
|
1804
|
+
groups = [];
|
1805
|
+
preFilters = Expr.preFilter;
|
1806
|
+
|
1807
|
+
while ( soFar ) {
|
1808
|
+
|
1809
|
+
// Comma and first run
|
1810
|
+
if ( !matched || ( match = rcomma.exec( soFar ) ) ) {
|
1811
|
+
if ( match ) {
|
1812
|
+
|
1813
|
+
// Don't consume trailing commas as valid
|
1814
|
+
soFar = soFar.slice( match[ 0 ].length ) || soFar;
|
1815
|
+
}
|
1816
|
+
groups.push( ( tokens = [] ) );
|
1817
|
+
}
|
1818
|
+
|
1819
|
+
matched = false;
|
1820
|
+
|
1821
|
+
// Combinators
|
1822
|
+
if ( ( match = rcombinators.exec( soFar ) ) ) {
|
1823
|
+
matched = match.shift();
|
1824
|
+
tokens.push( {
|
1825
|
+
value: matched,
|
1826
|
+
|
1827
|
+
// Cast descendant combinators to space
|
1828
|
+
type: match[ 0 ].replace( rtrim, " " )
|
1829
|
+
} );
|
1830
|
+
soFar = soFar.slice( matched.length );
|
1831
|
+
}
|
1832
|
+
|
1833
|
+
// Filters
|
1834
|
+
for ( type in Expr.filter ) {
|
1835
|
+
if ( ( match = matchExpr[ type ].exec( soFar ) ) && ( !preFilters[ type ] ||
|
1836
|
+
( match = preFilters[ type ]( match ) ) ) ) {
|
1837
|
+
matched = match.shift();
|
1838
|
+
tokens.push( {
|
1839
|
+
value: matched,
|
1840
|
+
type: type,
|
1841
|
+
matches: match
|
1842
|
+
} );
|
1843
|
+
soFar = soFar.slice( matched.length );
|
1844
|
+
}
|
1845
|
+
}
|
1846
|
+
|
1847
|
+
if ( !matched ) {
|
1848
|
+
break;
|
1849
|
+
}
|
1850
|
+
}
|
1851
|
+
|
1852
|
+
// Return the length of the invalid excess
|
1853
|
+
// if we're just parsing
|
1854
|
+
// Otherwise, throw an error or return tokens
|
1855
|
+
return parseOnly ?
|
1856
|
+
soFar.length :
|
1857
|
+
soFar ?
|
1858
|
+
Sizzle.error( selector ) :
|
1859
|
+
|
1860
|
+
// Cache the tokens
|
1861
|
+
tokenCache( selector, groups ).slice( 0 );
|
1862
|
+
};
|
1863
|
+
|
1864
|
+
function toSelector( tokens ) {
|
1865
|
+
var i = 0,
|
1866
|
+
len = tokens.length,
|
1867
|
+
selector = "";
|
1868
|
+
for ( ; i < len; i++ ) {
|
1869
|
+
selector += tokens[ i ].value;
|
1870
|
+
}
|
1871
|
+
return selector;
|
1872
|
+
}
|
1873
|
+
|
1874
|
+
function addCombinator( matcher, combinator, base ) {
|
1875
|
+
var dir = combinator.dir,
|
1876
|
+
skip = combinator.next,
|
1877
|
+
key = skip || dir,
|
1878
|
+
checkNonElements = base && key === "parentNode",
|
1879
|
+
doneName = done++;
|
1880
|
+
|
1881
|
+
return combinator.first ?
|
1882
|
+
|
1883
|
+
// Check against closest ancestor/preceding element
|
1884
|
+
function( elem, context, xml ) {
|
1885
|
+
while ( ( elem = elem[ dir ] ) ) {
|
1886
|
+
if ( elem.nodeType === 1 || checkNonElements ) {
|
1887
|
+
return matcher( elem, context, xml );
|
1888
|
+
}
|
1889
|
+
}
|
1890
|
+
return false;
|
1891
|
+
} :
|
1892
|
+
|
1893
|
+
// Check against all ancestor/preceding elements
|
1894
|
+
function( elem, context, xml ) {
|
1895
|
+
var oldCache, uniqueCache, outerCache,
|
1896
|
+
newCache = [ dirruns, doneName ];
|
1897
|
+
|
1898
|
+
// We can't set arbitrary data on XML nodes, so they don't benefit from combinator caching
|
1899
|
+
if ( xml ) {
|
1900
|
+
while ( ( elem = elem[ dir ] ) ) {
|
1901
|
+
if ( elem.nodeType === 1 || checkNonElements ) {
|
1902
|
+
if ( matcher( elem, context, xml ) ) {
|
1903
|
+
return true;
|
1904
|
+
}
|
1905
|
+
}
|
1906
|
+
}
|
1907
|
+
} else {
|
1908
|
+
while ( ( elem = elem[ dir ] ) ) {
|
1909
|
+
if ( elem.nodeType === 1 || checkNonElements ) {
|
1910
|
+
outerCache = elem[ expando ] || ( elem[ expando ] = {} );
|
1911
|
+
|
1912
|
+
// Support: IE <9 only
|
1913
|
+
// Defend against cloned attroperties (jQuery gh-1709)
|
1914
|
+
uniqueCache = outerCache[ elem.uniqueID ] ||
|
1915
|
+
( outerCache[ elem.uniqueID ] = {} );
|
1916
|
+
|
1917
|
+
if ( skip && skip === elem.nodeName.toLowerCase() ) {
|
1918
|
+
elem = elem[ dir ] || elem;
|
1919
|
+
} else if ( ( oldCache = uniqueCache[ key ] ) &&
|
1920
|
+
oldCache[ 0 ] === dirruns && oldCache[ 1 ] === doneName ) {
|
1921
|
+
|
1922
|
+
// Assign to newCache so results back-propagate to previous elements
|
1923
|
+
return ( newCache[ 2 ] = oldCache[ 2 ] );
|
1924
|
+
} else {
|
1925
|
+
|
1926
|
+
// Reuse newcache so results back-propagate to previous elements
|
1927
|
+
uniqueCache[ key ] = newCache;
|
1928
|
+
|
1929
|
+
// A match means we're done; a fail means we have to keep checking
|
1930
|
+
if ( ( newCache[ 2 ] = matcher( elem, context, xml ) ) ) {
|
1931
|
+
return true;
|
1932
|
+
}
|
1933
|
+
}
|
1934
|
+
}
|
1935
|
+
}
|
1936
|
+
}
|
1937
|
+
return false;
|
1938
|
+
};
|
1939
|
+
}
|
1940
|
+
|
1941
|
+
function elementMatcher( matchers ) {
|
1942
|
+
return matchers.length > 1 ?
|
1943
|
+
function( elem, context, xml ) {
|
1944
|
+
var i = matchers.length;
|
1945
|
+
while ( i-- ) {
|
1946
|
+
if ( !matchers[ i ]( elem, context, xml ) ) {
|
1947
|
+
return false;
|
1948
|
+
}
|
1949
|
+
}
|
1950
|
+
return true;
|
1951
|
+
} :
|
1952
|
+
matchers[ 0 ];
|
1953
|
+
}
|
1954
|
+
|
1955
|
+
function multipleContexts( selector, contexts, results ) {
|
1956
|
+
var i = 0,
|
1957
|
+
len = contexts.length;
|
1958
|
+
for ( ; i < len; i++ ) {
|
1959
|
+
Sizzle( selector, contexts[ i ], results );
|
1960
|
+
}
|
1961
|
+
return results;
|
1962
|
+
}
|
1963
|
+
|
1964
|
+
function condense( unmatched, map, filter, context, xml ) {
|
1965
|
+
var elem,
|
1966
|
+
newUnmatched = [],
|
1967
|
+
i = 0,
|
1968
|
+
len = unmatched.length,
|
1969
|
+
mapped = map != null;
|
1970
|
+
|
1971
|
+
for ( ; i < len; i++ ) {
|
1972
|
+
if ( ( elem = unmatched[ i ] ) ) {
|
1973
|
+
if ( !filter || filter( elem, context, xml ) ) {
|
1974
|
+
newUnmatched.push( elem );
|
1975
|
+
if ( mapped ) {
|
1976
|
+
map.push( i );
|
1977
|
+
}
|
1978
|
+
}
|
1979
|
+
}
|
1980
|
+
}
|
1981
|
+
|
1982
|
+
return newUnmatched;
|
1983
|
+
}
|
1984
|
+
|
1985
|
+
function setMatcher( preFilter, selector, matcher, postFilter, postFinder, postSelector ) {
|
1986
|
+
if ( postFilter && !postFilter[ expando ] ) {
|
1987
|
+
postFilter = setMatcher( postFilter );
|
1988
|
+
}
|
1989
|
+
if ( postFinder && !postFinder[ expando ] ) {
|
1990
|
+
postFinder = setMatcher( postFinder, postSelector );
|
1991
|
+
}
|
1992
|
+
return markFunction( function( seed, results, context, xml ) {
|
1993
|
+
var temp, i, elem,
|
1994
|
+
preMap = [],
|
1995
|
+
postMap = [],
|
1996
|
+
preexisting = results.length,
|
1997
|
+
|
1998
|
+
// Get initial elements from seed or context
|
1999
|
+
elems = seed || multipleContexts(
|
2000
|
+
selector || "*",
|
2001
|
+
context.nodeType ? [ context ] : context,
|
2002
|
+
[]
|
2003
|
+
),
|
2004
|
+
|
2005
|
+
// Prefilter to get matcher input, preserving a map for seed-results synchronization
|
2006
|
+
matcherIn = preFilter && ( seed || !selector ) ?
|
2007
|
+
condense( elems, preMap, preFilter, context, xml ) :
|
2008
|
+
elems,
|
2009
|
+
|
2010
|
+
matcherOut = matcher ?
|
2011
|
+
|
2012
|
+
// If we have a postFinder, or filtered seed, or non-seed postFilter or preexisting results,
|
2013
|
+
postFinder || ( seed ? preFilter : preexisting || postFilter ) ?
|
2014
|
+
|
2015
|
+
// ...intermediate processing is necessary
|
2016
|
+
[] :
|
2017
|
+
|
2018
|
+
// ...otherwise use results directly
|
2019
|
+
results :
|
2020
|
+
matcherIn;
|
2021
|
+
|
2022
|
+
// Find primary matches
|
2023
|
+
if ( matcher ) {
|
2024
|
+
matcher( matcherIn, matcherOut, context, xml );
|
2025
|
+
}
|
2026
|
+
|
2027
|
+
// Apply postFilter
|
2028
|
+
if ( postFilter ) {
|
2029
|
+
temp = condense( matcherOut, postMap );
|
2030
|
+
postFilter( temp, [], context, xml );
|
2031
|
+
|
2032
|
+
// Un-match failing elements by moving them back to matcherIn
|
2033
|
+
i = temp.length;
|
2034
|
+
while ( i-- ) {
|
2035
|
+
if ( ( elem = temp[ i ] ) ) {
|
2036
|
+
matcherOut[ postMap[ i ] ] = !( matcherIn[ postMap[ i ] ] = elem );
|
2037
|
+
}
|
2038
|
+
}
|
2039
|
+
}
|
2040
|
+
|
2041
|
+
if ( seed ) {
|
2042
|
+
if ( postFinder || preFilter ) {
|
2043
|
+
if ( postFinder ) {
|
2044
|
+
|
2045
|
+
// Get the final matcherOut by condensing this intermediate into postFinder contexts
|
2046
|
+
temp = [];
|
2047
|
+
i = matcherOut.length;
|
2048
|
+
while ( i-- ) {
|
2049
|
+
if ( ( elem = matcherOut[ i ] ) ) {
|
2050
|
+
|
2051
|
+
// Restore matcherIn since elem is not yet a final match
|
2052
|
+
temp.push( ( matcherIn[ i ] = elem ) );
|
2053
|
+
}
|
2054
|
+
}
|
2055
|
+
postFinder( null, ( matcherOut = [] ), temp, xml );
|
2056
|
+
}
|
2057
|
+
|
2058
|
+
// Move matched elements from seed to results to keep them synchronized
|
2059
|
+
i = matcherOut.length;
|
2060
|
+
while ( i-- ) {
|
2061
|
+
if ( ( elem = matcherOut[ i ] ) &&
|
2062
|
+
( temp = postFinder ? indexOf( seed, elem ) : preMap[ i ] ) > -1 ) {
|
2063
|
+
|
2064
|
+
seed[ temp ] = !( results[ temp ] = elem );
|
2065
|
+
}
|
2066
|
+
}
|
2067
|
+
}
|
2068
|
+
|
2069
|
+
// Add elements to results, through postFinder if defined
|
2070
|
+
} else {
|
2071
|
+
matcherOut = condense(
|
2072
|
+
matcherOut === results ?
|
2073
|
+
matcherOut.splice( preexisting, matcherOut.length ) :
|
2074
|
+
matcherOut
|
2075
|
+
);
|
2076
|
+
if ( postFinder ) {
|
2077
|
+
postFinder( null, results, matcherOut, xml );
|
2078
|
+
} else {
|
2079
|
+
push.apply( results, matcherOut );
|
2080
|
+
}
|
2081
|
+
}
|
2082
|
+
} );
|
2083
|
+
}
|
2084
|
+
|
2085
|
+
function matcherFromTokens( tokens ) {
|
2086
|
+
var checkContext, matcher, j,
|
2087
|
+
len = tokens.length,
|
2088
|
+
leadingRelative = Expr.relative[ tokens[ 0 ].type ],
|
2089
|
+
implicitRelative = leadingRelative || Expr.relative[ " " ],
|
2090
|
+
i = leadingRelative ? 1 : 0,
|
2091
|
+
|
2092
|
+
// The foundational matcher ensures that elements are reachable from top-level context(s)
|
2093
|
+
matchContext = addCombinator( function( elem ) {
|
2094
|
+
return elem === checkContext;
|
2095
|
+
}, implicitRelative, true ),
|
2096
|
+
matchAnyContext = addCombinator( function( elem ) {
|
2097
|
+
return indexOf( checkContext, elem ) > -1;
|
2098
|
+
}, implicitRelative, true ),
|
2099
|
+
matchers = [ function( elem, context, xml ) {
|
2100
|
+
var ret = ( !leadingRelative && ( xml || context !== outermostContext ) ) || (
|
2101
|
+
( checkContext = context ).nodeType ?
|
2102
|
+
matchContext( elem, context, xml ) :
|
2103
|
+
matchAnyContext( elem, context, xml ) );
|
2104
|
+
|
2105
|
+
// Avoid hanging onto element (issue #299)
|
2106
|
+
checkContext = null;
|
2107
|
+
return ret;
|
2108
|
+
} ];
|
2109
|
+
|
2110
|
+
for ( ; i < len; i++ ) {
|
2111
|
+
if ( ( matcher = Expr.relative[ tokens[ i ].type ] ) ) {
|
2112
|
+
matchers = [ addCombinator( elementMatcher( matchers ), matcher ) ];
|
2113
|
+
} else {
|
2114
|
+
matcher = Expr.filter[ tokens[ i ].type ].apply( null, tokens[ i ].matches );
|
2115
|
+
|
2116
|
+
// Return special upon seeing a positional matcher
|
2117
|
+
if ( matcher[ expando ] ) {
|
2118
|
+
|
2119
|
+
// Find the next relative operator (if any) for proper handling
|
2120
|
+
j = ++i;
|
2121
|
+
for ( ; j < len; j++ ) {
|
2122
|
+
if ( Expr.relative[ tokens[ j ].type ] ) {
|
2123
|
+
break;
|
2124
|
+
}
|
2125
|
+
}
|
2126
|
+
return setMatcher(
|
2127
|
+
i > 1 && elementMatcher( matchers ),
|
2128
|
+
i > 1 && toSelector(
|
2129
|
+
|
2130
|
+
// If the preceding token was a descendant combinator, insert an implicit any-element `*`
|
2131
|
+
tokens
|
2132
|
+
.slice( 0, i - 1 )
|
2133
|
+
.concat( { value: tokens[ i - 2 ].type === " " ? "*" : "" } )
|
2134
|
+
).replace( rtrim, "$1" ),
|
2135
|
+
matcher,
|
2136
|
+
i < j && matcherFromTokens( tokens.slice( i, j ) ),
|
2137
|
+
j < len && matcherFromTokens( ( tokens = tokens.slice( j ) ) ),
|
2138
|
+
j < len && toSelector( tokens )
|
2139
|
+
);
|
2140
|
+
}
|
2141
|
+
matchers.push( matcher );
|
2142
|
+
}
|
2143
|
+
}
|
2144
|
+
|
2145
|
+
return elementMatcher( matchers );
|
2146
|
+
}
|
2147
|
+
|
2148
|
+
function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
|
2149
|
+
var bySet = setMatchers.length > 0,
|
2150
|
+
byElement = elementMatchers.length > 0,
|
2151
|
+
superMatcher = function( seed, context, xml, results, outermost ) {
|
2152
|
+
var elem, j, matcher,
|
2153
|
+
matchedCount = 0,
|
2154
|
+
i = "0",
|
2155
|
+
unmatched = seed && [],
|
2156
|
+
setMatched = [],
|
2157
|
+
contextBackup = outermostContext,
|
2158
|
+
|
2159
|
+
// We must always have either seed elements or outermost context
|
2160
|
+
elems = seed || byElement && Expr.find[ "TAG" ]( "*", outermost ),
|
2161
|
+
|
2162
|
+
// Use integer dirruns iff this is the outermost matcher
|
2163
|
+
dirrunsUnique = ( dirruns += contextBackup == null ? 1 : Math.random() || 0.1 ),
|
2164
|
+
len = elems.length;
|
2165
|
+
|
2166
|
+
if ( outermost ) {
|
2167
|
+
|
2168
|
+
// Support: IE 11+, Edge 17 - 18+
|
2169
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
2170
|
+
// two documents; shallow comparisons work.
|
2171
|
+
// eslint-disable-next-line eqeqeq
|
2172
|
+
outermostContext = context == document || context || outermost;
|
2173
|
+
}
|
2174
|
+
|
2175
|
+
// Add elements passing elementMatchers directly to results
|
2176
|
+
// Support: IE<9, Safari
|
2177
|
+
// Tolerate NodeList properties (IE: "length"; Safari: <number>) matching elements by id
|
2178
|
+
for ( ; i !== len && ( elem = elems[ i ] ) != null; i++ ) {
|
2179
|
+
if ( byElement && elem ) {
|
2180
|
+
j = 0;
|
2181
|
+
|
2182
|
+
// Support: IE 11+, Edge 17 - 18+
|
2183
|
+
// IE/Edge sometimes throw a "Permission denied" error when strict-comparing
|
2184
|
+
// two documents; shallow comparisons work.
|
2185
|
+
// eslint-disable-next-line eqeqeq
|
2186
|
+
if ( !context && elem.ownerDocument != document ) {
|
2187
|
+
setDocument( elem );
|
2188
|
+
xml = !documentIsHTML;
|
2189
|
+
}
|
2190
|
+
while ( ( matcher = elementMatchers[ j++ ] ) ) {
|
2191
|
+
if ( matcher( elem, context || document, xml ) ) {
|
2192
|
+
results.push( elem );
|
2193
|
+
break;
|
2194
|
+
}
|
2195
|
+
}
|
2196
|
+
if ( outermost ) {
|
2197
|
+
dirruns = dirrunsUnique;
|
2198
|
+
}
|
2199
|
+
}
|
2200
|
+
|
2201
|
+
// Track unmatched elements for set filters
|
2202
|
+
if ( bySet ) {
|
2203
|
+
|
2204
|
+
// They will have gone through all possible matchers
|
2205
|
+
if ( ( elem = !matcher && elem ) ) {
|
2206
|
+
matchedCount--;
|
2207
|
+
}
|
2208
|
+
|
2209
|
+
// Lengthen the array for every element, matched or not
|
2210
|
+
if ( seed ) {
|
2211
|
+
unmatched.push( elem );
|
2212
|
+
}
|
2213
|
+
}
|
2214
|
+
}
|
2215
|
+
|
2216
|
+
// `i` is now the count of elements visited above, and adding it to `matchedCount`
|
2217
|
+
// makes the latter nonnegative.
|
2218
|
+
matchedCount += i;
|
2219
|
+
|
2220
|
+
// Apply set filters to unmatched elements
|
2221
|
+
// NOTE: This can be skipped if there are no unmatched elements (i.e., `matchedCount`
|
2222
|
+
// equals `i`), unless we didn't visit _any_ elements in the above loop because we have
|
2223
|
+
// no element matchers and no seed.
|
2224
|
+
// Incrementing an initially-string "0" `i` allows `i` to remain a string only in that
|
2225
|
+
// case, which will result in a "00" `matchedCount` that differs from `i` but is also
|
2226
|
+
// numerically zero.
|
2227
|
+
if ( bySet && i !== matchedCount ) {
|
2228
|
+
j = 0;
|
2229
|
+
while ( ( matcher = setMatchers[ j++ ] ) ) {
|
2230
|
+
matcher( unmatched, setMatched, context, xml );
|
2231
|
+
}
|
2232
|
+
|
2233
|
+
if ( seed ) {
|
2234
|
+
|
2235
|
+
// Reintegrate element matches to eliminate the need for sorting
|
2236
|
+
if ( matchedCount > 0 ) {
|
2237
|
+
while ( i-- ) {
|
2238
|
+
if ( !( unmatched[ i ] || setMatched[ i ] ) ) {
|
2239
|
+
setMatched[ i ] = pop.call( results );
|
2240
|
+
}
|
2241
|
+
}
|
2242
|
+
}
|
2243
|
+
|
2244
|
+
// Discard index placeholder values to get only actual matches
|
2245
|
+
setMatched = condense( setMatched );
|
2246
|
+
}
|
2247
|
+
|
2248
|
+
// Add matches to results
|
2249
|
+
push.apply( results, setMatched );
|
2250
|
+
|
2251
|
+
// Seedless set matches succeeding multiple successful matchers stipulate sorting
|
2252
|
+
if ( outermost && !seed && setMatched.length > 0 &&
|
2253
|
+
( matchedCount + setMatchers.length ) > 1 ) {
|
2254
|
+
|
2255
|
+
Sizzle.uniqueSort( results );
|
2256
|
+
}
|
2257
|
+
}
|
2258
|
+
|
2259
|
+
// Override manipulation of globals by nested matchers
|
2260
|
+
if ( outermost ) {
|
2261
|
+
dirruns = dirrunsUnique;
|
2262
|
+
outermostContext = contextBackup;
|
2263
|
+
}
|
2264
|
+
|
2265
|
+
return unmatched;
|
2266
|
+
};
|
2267
|
+
|
2268
|
+
return bySet ?
|
2269
|
+
markFunction( superMatcher ) :
|
2270
|
+
superMatcher;
|
2271
|
+
}
|
2272
|
+
|
2273
|
+
compile = Sizzle.compile = function( selector, match /* Internal Use Only */ ) {
|
2274
|
+
var i,
|
2275
|
+
setMatchers = [],
|
2276
|
+
elementMatchers = [],
|
2277
|
+
cached = compilerCache[ selector + " " ];
|
2278
|
+
|
2279
|
+
if ( !cached ) {
|
2280
|
+
|
2281
|
+
// Generate a function of recursive functions that can be used to check each element
|
2282
|
+
if ( !match ) {
|
2283
|
+
match = tokenize( selector );
|
2284
|
+
}
|
2285
|
+
i = match.length;
|
2286
|
+
while ( i-- ) {
|
2287
|
+
cached = matcherFromTokens( match[ i ] );
|
2288
|
+
if ( cached[ expando ] ) {
|
2289
|
+
setMatchers.push( cached );
|
2290
|
+
} else {
|
2291
|
+
elementMatchers.push( cached );
|
2292
|
+
}
|
2293
|
+
}
|
2294
|
+
|
2295
|
+
// Cache the compiled function
|
2296
|
+
cached = compilerCache(
|
2297
|
+
selector,
|
2298
|
+
matcherFromGroupMatchers( elementMatchers, setMatchers )
|
2299
|
+
);
|
2300
|
+
|
2301
|
+
// Save selector and tokenization
|
2302
|
+
cached.selector = selector;
|
2303
|
+
}
|
2304
|
+
return cached;
|
2305
|
+
};
|
2306
|
+
|
2307
|
+
/**
|
2308
|
+
* A low-level selection function that works with Sizzle's compiled
|
2309
|
+
* selector functions
|
2310
|
+
* @param {String|Function} selector A selector or a pre-compiled
|
2311
|
+
* selector function built with Sizzle.compile
|
2312
|
+
* @param {Element} context
|
2313
|
+
* @param {Array} [results]
|
2314
|
+
* @param {Array} [seed] A set of elements to match against
|
2315
|
+
*/
|
2316
|
+
select = Sizzle.select = function( selector, context, results, seed ) {
|
2317
|
+
var i, tokens, token, type, find,
|
2318
|
+
compiled = typeof selector === "function" && selector,
|
2319
|
+
match = !seed && tokenize( ( selector = compiled.selector || selector ) );
|
2320
|
+
|
2321
|
+
results = results || [];
|
2322
|
+
|
2323
|
+
// Try to minimize operations if there is only one selector in the list and no seed
|
2324
|
+
// (the latter of which guarantees us context)
|
2325
|
+
if ( match.length === 1 ) {
|
2326
|
+
|
2327
|
+
// Reduce context if the leading compound selector is an ID
|
2328
|
+
tokens = match[ 0 ] = match[ 0 ].slice( 0 );
|
2329
|
+
if ( tokens.length > 2 && ( token = tokens[ 0 ] ).type === "ID" &&
|
2330
|
+
context.nodeType === 9 && documentIsHTML && Expr.relative[ tokens[ 1 ].type ] ) {
|
2331
|
+
|
2332
|
+
context = ( Expr.find[ "ID" ]( token.matches[ 0 ]
|
2333
|
+
.replace( runescape, funescape ), context ) || [] )[ 0 ];
|
2334
|
+
if ( !context ) {
|
2335
|
+
return results;
|
2336
|
+
|
2337
|
+
// Precompiled matchers will still verify ancestry, so step up a level
|
2338
|
+
} else if ( compiled ) {
|
2339
|
+
context = context.parentNode;
|
2340
|
+
}
|
2341
|
+
|
2342
|
+
selector = selector.slice( tokens.shift().value.length );
|
2343
|
+
}
|
2344
|
+
|
2345
|
+
// Fetch a seed set for right-to-left matching
|
2346
|
+
i = matchExpr[ "needsContext" ].test( selector ) ? 0 : tokens.length;
|
2347
|
+
while ( i-- ) {
|
2348
|
+
token = tokens[ i ];
|
2349
|
+
|
2350
|
+
// Abort if we hit a combinator
|
2351
|
+
if ( Expr.relative[ ( type = token.type ) ] ) {
|
2352
|
+
break;
|
2353
|
+
}
|
2354
|
+
if ( ( find = Expr.find[ type ] ) ) {
|
2355
|
+
|
2356
|
+
// Search, expanding context for leading sibling combinators
|
2357
|
+
if ( ( seed = find(
|
2358
|
+
token.matches[ 0 ].replace( runescape, funescape ),
|
2359
|
+
rsibling.test( tokens[ 0 ].type ) && testContext( context.parentNode ) ||
|
2360
|
+
context
|
2361
|
+
) ) ) {
|
2362
|
+
|
2363
|
+
// If seed is empty or no tokens remain, we can return early
|
2364
|
+
tokens.splice( i, 1 );
|
2365
|
+
selector = seed.length && toSelector( tokens );
|
2366
|
+
if ( !selector ) {
|
2367
|
+
push.apply( results, seed );
|
2368
|
+
return results;
|
2369
|
+
}
|
2370
|
+
|
2371
|
+
break;
|
2372
|
+
}
|
2373
|
+
}
|
2374
|
+
}
|
2375
|
+
}
|
2376
|
+
|
2377
|
+
// Compile and execute a filtering function if one is not provided
|
2378
|
+
// Provide `match` to avoid retokenization if we modified the selector above
|
2379
|
+
( compiled || compile( selector, match ) )(
|
2380
|
+
seed,
|
2381
|
+
context,
|
2382
|
+
!documentIsHTML,
|
2383
|
+
results,
|
2384
|
+
!context || rsibling.test( selector ) && testContext( context.parentNode ) || context
|
2385
|
+
);
|
2386
|
+
return results;
|
2387
|
+
};
|
2388
|
+
|
2389
|
+
// One-time assignments
|
2390
|
+
|
2391
|
+
// Sort stability
|
2392
|
+
support.sortStable = expando.split( "" ).sort( sortOrder ).join( "" ) === expando;
|
2393
|
+
|
2394
|
+
// Support: Chrome 14-35+
|
2395
|
+
// Always assume duplicates if they aren't passed to the comparison function
|
2396
|
+
support.detectDuplicates = !!hasDuplicate;
|
2397
|
+
|
2398
|
+
// Initialize against the default document
|
2399
|
+
setDocument();
|
2400
|
+
|
2401
|
+
// Support: Webkit<537.32 - Safari 6.0.3/Chrome 25 (fixed in Chrome 27)
|
2402
|
+
// Detached nodes confoundingly follow *each other*
|
2403
|
+
support.sortDetached = assert( function( el ) {
|
2404
|
+
|
2405
|
+
// Should return 1, but returns 4 (following)
|
2406
|
+
return el.compareDocumentPosition( document.createElement( "fieldset" ) ) & 1;
|
2407
|
+
} );
|
2408
|
+
|
2409
|
+
// Support: IE<8
|
2410
|
+
// Prevent attribute/property "interpolation"
|
2411
|
+
// https://msdn.microsoft.com/en-us/library/ms536429%28VS.85%29.aspx
|
2412
|
+
if ( !assert( function( el ) {
|
2413
|
+
el.innerHTML = "<a href='#'></a>";
|
2414
|
+
return el.firstChild.getAttribute( "href" ) === "#";
|
2415
|
+
} ) ) {
|
2416
|
+
addHandle( "type|href|height|width", function( elem, name, isXML ) {
|
2417
|
+
if ( !isXML ) {
|
2418
|
+
return elem.getAttribute( name, name.toLowerCase() === "type" ? 1 : 2 );
|
2419
|
+
}
|
2420
|
+
} );
|
2421
|
+
}
|
2422
|
+
|
2423
|
+
// Support: IE<9
|
2424
|
+
// Use defaultValue in place of getAttribute("value")
|
2425
|
+
if ( !support.attributes || !assert( function( el ) {
|
2426
|
+
el.innerHTML = "<input/>";
|
2427
|
+
el.firstChild.setAttribute( "value", "" );
|
2428
|
+
return el.firstChild.getAttribute( "value" ) === "";
|
2429
|
+
} ) ) {
|
2430
|
+
addHandle( "value", function( elem, _name, isXML ) {
|
2431
|
+
if ( !isXML && elem.nodeName.toLowerCase() === "input" ) {
|
2432
|
+
return elem.defaultValue;
|
2433
|
+
}
|
2434
|
+
} );
|
2435
|
+
}
|
2436
|
+
|
2437
|
+
// Support: IE<9
|
2438
|
+
// Use getAttributeNode to fetch booleans when getAttribute lies
|
2439
|
+
if ( !assert( function( el ) {
|
2440
|
+
return el.getAttribute( "disabled" ) == null;
|
2441
|
+
} ) ) {
|
2442
|
+
addHandle( booleans, function( elem, name, isXML ) {
|
2443
|
+
var val;
|
2444
|
+
if ( !isXML ) {
|
2445
|
+
return elem[ name ] === true ? name.toLowerCase() :
|
2446
|
+
( val = elem.getAttributeNode( name ) ) && val.specified ?
|
2447
|
+
val.value :
|
2448
|
+
null;
|
2449
|
+
}
|
2450
|
+
} );
|
2451
|
+
}
|
2452
|
+
|
2453
|
+
// EXPOSE
|
2454
|
+
var _sizzle = window.Sizzle;
|
2455
|
+
|
2456
|
+
Sizzle.noConflict = function() {
|
2457
|
+
if ( window.Sizzle === Sizzle ) {
|
2458
|
+
window.Sizzle = _sizzle;
|
2459
|
+
}
|
2460
|
+
|
2461
|
+
return Sizzle;
|
2462
|
+
};
|
2463
|
+
|
2464
|
+
if ( typeof define === "function" && define.amd ) {
|
2465
|
+
define( function() {
|
2466
|
+
return Sizzle;
|
2467
|
+
} );
|
2468
|
+
|
2469
|
+
// Sizzle requires that there be a global window in Common-JS like environments
|
2470
|
+
} else if ( typeof module !== "undefined" && module.exports ) {
|
2471
|
+
module.exports = Sizzle;
|
2472
|
+
} else {
|
2473
|
+
window.Sizzle = Sizzle;
|
2474
|
+
}
|
2475
|
+
|
2476
|
+
// EXPOSE
|
2477
|
+
|
2478
|
+
} )( window );
|